图像处理:如何让图像在频域上实现模板匹配 80C

今天阅读了一篇论文,里面提到的内容是用固定的模板对现实场景进行匹配,通过匹配得到的结果可以得知待匹配图像与模板的角度差别,论文中提到了把待匹配的图像转换到频域进行,个人不是很理解。假设已经提取了一个角点,如何把这个角点利用傅里叶变换转换到360维的向量?角点提取后,是否还需要扣取一个正方形的小图?

例如:下方是一个模板图像,黑色部分描述了这个图像的角度是90度,这样我们可以假设模板是一个一维向量,向量的长度是360,每一维都代表了图像强度(黑色部分是0,白色部分是1)。

图片说明

下方就是带匹配的一个小图,如果匹配成功,就可以知道待匹配图像与模板图像相差了多少角度。论文中提到的就是将这个小图变换到频域上,分辨率是1度,这样就也变成了一个360度的向量,然后通过归一化互相关(NCC)的方法,一度一度的平移就可以获取匹配位置,从而可以计算与模板图像的旋转。

图片说明

有劳各位图像处理的达人赐教,如何操作才能把一个矩形的图像变换为频域上的一个向量呢?

非常感谢解惑。

1个回答

二值化处理角点向量,归一化强度、通过NCC算法可以匹配出来特征点,最终通过“NCC算法”计算强度剖面与直方图,注意a图小圆背后是一个灰度图的一个角点,a的处理就是提到的分辨率1度来转换为向量,由a归一化为b,b通过NCC算法转换为c

参考:归一化强度实现方法(java)
https://blog.csdn.net/as472780551/article/details/83860483

图片说明

NCC算法介绍与实现

https://blog.csdn.net/jia20003/article/details/53021614

如果借助opencv开源库去实现,支持的算法也很多,包括SSD(sum of squared differences)、NCC(normalized cross-correlation)、ASW(Adaptive Support Weight)

相关可以了解一下,希望对你有帮助。

【附】
图像归一化算法简介
https://blog.csdn.net/unilvision/article/details/8624606

sebastien8486
sebastien8486 回复franzhong: 您好,感谢您的回复,我按照您说的网上查了很多关于图像矩的内容,但是还是摸不到思路。因为像您说的:这个匹配问题是我们已知模板,可以直接得到一个360维度的向量(90个值是0剩余270个值都置1),但是待匹配的我们只有一个角点,然后我会手动给出一个以角点为中心的半径,到底这个关于这个角点和半径周围的区域如何也能编程360维的向量,我还是不清楚。您能解释的再详细些吗,我真是非常急,周一要搞出来。或者您方便加我一个微信 186 1281 0102,再次感谢您的赐教。
7 个月之前 回复
franzhong
franzhong 回复sebastien8486:半径与向量是两个必须的要素, 变换方式根据效果,矩变换归一有线性非线性,实现按论文中说的处理为两个向量及半径,基于矩的图像归一化有坐标中心化、x-shearing 归一化、缩放归一化和旋转归一化等步骤,不是拿到一个数据傅立叶变换一下就是归一的意思,傅立叶是滤波的,归一实现要分步骤与过程,按积分公式来,其实就是数据转换,我建议你按网上的例子自已试试看看效果
7 个月之前 回复
sebastien8486
sebastien8486 您的解释中提到的,到底如何将a归一化维b的呢?我就是不太明白这个变换过程。
7 个月之前 回复
sebastien8486
sebastien8486 非常感谢您的评论,但是您能解释一下,假如我提取到了一个角点如图a,怎么变换成360维的向量,文章中仅仅说了是利用傅里叶变换。另外这个角点是否需要先按照设定的半径,扣取一个矩形小图再用傅里叶变换?您能解释的具体点吗? 再次感谢您的解答。
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问