#include "FastDPM.h"
#include
vector yuStdDirFiles(string DirName, vector FileExtensions);
string trim_file_name(string FileName, int FLAG);
string jsonStr;//全局变量保存json字符串
int main()
{
string img_dir = "d:\\image";
string extensions[] = { ".jpg" };
vector<string> img_extensions(extensions, extensions + 1);
vector<string> imgnames = yuStdDirFiles(img_dir, img_extensions);
/* II. Perform Part_Model based detection */
FastDPM PM("person_final2007.txt");
bool flag = false;
vector<double> dvec;
double total = 0;
for (unsigned i = 0; i<imgnames.size(); i++)
{
string img_name = imgnames[i];
Mat img_uint8 = imread(img_name.c_str());
if (img_uint8.empty())
{
cout << "Cannot get image " << img_name << endl;
getchar();
return -2;
}
cout << "Processing " << trim_file_name(img_name, 0) << endl;
clock_t start, finish;
double during;
start = clock();
Mat img = PM.prepareImg(img_uint8);
PM.detect(img, 0.248062f, true, true, img_name);
finish = clock();
during = (double)(finish - start) / CLOCKS_PER_SEC;
dvec.push_back(during);
cout << "------------------------------------------------------------" << endl;
/*cout << ::jsonStr << endl;*/
if (PM.detections.empty())
continue;
flag = true;
char key = waitKey(1);
if (key == 27)
break;
}
for (double var : dvec)
{
total += var;
}
cout << "time:" << total / dvec.size() << endl;
cout << "Finished!" << endl;
if (flag)
waitKey();
else
_getch();
return 0;
}