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)
0 个评论
采纳的回答
KSSV
2017-7-11
Go through this file exchange: https://in.mathworks.com/matlabcentral/fileexchange/22441-curve-intersections?focused=5165138&tab=function
7 个评论
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
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');
Also, see Steve's blog: http://blogs.mathworks.com/steve/2016/04/12/intersecting-curves-that-dont-intersect/
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!