MATLAB: How to convert red curve in an image into a line

red line

I have a skeletonized image (512*512*3) of type uint8. (See attached image)
I want to convert this image into a curve and translate it along the x axis without changing image dimensions.
Can anyone help me solving this task ?
Thanks in advance

Best Answer

What does it mean to convert something into a "curve"? In fact, there is no need to do anything of the sort.
You have a picture of some red pixels, on a black background. You want to shift them by some amount in x. Easy, really.
  1. Find all red pixels. This will give you a list of pixel coordinates.
  2. Convert all of the found red pixels to black pixels in the image.
  3. Add your desired constant to the x coordinates that you found in step 1.
  4. Convert the bleck pixels at the new set of coordinates into red pixels.
Done. WTP? There was never any need to create some sort of unspecified thing as a curve, since all you wanted to do is shift a set of pixels in the image. In fact, creating a curve out of those pixels is a more complicated thing, since it must be some completely general curve as it is drawn. Then you would need to convert it back into pixel coordinates. So creating some sort of arbitrary curve is a waste of time and effort.
Related Question