代码很简单:
// Test_Video.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "cv.h"
#include <opencv2\opencv.hpp>
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
// CvCapture *capture = cvCreateFileCapture("test.avi");
// IplImage *current = cvQueryFrame(capture);
VideoCapture a;
a.open("test.avi");
Mat frame;
while (a.read(frame))
{
a >> frame;
imshow("视频显示",frame);
waitKey(30);
}
return 0;
}
在Debug下调试,无法打开视频。
视频文件test.avi放在$ProjectDir路径下,说明路径设置的没错。但用VideoCapture就是找不到视频,奇怪。
更奇怪的是,用cvCreateFileCapture可以打开视频。
答案揭晓:项目属性->链接器->输入->将那些lib名称都换成带d的(表示debug),比如opencv_core2413.lib改为opencv_core2413d.lib。
问题解决!
所以说在配置opencv的库的时候要注意区分_d和不带_d的。