How can i merge this purple color marked line and remove the line outside of green marked area ?

1 Ansicht (letzte 30 Tage)
After canny edge detection i got this following image. but how can I merge this purple marked line so that other lines will not be effected. and i also want to remove the line outside of green area. how can i do that ?
[ Raw Image]
[marked Image]

Antworten (1)

Image Analyst
Image Analyst am 28 Jul. 2017
See attached solution.
For linking the bottom lines, you can look at edge linking http://www.peterkovesi.com/matlabfns/#edgelink
Or you could try to do a cluster analysis on the lines and find common y values. Like if you knew there were 9 lines, you could use kmeans to get the centroids in the y direction and then use bwmorph(binaryImage, 'endpoints') to get the endpoints of all the line segments and then use imline() to burn a line connecting endpoints to the closest endpoint of another line in the sane y zone. I don't have code for that but it's pretty straightforward so try it.
  9 Kommentare
Image Analyst
Image Analyst am 30 Jul. 2017
Do you have the Statistics and Machine Learning Toolbox? It's a little easier if you do.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by