0

I have 5 images by default in the program, and I will allow the user choose an image from the desktop. The program will determine which image between the 5 images is the closest one to the user image.

Can anyone help me and take me to the start of the idea?

2
  • 1
    You'll have to describe your constraints slightly better. Is a 90-degree rotation of an image "close"? Commented Jul 21, 2011 at 7:28
  • Here is an article on how TinEye works. Although, you can modify some steps since you aren't comparing against thousands of images. hackerfactor.com/blog/index.php?/archives/… Commented Jul 22, 2011 at 13:58

1 Answer 1

4

You can try to use a feature extraction algorithm like SIFT, SURF etc. Then compare extracted features with your database. You can select the best matching image based on the number of correct matches.

Generally SIFT works fine for 2D objects, like picture of a label or an advertisement board. Rotation on 2D plane or scale wont matter if you are using SIFT. SURF is supposed to be an improvement of SIFT but I do not have much experience on it.

These algorithms are said to be bit heavy. Anyway if you are matching just 5 images it wont be much of a problem.(Or you can simply calculate the descriptors(features) of your images before hand and store them. Then at run time all you have to do is get the descriptor of the user image and compare it) But still if you are trying to match images of basic shapes like squares and circles, using square detection or circle detection might be efficient performance wise.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.