opencv2 用imwrite 抽取并保存视频图像帧
最近在写一个车辆检测程序,程序中需要获取图像帧,并保存为图片,且放到指定目录中去,我在网上查了很多发现都是opencv1的有关操作,没有opencv2的操作,我参考网上的例子,结合着用opencv2新语句,发现十分的简便。以下是代码:
1 #include<opencv2/highgui/highgui.hpp> 2 #include<iostream> 3 using namespace std; 4 using namespace cv; 5 int main(){ 6 VideoCapture cap("D:/1.wmv"); //读入视频 7 Mat img; //图像变量 8 char image[20]; //保存路径 9 int i = 0; //图像计数 10 while (cap.read(img)) //读取视频帧 11 { 12 sprintf(image, "%s%d%s", "..\\image", i++, ".jpg"); //指定保存路径 13 imwrite(image, img); //保存图像 14 } 15 }
结果展示: