Place recognition using Bag of Visual Words (BoVW) in C++ is a method in computer vision for identifying and matching locations or scenes based on visual features extracted from images. It involves representing images with local descriptors, quantizing them into a visual vocabulary, and generating histograms of visual word occurrences. This approach is widely used in tasks like image retrieval and scene recognition, and typically involves libraries like OpenCV for implementation.
More information on this project can be found on this page
This project was built as the final project from the course "Modern C++ for Computer Vision and Image Processing", taught by Ignacio Vizzo. This project was a jointly built by Yash Goel and myself.
In the generated folder results, the binary by the name of main
in placed in the bin
folder. This can be simply executed by running this binary with one argument as the destination of the folder where your images are kept.
For example:
./main /path/of/images/
-
Results are automatically opened in the web browser through
display_bow_results.html
. Close the browser after inspection and return to terminal to move forward. The program runs in a loop reading query images till whenever the user wants. -
Binaries of sift descriptors and histograms are generated in folders
bin
andhistogram
respectively in thebow_data
folder. -
Make sure your images are in the folder name
images
.
Webpage adapted from here.