请参阅下面的勾选答案:) 错误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库...
答案 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);
}