我正在寻找一种简单的方法来使用OpenCv的视频输入,因为我从网上读了很多资料,但我仍然很困惑。
我从2.3版本中读到它是OpenCv的一部分。 这是什么意思?
我包含了“highgui.hpp”并声明了“videoInput VI”(带有HAVE_DSHOW HAVE_VIDEOINPUT已定义),但未识别错误'videoInput'。
然后我收录了一个我在网上找到的“videoinput.h”文件 “错误LNK2001:simbolo esterno”public:__ thiscall videoInput :: ~videoInput(void)“(?? 1videoInput @@ QAE @ XZ)non risolto”
我还要下载库吗? 我认为它应该更简单,因为它是“OpenCv的一部分”。
答案 0 :(得分: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;
}