I have a series of images. I want to be able to draw a curve on the image and track the curve in the series. For example, in the figure below, the left image illustrates the original image at time 0 and the one on the right is the curve I want to track in the next images in later times $t>0$. In fact, the edges that are marked as red change with time. In other words, the region, whose a portion of its boundary is shown in the figure, gets enlarged and shrunken in the subsequent images and I want to be able to track this.

Could someone kindly introduce me to one of the methods that is used to track a predefined curves according to the movement of the boundary which is the closest to it?

enter image description here


1 Answer 1


From my experience, I have successfully utilized Leo Grady's Random Walks method for this. The code is also available here. It works very well and can easily be made to run in real-time depending on the contour and image size. You could watch the video from my implementation here. Note that though, it might perfom differently than the original.

  • $\begingroup$ So, you start off with drawing a curve and then the method takes care of tracking it in other images? $\endgroup$
    – afp_2008
    Dec 4, 2014 at 22:02
  • 1
    $\begingroup$ That's right. Two curves actually. One for the pixels outside the region, one for the inside. The rest is taken care of. It is a binary labeling and thus the problem is binary segmentation. However, this is a tracking method, which will let you to follow it through the sequence. $\endgroup$ Dec 4, 2014 at 22:03
  • $\begingroup$ Fantastic. This is what I am looking for. The video link you provided is very helpful. What function in the toolbox should be called for this task? $\endgroup$
    – afp_2008
    Dec 4, 2014 at 22:05
  • 1
    $\begingroup$ Well a series of functions but yes the toolbox would greatly assist you. $\endgroup$ Dec 4, 2014 at 22:11
  • 2
    $\begingroup$ It is in the toolbox you download already. $\endgroup$ Dec 4, 2014 at 22:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.