Image comparison tool using a C++ OpenSURF library
$500-5000 USD
Completed
Posted almost 14 years ago
$500-5000 USD
Paid on delivery
The objective of this project is to create a tool allowing to compare a given graphical image (jpg) to a set of other images (to determine if there is an exact match or if our given image is a sub-set, i.e. can be found *inside* one of the images in our set).
There is an existing open source C++ library called OpenSURF (that comes with some examples) which should allow to do just that. The project involves looking into OpenSURF, understanding its output and using it to compare images. Please refer to <[login to view URL]>. There is no UI needed for this tool.
-----------------------------------------
The tool will do two things:
-----------------------------------------
1) Create a collection of images with "SURF features" (to be stored in DB, and the image file itself to be stored on disk).
2) As input take a single image to:
-- compare it with the collection of images in the DB
-- identify if it matches with any of the images from
collection and if so, where. By "where," I'm talking
about coordinates of a box within the image.
## Deliverables
===============
SPECIFICS
===============
As the first deliverable, please submit your proposed DB structure for storing a collection of images along with the "SURF features" (which are additional bits of data that get generated by OpenSURF). I'd like to have a chance to look it over before moving forward with the rest of the project. Generally speaking, the DB structure would include image ID and SURF Features (no need to store the file paths of images).
Implement two comand line executable tools written in a language of your choice (subject to approval):
**1)** As input, takes a list of image file paths and image IDs in stdin (one image per line), computes "SURF faetures" for each image and stores them in the DB. In case of failure the tool should output an error.
**2)** Takes an image file path as command line input, and a set of image IDs in sdtin (one per line) and compares the input image with the set of images specified via IDs. For each matched image the tool outputs (one per line): image ID, box coordinates and match score - i.e. a measure of how closely it matched.
Please be sure to provide clean and well documented code.
===============
END RESULT
===============
1) DB Structure Document
2) Source code for two command line tools which are described above (which should be compilable and executable in a Unix environment)