Perpendicular distance between points on line

6 次查看(过去 30 天)
Hello,
I started with image processing a couple of days ago.
My problem: I want to measure the shortest distance between each point of the inner red line (via bwboundaries ) and the outer green line.
The blue (distance)vectors should be perpendicular to the inner line wich makes my problem even worse (especially in case in the lower part of the image)...
Right now I have all points of the inner and outer line but have no clue what to do.
Thanks for your help!pic1.JPG
  1 个评论
Rik
Rik 2019-5-26
If it has to be perpendicular, you only need to find out which of 4 directions you need to check, and then find the green point that satisfies that.
For the end point pixels you need to decide based on your application what would make sense.

请先登录,再进行评论。

回答(1 个)

KSSV
KSSV 2019-5-26
编辑:KSSV 2019-5-26
YOu can use knnsearch. This will give you closed point in green curve to each point in red curve, as the it is the closest point, it will be (close to) perpendicular.
Or, you may use pdist2. Read about it.
Or, follow the coordinate geometry way: you have the point and know slope, find the required striaght line and get intersection. To get intersection use: https://in.mathworks.com/matlabcentral/fileexchange/22441-curve-intersections

Community Treasure Hunt

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

Start Hunting!

Translated by