How to find the coordinate of the intersection multiple lines?

4 次查看(过去 30 天)
If i have lines drawn on an image, how can I find the coordinate of the intersection of the lines? (multiple lines are intersecting)

采纳的回答

KSSV
KSSV 2017-7-11
  7 个评论
Image Analyst
Image Analyst 2017-7-12
If you need the data at any arbitrary point, you have the two end points and can compute the line formula, so you have everything you need. If you want digitized/quantized coordinates, you can round the double numbers or you can look at Bresenham's line algorithm: https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2017-7-11
编辑:Image Analyst 2017-7-11
Use bwmorph() and ask for branchpoints on your skeletonized binary image.
crossings = bwmorph(binaryImage, 'branchpoints');
binaryImage should have only single pixel wide lines in it. Threshold it and call bwmorph(binaryImage, 'skel', inf) if you need to.
binaryImage = grayImage < 150; % Whatever...
skeletonImage = bwmorph(binaryImage, 'skel', inf); % Thin down to one pixel wide lines.
crossings = bwmorph(skeletonImage, 'branchpoints');

Community Treasure Hunt

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

Start Hunting!

Translated by