distance between each pixel in a line to the corresponding pixel in another line in a image

2 次查看(过去 30 天)
My original image is containing a curved line as shown here
overdrawing a straight line into the image by taking starting and ending points of the curved line and obtained image is like this
Is it possible to calculate the distance of each pixel in curved line from the straight line.
OR should the straight line be burned into the image to calculate this?

回答(2 个)

Image Analyst
Image Analyst 2012-1-5
Why do you need that? Could you go with the area of the region in between instead? Do you REALLY need the distance as a function of length, because those curves will have different numbers of pixels and there is no exact correspondence?
  2 个评论
Gova ReDDy
Gova ReDDy 2012-1-6
Becuase I want to make the inclined (curved) line to a zero inclined (curved) line by taking the distance of each pixel from straight (overlayed)line and plotting those set of values(pixel distance) will give a zero inclined (curved)line.
Image Analyst
Image Analyst 2012-1-6
Did you try polyfit() to find the slope and offset of the fitted straight line? Seems like the obvious way. Once you know that you can rotate by the known angle like Walter says. Mathematically slightly different than what you first asked for since polyfit will minimize the vertical distance not the perpendicular distance between line and curve, but I bet for your needs that won't make a bit of difference.

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2012-1-6
Do a matrix translation and rotation to align the baseline with the horizontal axis, and then read out the y coordinates along the line.

产品

Community Treasure Hunt

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

Start Hunting!

Translated by