OpenCV包含错误

时间:2013-12-22 20:39:44

标签: c++ opencv capture

请参阅下面的勾选答案:) 错误1错误C2065:'capture':未声明的标识符

将VS2013 Express与OpenCV配合使用 较旧的代码示例已经起作用,但我无法将其转换为:

#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
using namespace cv;
int main()
{
    Mat frame = cvQueryFrame(capture);
    imshow("Video", frame);
}

我不得不改变"opencv2/core/core.hpp"#include <opencv2\core\core.hpp>,它得到了那一点。 但我试过包括高贵但我不能让"capture"工作? 有任何想法吗? 调试时使用x64,并使用x64库...

2 个答案:

答案 0 :(得分:0)

捕获部分是旧c-api的剩余部分。

试试这个:

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/core.hpp"

using namespace cv;

int main()
{
    VideoCapture cap(0);
    while( cap.isOpened() )
    {
        Mat frame;
        if ( ! cap.read(frame) )
            break;
        imshow("lalala",frame);
        int k = waitKey(10);
        if ( k==27 )
            break;
    }
    return 0;
}

答案 1 :(得分:0)

当然,如果你没有声明变量capture,它将如何运作?可能你想做这样的事情:

#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
using namespace cv;
int main()
{
    CvCapture* capture = cvCreateFileCapture("path to video file");
    Mat frame = cvQueryFrame(capture);
    imshow("Video", frame);
    waitKey();
    cvReleaseCapture(&capture);
}