I am trying to extract features using OpenCV’s HoG API, however I can’t seem to find the API that allow me to do that.
What I am trying to do is to extract features using HoG from all my dataset (a set number of positive and negative images), then train my own SVM.
I peeked into HoG.cpp under OpenCV, and it didn’t help. All the codes are buried within complexities and the need to cater for different hardwares (e.g. Intel’s IPP)
My question is:
- Is there any API from OpenCV that I can use to extract all those features / descriptors to be fed into a SVM ? If there’s how can I use it to train my own SVM ?
- If there isn’t, are there any existing libraries out there, which could accomplish the same thing ?
So far, I am actually porting an existing library (http://hogprocessing.altervista.org/) from Processing (Java) to C++, but it’s still very slow, with detection taking around at least 16 seconds
Has anyone else successfully to extract HoG features, how did you go around it ? And do you have any open source codes which I could use ?
Thanks in advance
You can use hog class in opencv as follows
This function computes the hog features for you
The HOG features computed for
grayImgare stored indersvector to make it into a matrix, which can be used later for training.Now your HOG features are stored in Hogfeat matrix.
You can also set the window size, cell size and block size by using object
hogas follows:Hope it is useful 🙂