rm *_*ash 5 c++ opencv image-processing computer-vision
我正在尝试通过质量和扭曲度不同的扫描仪(或可能是移动电话相机)拍摄的图像,然后将其与基本图像(在打印和扫描之前通过photoshop生成的图像)重新对齐。尽可能接近。
图像在每个角上都有四个粗的角点,我一直在使用原始方法来找到四个角,然后对扫描的图像使用透视变换。但是,我的算法完全是蛮力的,非常容易破解。
我尝试使用cvGoodFeaturesToTrack(),但是我无法提出一种准确的方法来确保在所有情况下校准的四个点都是准确的。我曾经考虑过使用模板匹配,但是看起来它在各种变形下都无法可靠地工作。我看到许多方法可以执行特定任务,例如查找轮廓,关键点,直线等,但没有迹象表明它们实际上在做什么。
有没有我看不到的更好的方法?
谢谢!
小智 3
经典方法是二值化和斑点分析:找到比阈值暗的像素,并在它们接触时将它们分组(连通分量分析)。使点形状(良好的圆形度)和面积保持在预期范围内的组。使用重心。这对于您的参考点来说应该足够准确。
由于图像中存在附近的特征,您可能希望减少对角点的错误检测。更好区分的一个选择是使用环而不是圆盘并寻找带有孔的斑点。