qq_26350387 2017-05-04 12:35 采纳率: 0%
浏览 882
已结题

100分送上,大神们谁帮帮小弟如何把下面代码中检测图像改为检测视频

#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;

}

  • 写回答

3条回答 默认 最新

  • qq_26350387 2017-05-04 12:43
    关注

    这是我打开摄像头,并把视频检测出来后整理成一帧帧图片(1秒1帧),现在问题是如何将这个图片抛给上面检测图片的代码呢

    CvCapture *capture = cvCreateCameraCapture(0);
    cvNamedWindow("camera", CV_WINDOW_AUTOSIZE);
    IplImage *img;
    char file_name[15];
    int i;
    while (1)
    {
    for (i = 0; i<99999; i++)
    {
    img = cvQueryFrame(capture);
    if (!img)
    break;
    cvShowImage("camera", img);
    char c = cvWaitKey(1000);
    if (c == 27)
    {
    cvReleaseCapture(&capture);
    cvDestroyWindow("hh");
    exit(0);
    }//按esc退出

            sprintf(file_name, "d:\\image\\%05d.jpg", i);//d盘根目录下生成,其中i就是图片的编号,每次运行程序都会从0开始编起。
            cvSaveImage(file_name, img);
            FastDPM PM("person_final2007.txt");
    
    
    
    
        }    
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试