How to fit the multiple line on the image

1 回表示 (過去 30 日間)
Zhengqi Li
Zhengqi Li 2015 年 6 月 16 日
編集済み: Image Analyst 2015 年 6 月 17 日
Hi I have a binary image below and I would like to fit lines on the images, but if I use Hough transformation, the result is not good, it cannot find all the lines in the middle of the image, does any one can help me solve this problem?

回答 (2 件)

Eric Lin
Eric Lin 2015 年 6 月 17 日
Without more details regarding your use case or more sample images, it's difficult to give specific recommendations, but one possibility is to use morphological operations, such as "imdilate" or "imclose", to further process the image prior to applying the Hough transform.

Image Analyst
Image Analyst 2015 年 6 月 17 日
編集済み: Image Analyst 2015 年 6 月 17 日
You can label the image with bwlabel(), then use regionprops() to get PixelList, which is a list of the x,y coordinates for each separate region. Of course you need to make sure the lines aren't connected into a really long skinny U shape. But then, once you have PixelList, simply put that into polyfit() and you're pretty much done - you have your fits.
Other options would be to use RANSAC or the radon transform, but I don't think they're as promising or easy.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by