Thank you for your answer chunru. How can i draw the lines between boundary one and boundary 2 so i can identify which points are taken for min distance.
How can i estiamte the local distance between two boundaries at each point ??
4 views (last 30 days)
Show older comments
I attched image and .mat file of boundaries. We want to measure the distnace between red and green boundary at each point which is shown in image_1. We are calulated distrance using pdist2() function, but it gives distance from first point on boundary_1 to all points of boundary_2 and so on. But It should calculate the distance between one points on boundary_1 (red colour boundary in image_1) and nearest point on another boundary(green colour boundary in image_1).
Accepted Answer
Chunru
on 12 Oct 2022
Edited: Chunru
on 12 Oct 2022
load(websave("bw1.mat", "https://www.mathworks.com/matlabcentral/answers/uploaded_files/1153258/bw1.mat"))
load(websave("bw2.mat", "https://www.mathworks.com/matlabcentral/answers/uploaded_files/1153263/bw2.mat"))
d = pdist2(M, N);
plot(M(:,1), M(:, 2), 'r-', N(:,1), N(:,2), 'g');
set(gca, 'YDir', 'reverse');
axis equal
hold on
for i=1:10:size(d, 1) % change 10 to 1 for every points
[~, imin] = min(d(i, :)); % closest distant to boundary 2
plot([M(i,1) N(imin,1)], [M(i,2) N(imin,2)], 'b-')
end
% whos
8 Comments
Chunru
on 13 Oct 2022
Then you have to specify which point to be examined. And then just show the distance for the specified point.
More Answers (0)
See Also
Categories
Find more on Read, Write, and Modify Image 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!