c – 将失真/变换图像与基本图像匹配的最快且最准确的方法?

我试图通过不同质量和失真的扫描仪(或可能是手机相机)拍摄图像,并将其与基本图像(通过photoshop生成的图像,在打印和扫描之前)重新对齐尽可能接近.

图像在每个角上都有四个粗角点,我一直用原始方法找到四个点,然后在扫描图像上使用透视变换.但是,我的算法是完全暴力和高度易碎的.

我已经尝试过使用cvGoodFeaturesToTrack(),但是我无法想出一种准确的方法来确保校准的四个点在所有情况下都是准确的.我曾想过使用模板匹配,但似乎它不会在各种扭曲下可靠地工作.我看到很多方法来完成特定任务,比如找到轮廓,关键点,线条等,但没有迹象表明它们实际上做了什么.

有没有更好的方式,我只是没有看到?

谢谢!

解决方法

经典方法是二值化和斑点分析:找到比阈值更暗的像素,并在它们触摸时对它们进行分组(连通分量分析).保持具有点形状(良好圆形度)和区域在预期范围内的组.使用重心.这对于您的参考点应该足够准确.

由于图像中附近的特征,您可能希望减少角点的错误检测.更好区分的选项是使用环而不是磁盘并查找带孔的blob.

相关文章

一.C语言中的static关键字 在C语言中,static可以用来修饰局...
浅谈C/C++中的指针和数组(二) 前面已经讨论了指针...
浅谈C/C++中的指针和数组(一)指针是C/C++...
从两个例子分析C语言的声明 在读《C专家编程》一书的第三章时...
C语言文件操作解析(一)在讨论C语言文件操作之前,先了解一下...
C语言文件操作解析(三) 在前面已经讨论了文件打开操作,下面...