Image Recognition Using SIFT

I'm currently doing a face recognition project using SIFT. I have no problem by matching an image with a single image. But, problems come when I want to match an image with a database of image(descriptors). How can i import the database of images and perform matching by using SIFT? The code is here. Thanks in advance.

 Accepted Answer

Image Analyst
Image Analyst on 3 May 2015
Put your call to match() in the middle of a for loop like is given in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F The FAQ will show you how to "import the database of images" assuming that your database is just a collection of files in a folder, and not a true database like Oracle or something.

4 Comments

Hi sir, i got a question. The case is, i wanna match an input image(image1) with a database of image(image 2). Currently i loaded a number of images and save it into a database (face_database.dat). The reason i use "image2" is because i wanna loop the images in the database into variable "image2" and perform matching. How can i loop the images in the database into "image2"?
What do you mean by "match"? Can you just subtract the images and look for zeros at every pixel location?
The match means matching the keypoints in both images. It is the method of sift, extract feature point and then match with two images. The "match.m" as i provided above will show you.
What do you mean by database? I don't have, nor have I ever used, the Database Toolbox. Do you mean like an Oracle database? If you mean just a folder of images, then it should be pretty obvious how to read in your image from the folder.

Sign in to comment.

More Answers (1)

Andy Low
Andy Low on 3 May 2015
Thanks so much for the information! I think it will work for me. I will let you know the result after I try it out. Thanks!!

Community Treasure Hunt

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

Start Hunting!