This software uses OpenCV's feature detection and description to perform classification of grocery products. To use this, you first need to extract and describe keypoints using this repo. Please see the demo of the software in the demo.mp4
file.
- cmake >= 2.8
- All OSes: click here for installation instructions
- make >= 4.1 (Linux, Mac), 3.81 (Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- OpenCV >= 4.1
- This must be compiled from source using the
-D OPENCV_ENABLE_NONFREE=ON
cmake flag for testing the SIFT and SURF detectors. - The OpenCV 4.1.0 source code can be found here
- This must be compiled from source using the
- gcc/g++ >= 5.4
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same deal as make - install Xcode command line tools
- Windows: recommend using MinGW
- Clone this repo.
- Put the directory of the build file of your OpenCV in the
CMakeLists.txt
. - Put all of the products detected keypoints files (the ones with
txt
filetype) inref/keypoints/
folder. Some examples are provided for references. - Put all of the products keypoints descriptors files (the ones with
xml
filetype) inref/descriptors/
folder. Some examples are provided for references. - Make a build directory in the top level directory:
mkdir build && cd build
- Compile:
cmake .. && make
- Run it:
./product_classification
.