minimum distance between 2 objects
Show older comments
I plotted boundries with bwboundries and smoothed them with the sgolay filter then plotted these boundries over RGB image. Could you kindly help me in finding the shortest distance between these two boundaries (the shortest distance of the area in-between the red and yellow lines)?
Accepted Answer
More Answers (1)
Image Analyst
on 20 Nov 2022
If xy is an N by 2 array of (x,y) coordinates, then (untested)
allDistances = pdist2(xy1, xy2);
minDistance = min(allDistances(:))
% Find index of closest pair
[row, column] = find(allDistances == minDistance);
% Draw a line between them
x1 = xy1(row, 1);
y1 = xy1(row, 2);
x2 = xy2(col, 1);
y2 = xy2(col, 2);
hold on;
line([x1, x2], [y1, y2], 'LineWidth', 2, 'Color', 'b')
Categories
Find more on Image Category Classification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!