I am doing a project in VC++. I have a sequence of images which are scanned from video tape.
I need to apply some filters locally to these images. For this I will start with the first image of the sequence.
I will mask an area (like face, hand of human) which I need to apply the filter. Now I will apply the filter on this mask (I stored all the pixels of the mask in a structure).
Now my requirement is to apply the same effect for the same resign (mask) in the remaining images. That is with out masking the resign again I need to apply the same filter in the next images.
I tried this with SIFT. I created SIFT features for mask and for the entire targeted image (next image in the sequence). I calculated Euclidean distance of these two. I got some I got some similar points.
Now I segmented the target image and collected all pixels of the segment, if there is a matching point in this segment. This I am doing for all the matching points.
The problem with this approach is it is taking more time to calculate SIFT features and segmenting. For a mask of size 100x100 over an image is taking more than 40 seconds.
And if there is any rotation/scaling in the mask in the next image then it is not reconstruction the mask perfectly. In my case it gives 30% accuracy. That is some borders are bleeding.
Can you please help me what to do to get more accuracy with less time.
Can you please suggest me the correct algorithm if SIFT is not perfect.
I can send you my work space if required.
Thanks in Advance
Tags for this Thread