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’ (10×10). Another image might just show 4 links (2×2). 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!
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/