4、批量读取图片、视频分解、视频合成
2017-07-11 19:27
295 查看
批量有序读取图片
#include<opencv2/opencv.hpp> using namespace cv; void main() { //批量读取图片(有序) char filename[50]; char winName[50]; Mat srcImg; for (int i = 1; i < 100; i++) { sprintf(filename,"%d.bmp",i); sprintf(winName,"NO--%d",i); srcImg=imread(filename); if (srcImg.empty()) break; imshow(winName,srcImg); } waitKey(0); destroyAllWindows(); }
视频分解成图片
#include<opencv2/opencv.hpp> using namespace cv; void main() { Mat frame; char outfile[50]; VideoCapture cap("E:\\2.avi"); if (!cap.isOpened())//打开失败 return; int totalFrame=cap.get(CV_CAP_PROP_FRAME_COUNT);//获取视频总帧数 for (int i = 1; i <=totalFrame; i++) { cap>>frame; if (frame.empty()) break; sprintf(outfile,"E:\\pic\\%d.bmp",i); imwrite(outfile,frame); imshow("video",frame); waitKey(15); } cap.release(); destroyAllWindows(); }
图片合成视频
#include<opencv2/opencv.hpp> #include<iostream> using namespace cv; using namespace std; void main() { VideoWriter writer("E:\\out.avi",CV_FOURCC('X','V','I','D'),20,Size(568,320),true); char filename[50]; Mat frame; for (int i = 1; i < 644; i++) { sprintf(filename,"E:\\pic\\%d.bmp",i); frame=imread(filename); if(frame.empty()) break; writer<<frame; } cout<<"write end!"<<endl; destroyAllWindows(); }
相关文章推荐
- opencv 视频分解成图片 图片合成视频 批量读取图片
- opencv:批量读取一个文件夹下的图片,并转换成视频
- IOS视频分解图片、图片合成视频
- opencv:批量读取一个文件夹下的图片,并转换成视频
- OPENCV读取AVI视频失败 视频帧提取以及图片合成视频
- IOS 视频分解图片、图片合成视频
- 视频分解图片,图片合成视频
- IOS 视频分解图片、图片合成视频
- Matlab图片合成视频
- opencv读取视频并保存为图片
- 在opencv里利用c++代码批量读取本地图片
- 在opencv里利用c++代码批量读取本地图片
- 使用JAVACV把图片合成视频
- OpenCV:批量读取图片
- iOS多张图片合成一个视频文件
- qt5.1+ vs2013+opencv2.4.8制作视频图片读取界面
- qt5.1+ vs2013+opencv2.4.8制作视频图片读取界面
- C# sql 实现图片批量储存读取
- OpenCV_读取文件夹下的图片生成视频文件
- OpenCV 实践程序16——提取视频每一帧及用多张图片合成视频