how to draw lines of shortest distances on this image identifying a particular shape ?
1 次查看(过去 30 天)
显示 更早的评论
Hi All,
I have an image on which i marked some points running "imregionalmax" function. like below
Now I want to join points on each black laths like this
I tried to write a code like below,
for p = 1:(length(trI)-1) y = [trI(p),trI(p+1)]; x= [trJ(p),trJ(p+1)]; linexy=line(x,y); plotline=plot (x,y);
end and I get an output like this.. https://plus.google.com/photos/116243239493929305987/albums/5654551980894583617/5695617771576908114?banner=pwa
how will I eliminate this situation of likes connecting between laths... it should be the shortest line in a single grain as shown in the expected results...
thanks in advance, Shanoob
0 个评论
回答(1 个)
Michael
2012-1-10
An idea might be to rank pairs of points based on their proximity, then define some sort of cut-off below which the pair gets a line between them. Of course this method may lead to overlapping lines and you might need a second routine which disregards a pairing between two points who also have (shorter) pairings to a common 3rd point.
Just some ideas, not sure of the best way
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graph and Network Algorithms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!