Hough变换与轮廓检测相结合的透视投影矩形识别
image-processing
opencv
5
0

我在轮廓检测中使用了矩形检测,并在调整透视投影之前使用OpenCv应用了多边形以获取矩形的位置。而且效果很好。但是我们小组中的一些人却建议使用霍夫变换。我想知道使用Hough变换进行矩形检测是否有任何优势。

更新:我尝试了两种方法。在我的示例中,Canny边缘检测后,这两种方法均能正常工作。但是,由于霍夫变换产生线,因此我们必须假设一些事情,例如线的长度和线的可连接性,并且应该进行其他计算,例如搜索连接的线并从连接的线中找到拐角点。我个人更喜欢轮廓法,因为它的概念更简单。使用该方法,您只需要搜索具有4个角的封闭和凸多边形的近似轮廓,并调整其透视投影的多边形即可。就是这样

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

到目前为止,轮廓检测得到什么样的结果?有任何例子吗?

对于矩形检测IFF,霍夫变换应该可以很好地工作,您可以假定矩形的边是图像中最突出的线。然后,您只需检测霍夫空间中的4个最大峰,就可以得到矩形。

例如,这可用于一张白色纸在深色背景前的照片。

理想情况下,您可以在霍夫变换之前使用模糊,阈值,形态学运算符对图像进行预处理,以去除所有小规模结构。

如果图像中有多个较小的矩形或其他类型的突出线,则轮廓检测可能是更好的选择。

hough的一些一般优势从我的头上转变了:

  • 如果部分矩形被遮挡或超出框架,则Hough变换仍然可以工作。
  • 我猜霍夫变换应该比轮廓检测更快。
  • 霍夫变换将忽略任何不是直线的东西,因此在杂乱的图像上可能会获得更大的成功。 (如果矩形边是最突出的线)

最后,它可能取决于输入数据。有任何例子吗?

也许综合的方法是最好的?参见结合霍夫变换和轮廓算法来检测车辆牌照

我做过一些使用霍夫变换检测矩形的实验,您可以在这里看到一些初步结果: http : //www.imagemagick.org/discourse-server/viewtopic.php? f=1&t=14491&start =9

不幸的是,这就是目前存在的一切,该项目目前处于中断状态,最终我希望在我不那么忙的时候恢复它。

我会对您的比较结果非常感兴趣。

(如果要进行透视校正,则还要检查透视变形矩形的比例

收藏
评论

用霍夫变换搜索轮廓检测使我想到了这一点。

为了帮助将来的搜索者,此博客文章提供了一个很好的演练,可以使用opencv做到这一点:
http://opencv-code.com/tutorials/automatic-perspective-correction-for-quadrilateral-objects/

这个概念:
1.获取边缘图-canny,sobel
2.使用霍夫变换检测线
3.通过找到直线之间的交点来获得拐角。
4.使用reportPolyDP检查近似多边形曲线是否有4个顶点
5.确定左上角,左下角,右上角和右下角。
6.使用getPerspectiveTransform应用透视变换以获取变换矩阵,并使用warpPerspective应用变换。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号