我一直在研究opencv square样本的变体来检测矩形。它对于闭合的矩形工作正常,但我想知道我可以采用什么方法来检测具有开口的矩形,即缺角,线条太短。在OpenCV中检测不完整的矩形(缺失的边角/短边)
我执行了一些扩大,它弥补了小差距,但不是这些大的差距。
我考虑使用凸包或边界矩形来生成一个轮廓进行比较,但由于矩形的边缘是断开的,每个都会看作一个单独的轮廓。
我认为第一步是检测哪些线是候选形成一个完整的矩形,然后执行某种线外推。这seems promising,但我矩形的边缘不会完全水平或垂直。
我试图发现这个图像的三个最左边的矩形:
这些是两个问题:1.检测不完美线条的线段。 2.组线段可能以矩形结束。 – Micka
您是否有处理检测不完整线段的建议?我试过HoughLines/HoughLinesP,它似乎并不奏效,我认为它们的目标是更完美的线条。我目前的思路是分析点数和某种区域的轮廓,以arcLength比率来猜测矩形的哪个“部分”是 – muscovy
,您可以尝试使用PCA的轮廓。但是对于连接的矩形拐角部分将会失败......我喜欢RANSAC方法,但是您必须自己实现它。 – Micka