使用的环境是win7+vs2019+opencv4.5.1
代码如下:
#include<opencv2\opencv.hpp>
#include<opencv2/highgui/highgui.hpp> //highgui模块头文件
#include <opencv2/imgproc/imgproc.hpp> //图像处理头文件
#include
using namespace cv;
using namespace std;
int main()
{
VideoCapture capture;
capture.open(“C:/Users/Administrator/source/repos/opencvTEST/1.avi”);
if (!capture.isOpened())
cout << “fail to open!” << endl;
//循环显示每一帧
while (1)
{
Mat frame;//定义Mat变量,用于存储每一帧的图像
capture >> frame;//读取当前帧
//若视频播放完成,退出循环
if (frame.empty())
{
break;
}
imshow(“读取视频”, frame);//显示当前帧
waitKey(30);//延时30ms
}
return 0;
}
一直显示fail to open
解决办法:将open文件下的opencv_videoio_ffmpeg451_64.dll文件放入c盘下的Windows/system64 中
奇怪的是
①书上所说64位应放在Windows/SysWOW64 所以我两个都放了,但将system64中删掉的删掉,就放不出来视频了。
选用的编译器也是64位的:
②控制台显示缺少pencv_videoio_ffmpeg451_64d.dll文件,但我没在opencv文件里找到这个文件
控制台还说缺少什么插件,懒得管了。。视频能播放出来就好了: