0

我正在寻找一种简单的方法来使用来自 OpenCv 的视频输入,因为我从网上阅读了很多资料,但我仍然很困惑。

我从 2.3 版中读到它是 OpenCv 的一部分。这是什么意思?

我包含了“highgui.hpp”并声明了“videoInput VI”(定义了 HAVE_DSHOW HAVE_VIDEOINPUT),但没有识别出错误“videoInput”。

然后我在网上找到了一个“videoinput.h”文件,我得到了“error LNK2001: simboloesterno”public: __thiscall videoInput::~videoInput(void)" (??1videoInput@@QAE@XZ) non risolto” </p>

我也要下载库吗?我认为它应该更简单,因为它是“OpenCv 的一部分”。

4

1 回答 1

0

如果您想读取和处理视频帧,我推荐您使用 VideoCapture 类。

这是一个带有边缘检测器的示例:

#include "opencv2/opencv.hpp"

using namespace cv;

int main(int, char**)
{
    VideoCapture cap("videofilename"); // open the video file
    if(!cap.isOpened())  // check if we succeeded
        return -1;

    Mat edges;
    namedWindow("edges",1);
    for(;;)
    {
        Mat frame;
        cap >> frame; // get a new frame from the video
        cvtColor(frame, edges, CV_BGR2GRAY);
        GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
        Canny(edges, edges, 0, 30, 3);
        imshow("edges", edges);
        if(waitKey(30) >= 0) break;
    }
    return 0;
}
于 2013-09-22T10:53:40.493 回答