如何获得跟踪图像的角?

问题描述

我正在尝试使用边缘检测来找到扫描纸的4个角,因此我可以将其裁剪掉。这是我拥有的代码,但是无法正确检测到这些点。我正在尝试没有OpenCV的情况。

pay rent

因此,此代码的作用是查找潜在的拐角并将其标记为红色,然后将其添加到哈希图中,这在获取潜在的拐角方面非常准确。从那里,我尝试制作另一个存储2个角的哈希图。这是代码无法正常工作的地方,我确定这是我的逻辑导致的错误,但是我不确定如何从此处继续。

下面是图片

enter image description here

解决方法

低精度解决方案:

考虑轮廓所形成的斑点并扫描其像素(轮廓像素可以做到)。对于每个像素,计算X + Y和X-Y的值,并跟踪产生这些数量的最小值和最大值的像素。这是四个角落。可能是轮廓被分割成几块,使用所有块的像素就足够了。

高精度解决方案:

使用上述方法,粗略地找到角,然后绘制两个对角线。然后将像素分类为属于这些对角线定义的象限之一。由于不确定其分类,建议丢弃靠近拐角的像素。

最后,使用您最喜欢的直线拟合方法,将直线拟合在四个点子集上。

enter image description here