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

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?

Answers (2)

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 Comments

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.
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.

Sign in to comment.

Do a matrix translation and rotation to align the baseline with the horizontal axis, and then read out the y coordinates along the line.

Categories

Products

Asked:

on 5 Jan 2012

Community Treasure Hunt

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

Start Hunting!