【发布时间】:2021-11-17 13:04:01
【问题描述】:
假设我想在两个图像之间执行关联。我知道有一个函数 normxcorr2 可以用来像这样找到两个图像(img1,img2)之间的相关性
C = normxcorr2(img1, img2)
但是我可以使用 imfilter 找到相关性吗?此命令是否执行关联?
corr = imfilter(img1, img2, 'corr','replicate');
当我运行 imfilter 命令并使用 imshow() 命令输出结果图像时,我可以看到它与我使用 normxcorr2 命令输出结果图像时得到的不同。通过 normxcorr2 生成的图像看起来更多就像我对两张图像的相关性所期望的一样。这两种方法有什么区别?
【问题讨论】:
-
不,不要把它们混在一起。 imfilter 中的选项与如何应用内核进行过滤有关。另外,我不确定您在做什么,但在一般文献中,当您计算 2 个图像之间的相关性时,输出是 1 个标量,而不是图像。它的
corrcoef()你通常想要的 -
我正在处理一个家庭作业问题,要求我计算两个图像之间的相关性,然后显示一个显示相关性的图形。另外,我必须找到最大相关的坐标。所以,我想正确的方法是使用 normxcorr2,对吧? @AnderBiguri
-
我不知道,因为我不是你的老师,但是是的,可能是的,如果你的图像与文档中的图像相似(即你试图在另一个图像中查找图像)。但这在技术上是准确的:)。
-
它们是完全不同的图像(比如斑马和男人)。我对 imfilter 和 normxcorr2 感到困惑,但现在你消除了我对 imfilter 的疑问。这个问题甚至没有提到互相关。它只是要求计算两个图像之间的相关性。 @AnderBiguri
-
我不是你的老师,所以我无法回答,但如果它要求你显示一个数字,那一定是互相关。否则答案只是 1 值,你一般不会做出 1 值的数字
标签: matlab image-processing correlation