How can i estiamte the local distance between two boundaries at each point ??

2 views (last 30 days)
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).
  1 Comment
Surendra Ratnu
Surendra Ratnu on 12 Oct 2022
Edited: Surendra Ratnu on 12 Oct 2022
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.

Sign in to comment.

Accepted Answer

Chunru
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
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.
Surendra Ratnu
Surendra Ratnu on 13 Oct 2022
But in my case there are no of extruded parts and i want to automated them to calculate the length of the extruded part. Can you eloborate on this.

Sign in to comment.

More Answers (0)

Categories

Find more on Read, Write, and Modify Image in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!