【发布时间】:2014-12-29 13:19:03
【问题描述】:
我是 matlab 和图像处理的新手
我想要实现的是检测图像中的不规则线条。例如,在下图中,有 4 条折线:
我的目标是获得一组代表这 4 条不规则线/折线的像素点。像这样的。
我已经阅读了一些主题,例如边缘检测 (canny) 和霍夫线检测。我应用了它们,但我不知道如何根据我的目的调整它们,而且我不确定我是否朝着正确的方向前进。如果您能给我一些建议或指出有用的资源/文章/算法/库,我将不胜感激。 - - - - - - - - - -编辑 - - - - - - - - - - - - - - - ------
感谢您的所有意见,我认为这让我朝着正确的方向前进。 我的问题比你想象的要简单。我不是要检测线条是否不规则,而只是为了获取检测到的线条的像素。
在matlab中,我遵循以下路线:
rgb2gray -> 2bw -> bwmorgh(skeletonize) -> bwconncomp(获取连接组件)
目前结果对我来说看起来不错,谢谢。
【问题讨论】:
-
我猜它并不总是干净的白色背景上的黑线吧?
-
嗨,真正的问题会复杂得多。它是关于检测纸质地图上的线条。但目前我正试图从这个简单的场景开始。如果我能先解决这个问题,我会很高兴。
-
我认为您也可以在 MATLAB 中使用来自
regionprops的eccentricity。如果偏心率为 1,那么它是一条线。 -
能否请您解决后,发布您实际最终得到的解决方案。看看您最终选择了哪种解决方案会很有趣。
标签: matlab opencv image-processing computer-vision image-recognition