views:

71

answers:

1

I am writing an application that takes an input image and looks in a library of other images for "similar" images.

Part of the challenge is that I am not looking to do a complete image match, but rather I am

  • The images might be at different sizes (take up different percentages of the page)
  • The images might be rotated
  • The images might be at different scale (some might be zoomed in portions of similar objects).

Imagine looking at a chain linked fence. One of the images might be a zoomed out view -- say 100 'links' (10x10). Another image might just show 4 links (2x2). I'm looking to say "aha -- these fences are made by the same company because their design is similar.

I am ok with false positives, as I can review the results by hand, but would like to minimize false negatives.

I have found OpenCV and that looks promising -- though it looks like it was originally intended for video processing, not necessarily for static image comparison.

Is this still what you would recommend using?

Thanks!

+1  A: 

For commercial software on Intel based chips the Intel IPP library is great. Runs about 200 for commercial use, and 160 for academics.

License info: http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-purchase/

and documentation:

http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-documentation/

Joel