#include "opencv2/imgproc/imgproc.hpp" #include "opencv2/objdetect/objdetect.hpp" #include "opencv2/highgui/highgui.hpp" #include "utils.h" using namespace cv; using namespace std; int main(int argc, char** argv) { // printf("HERE!\n"); HOGDescriptor hog; vector ders; vector locs; Mat Hogfeat; ofstream fout; Mat img; double t1; tstart(); img = imread(argv[1],CV_LOAD_IMAGE_GRAYSCALE); fout.open(argv[2]); cv::resize(img, img, cvSize(64, 64)); hog.winSize = Size(64, 64); hog.blockSize = Size(16, 16); hog.cellSize = Size(8, 8); hog.blockStride = Size(8, 8); hog.compute(img, ders, Size(64, 64), Size(0, 0), locs); //size = 1764 = (64/8-1)^2 * 2^2 * 9 // fout << ders.size() << "\n"; for(std::vector::iterator it = ders.begin(); it != ders.end();it++) { fout << *it << " "; } // Hogfeat.create(ders.size(), 1, CV_32FC1); // for (int i = 0; i < ders.size(); i++) { // Hogfeat.at(i, 0) = ders.at(i); // } // fout << Hogfeat << endl; tend(); t1 = tval(); printf("time\t:\t%f\n", t1); cv::imwrite(argv[1],img); return 0; }