当前位置: 首页 > 知识库问答 >
问题:

使用opencv的图像视网膜日志极性采样

鄢承运
2023-03-14

在我的项目中,我需要对图像应用对数极坐标变换。我发现OpenCV中有一个类叫做:

cv::LogPolar\u Interp和cv::LogPolar\u Nextant()用于此目的。

我使用了它的参数,但没有得到想要的结果。

这是我的尝试:

    cv::LogPolar_Interp *LogPolar=new cv::LogPolar_Interp(inputFrame.cols,inputFrame.rows,cv::Point2i(inputFrame.cols/2,inputFrame.rows/2),120,20,CV_INTER_LINEAR, 1,117,1);

    logPolar_out=LogPolar->to_cartesian(inputFrame);

有人知道我怎么才能得到这个吗。谢谢

共有1个答案

宫晟
2023-03-14

您应该首先将输入图像映射到皮质坐标,然后将其重新映射到笛卡尔坐标。如果要利用相邻贴图,还必须将图像转换为灰度。

通过将代码更改为以下代码,您可能会得到所需的内容。

    cv::cvtColor(inputFrame,inputFrame,CV_BGR2GRAY);

    cv::LogPolar_Adjacent *logP=new cv::LogPolar_Adjacent(inputFrame.cols,inputFrame.rows,cv::Point2i(inputFrame.cols/2,inputFrame.rows/2));

    logPolar_out=logP->to_cortical(inputFrame);
    logPolar_out=logP->to_cartesian(logPolar_out);
    cv::imshow("Log Polar output",logPolar_out);
    cv::imshow("Log Polar input",inputFrame);
 类似资料:
  • 问题内容: 现在,我正在Xcode 6中使用spritekit(swift)制作游戏。 它必须可在iPhone 4s及更高版本上播放。但据我所知,所有iPhone都来自4s和更高的Retina,所以我可以添加(750 x 1334像素)和@ 2x.png的所有图像。 因此,我不需要添加没有@ 2x的图像。 我对么? 问题答案: 示例:如果您具有512 x 512(1x)图像,并且希望它支持(2x和

  • 问题内容: 我有这个雕像的形象。 我正在尝试找到雕像上最顶部,最底部,最左侧和最右侧的点。有没有一种方法可以测量每边的边缘以确定雕像上最外面的点?我想得到双方的坐标。我试图使用并获得雕像的轮廓。 问题答案: 这是一种潜在的方法: 将图像转换为灰度和高斯模糊 获取二进制图像的阈值 查找轮廓 获取外部坐标 转换为灰度并模糊图像后,我们阈值以获取二进制图像 现在我们使用找到轮廓。由于OpenCV使用Nu

  • 我想把我的混合应用程序的一些截图itunes自动连接。我正在运行Ubuntu 14.04. chromeDrive2.15.322448 使用Selenium和Xvfb自动截图很容易。但是要得到视网膜截图并不容易。 我用更高的dpi启动了我的Xvfb: 当我检查显示信息时,一切似乎都是正确的: 然后我像这样启动我的chromedriver 在完成了一些其他无聊的代码后,我截图: 这不工作。屏幕截图

  • 问题内容: 我正在尝试将一张图片与其他图片列表进行比较,并返回该列表中具有最高70%相似度的图片(例如Google搜索图片)。 我在这篇文章中获得了这段代码,并根据自己的情况进行了更改 我的问题是,如何将图像与图像列表进行比较并仅获得相似图像?有什么方法可以做到这一点? 问题答案: 我建议您看一下图像之间推土机的距离(EMD)。该度量给人一种将标准化的灰度图像转换成另一幅图像有多难的感觉,但可以将

  • 大家好,我对进度条有问题。我试着做一个画廊视图,所有的图像都显示在网格视图中。但问题是,当所有的图像都被加载时,进度条并没有消失,请检查我使用旋转加载作为进度条的代码 已更新 这是xml 请解决这个问题。

  • 欢迎阅读系列教程,内容涵盖 OpenCV,它是一个图像和视频处理库,包含 C ++,C,Python 和 Java 的绑定。 OpenCV 用于各种图像和视频分析,如面部识别和检测,车牌阅读,照片编辑,高级机器人视觉,光学字符识别等等。