我花了一些晚上来修补OpenCV。我正在做一个小项目,该项目会对页面中的内容进行一些分析。我想先进行页面的透视转换,以使其与整个屏幕对齐并适合整个屏幕。但是,我不能说人们会把纸张放在不同颜色的背景上,或者靠得足够长以适合整个页面边界。
因此,我想到了在页面的相对角上添加标记以进行跟踪,获取其位置并对其进行变形的方法。这是我要检测的角标记的示例图像:
最好的方法是什么?我主要是在寻找可以为我指明正确方向的人。
最佳答案
好主意!正如其他人指出的那样,仅两点是不够的,但是您的标记定义了四条线,这些线就足够了。
如果您可以可靠地检测到形成标记的线段上的边缘,则可以将线拟合到它们上,然后直接计算线单应性(然后对其进行反转置以将其转换为点单应性),或成对相交得到四个独立的角,然后在它们上计算点单应性
可能需要进行一些实验才能可靠地检测出您的标记。您可能要考虑使用模板匹配。
https://stackoverflow.com/questions/27432717/
相关文章:
opencv - BackgroundSubtractorMOG2 阴影检测在阳光充足的场景中不起作
python - 如何在python中使用opencv在图像上显示轴
matlab - 如何在 OpenCV 中进行网格插值 interp2
python - 使用 Python 和 Matplotlib 将立体图像和深度图转换为 3D 散点
opencv - 填充轮廓时,drawContours函数在OpenCV中如何工作?
python - Spatstat:给定二维点列表,如何将它们连接到多边形中,并进一步使其成为研究区