【发布时间】:2016-02-06 23:23:33
【问题描述】:
我一直在研究 opencv squares 样本的变体来检测矩形。它适用于封闭的矩形,但我想知道我可以采取什么方法来检测有开口的矩形,即缺少角,线太短。
我执行了一些膨胀,这会缩小小间隙,但不会关闭这些较大的间隙。
我曾考虑使用凸包或边界矩形来生成轮廓以进行比较,但由于矩形的边缘是断开的,因此每个边缘都将被视为单独的轮廓。
我认为第一步是检测哪些线是形成完整矩形的候选线,然后执行某种线外推。这是seems promising,但我的矩形边缘不会完全水平或垂直放置。
我正在尝试检测这张图片中最左边的三个矩形:
【问题讨论】:
-
这是两个问题: 1. 检测不是完美线条的线段。 2. 组线段可能以矩形结束。
-
您对检测不完美线段有什么建议吗?我试过 HoughLines/HoughLinesP 似乎不起作用,我认为它们的目标是更完美的线条。我目前的思路是分析点的轮廓和某种面积与弧长的比率,以猜测它是矩形的哪个“部分”
-
对于轮廓,您可以尝试 PCA。但是对于连接的矩形角部分它会失败......我喜欢 RANSAC 方法,但你必须自己实现它。
-
谢谢,我会以这些为起点(:
标签: opencv shape detection rectangles vision