2

I want to identify only this marked part in my image. (marked in red) It should be a scale and translation invariant matching algorithm. Which is the best method I can use?

Will the SIFT method be useful here? As I have observed, it outputs many points. I want only this predefined part to be identified always. Maybe as a blob, or the centroid of this part.

enter image description here

Edit: I am trying to use SIFT from VLFeat. This is the code I am using:

Ia = imread ('Img_1.bmp') ;     % Img_1 is the entire wheel's image
Ib = imread ('Img_2.png') ;     % Img_2 is a small image containing only the part I want to identify in all images.
Ia = im2single(rgb2gray(Ia)) ;
Ib = im2single(rgb2gray(Ib)) ;
[fa, da] = vl_sift(Ia) ;
[fb, db] = vl_sift(Ib) ;
[matches, scores] = vl_ubcmatch(da, db) ;

After this, how can I view the matched images? As it is shown on the website?

Also, will this method serve my purpose of identifying only the small notch?

How should I proceed after this?

Saania
  • 625
  • 1
  • 6
  • 26
  • 1
    Try with SIFT, but obtain points for SIFT only of that part of the image, and then match with points computed for the whole image. – Ander Biguri Dec 01 '14 at 12:43
  • Well, this notch can lie anywhere on the rim. If it is rotated along the rim's plane, it can also come on top. How can I identify which part to apply SIFT on? – Saania Dec 01 '14 at 12:49
  • 1
    You need to have 1 "truth" notch. Apply SIFT to just that "truth". Then, apply SIFT for the whole image in the other images and match the found points. – Ander Biguri Dec 01 '14 at 12:52
  • Thanks, do you have any other kind of algorithm in mind apart from SIFT? – Saania Dec 01 '14 at 12:58
  • Also, could you please expand a little more? I got an idea of what you're saying, but I'm unable to find relevant key-words and required literature for its implementation on MATLAB. – Saania Dec 01 '14 at 13:05
  • What you wanat to do is very well explained in OPENCV, as its widely used for that porpose. Here there is a very good example of how to do it: http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_matcher/py_matcher.html . Ofcourse, you would need to do the same in Matlab, wich may not be straigthforward – Ander Biguri Dec 01 '14 at 13:51
  • search for "feature matching" as keywords. Tehre is some quite nice examples im matlab (I didnt know!). Have a look: http://uk.mathworks.com/help/vision/ref/matchfeatures.html?refresh=true – Ander Biguri Dec 01 '14 at 13:53
  • I am unable to find any source codes for this. Are you aware of any working codes? – Saania Dec 02 '14 at 11:53
  • Not for Matlab, but I know that there is a full example implemented in C++ in openCV examples and tutorials. – Ander Biguri Dec 02 '14 at 13:19
  • Yea, I too came across a few in C++. Anyway, thanks! – Saania Dec 02 '14 at 13:23

0 Answers0