#include <iostream>
#include <windows.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv/cv.h>
using namespace cv;
using namespace std;
int main(int argc, char **argv)
{
Mat srcImg3, grayImg;
Mat srcImg7,srcImg8,srcImg9,srcImg10,srcImg11;
//视频文件路径
string filename3 = "D:/C/视频/视频/3/3.mp4";
string filename7 = "D:/C/视频/视频/7/7.mp4";
string filename8 = "D:/C/视频/视频/8/8.mp4";
string filename9 = "D:/C/视频/视频/9/9.mp4";
string filename10 = "D:/C/视频/视频/10/10.mp4";
string filename11 = "D:/C/视频/视频/11/11.mp4";
VideoCapture cap3;
VideoCapture cap7,cap8,cap9,cap10,cap11;
cap3.open(filename3);
cap7.open(filename7);
cap8.open(filename8);
cap9.open(filename9);
cap10.open(filename10);
cap11.open(filename11);
cap3 >> srcImg3;
cap7 >> srcImg7;
cap8 >> srcImg8;
cap9 >> srcImg9;
cap10 >> srcImg10;
cap11 >> srcImg11;
//用于调整保存图像的尺寸
int Imgw = 840;
int Imgh = 720;
int countNums = 0;
//保存图片的路径
char imagename1[20];
char imagename2[20];
char imagename3[20];
char imagename4[20];
char imagename5[20];
char imagename6[20];
while (cap3.isOpened())
{
countNums++;
cap3 >> srcImg3;
if (srcImg3.empty())
break;
//可能需要对保存图像进行的处理
resize(srcImg3, srcImg3, cv::Size(Imgw, Imgh));
//cvtColor(srcImg, grayImg, CV_BGR2GRAY);
imshow("srcImg3", srcImg3);
waitKey(1);
//当前为保存偶数帧,保存条件可以修改
if (countNums % 2 == 0)
{
//路径可以使绝对路径,也可以是相对路径
sprintf(imagename1, "D:/C/视频/视频/3/%d.jpg", countNums);
imwrite(imagename1, srcImg3);
}
}
while (cap7.isOpened())
{
countNums++;
cap7 >> srcImg7;
if (srcImg7.empty())
break;
//可能需要对保存图像进行的处理
resize(srcImg7, srcImg7, cv::Size(Imgw, Imgh));
//cvtColor(srcImg, grayImg, CV_BGR2GRAY);
imshow("srcImg7", srcImg7);
waitKey(1);
//当前为保存偶数帧,保存条件可以修改
if (countNums % 2 == 0)
{
//路径可以使绝对路径,也可以是相对路径
sprintf(imagename2, "D:/C/视频/视频/7/%d.jpg", countNums);
imwrite(imagename2, srcImg7);
}
}
while (cap8.isOpened())
{
countNums++;
cap8 >> srcImg8;
if (srcImg8.empty())
break;
//可能需要对保存图像进行的处理
resize(srcImg8, srcImg8, cv::Size(Imgw, Imgh));
//cvtColor(srcImg, grayImg, CV_BGR2GRAY);
imshow("srcImg8", srcImg8);
waitKey(1);
//当前为保存偶数帧,保存条件可以修改
if (countNums % 2 == 0)
{
//路径可以使绝对路径,也可以是相对路径
sprintf(imagename3, "D:/C/视频/视频/8/%d.jpg", countNums);
imwrite(imagename3, srcImg8);
}
}
while (cap9.isOpened())
{
countNums++;
cap9 >> srcImg9;
if (srcImg9.empty())
break;
//可能需要对保存图像进行的处理
resize(srcImg9, srcImg9, cv::Size(Imgw, Imgh));
//cvtColor(srcImg, grayImg, CV_BGR2GRAY);
imshow("srcImg9", srcImg9);
waitKey(1);
//当前为保存偶数帧,保存条件可以修改
if (countNums % 2 == 0)
{
//路径可以使绝对路径,也可以是相对路径
sprintf(imagename4, "D:/C/视频/视频/9/%d.jpg", countNums);
imwrite(imagename4, srcImg9);
}
}
while (cap10.isOpened())
{
countNums++;
cap10 >> srcImg10;
if (srcImg10.empty())
break;
//可能需要对保存图像进行的处理
resize(srcImg10, srcImg10, cv::Size(Imgw, Imgh));
//cvtColor(srcImg, grayImg, CV_BGR2GRAY);
imshow("srcImg10", srcImg10);
waitKey(1);
//当前为保存偶数帧,保存条件可以修改
if (countNums % 2 == 0)
{
//路径可以使绝对路径,也可以是相对路径
sprintf(imagename5, "D:/C/视频/视频/10/%d.jpg", countNums);
imwrite(imagename5, srcImg10);
}
}
while (cap11.isOpened())
{
countNums++;
cap11 >> srcImg11;
if (srcImg11.empty())
break;
//可能需要对保存图像进行的处理
resize(srcImg11, srcImg11, cv::Size(Imgw, Imgh));
//cvtColor(srcImg, grayImg, CV_BGR2GRAY);
imshow("srcImg11", srcImg11);
waitKey(1);
//当前为保存偶数帧,保存条件可以修改
if (countNums % 2 == 0)
{
//路径可以使绝对路径,也可以是相对路径
sprintf(imagename6, "D:/C/视频/视频/11/%d.jpg", countNums);
imwrite(imagename6, srcImg11);
}
}
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
视频逐帧分割为图片保存的代码-opencv
共42个文件
tlog:28个
pdb:2个
exe:1个
5星 · 超过95%的资源 需积分: 5 30 下载量 54 浏览量
2018-08-29
15:07:39
上传
评论 1
收藏 15.47MB ZIP 举报
温馨提示
视频逐帧分割为图片保存的代码,可以将各个视频,或者是单个视频切割为许多图片进行保存,用在取材上挺不错的,这个是用C++写的
资源推荐
资源详情
资源评论
收起资源包目录
video.zip (42个子文件)
video
视频
视频.vcxproj.filters 942B
main.cpp 4KB
视频.vcxproj 4KB
Debug
vc110.idb 1.05MB
CL.write.1.tlog 156B
CL.read.1.tlog 33KB
link.1796-cvtres.read.1.tlog 2B
link.11856-cvtres.read.1.tlog 2B
link.1796-rc.write.1.tlog 2B
link.11856-rc.write.1.tlog 2B
link.11856-rc.read.1.tlog 2B
link.1796-cvtres.write.1.tlog 2B
link.1796-rc.read.1.tlog 2B
link.11856.read.1.tlog 2B
cl.command.1.tlog 490B
link-cvtres.read.1.tlog 2B
main.obj 257KB
link.11856-cvtres.write.1.tlog 2B
link.write.1.tlog 190B
link-rc.write.1.tlog 2B
link-cvtres.write.1.tlog 2B
link.11856.write.1.tlog 2B
视频.log 4KB
link.command.1.tlog 2KB
link.1796.write.1.tlog 2B
link-rc.read.1.tlog 2B
link.read.1.tlog 7KB
vc110.pdb 1.23MB
link.4008.read.1.tlog 2B
link.4008-rc.read.1.tlog 2B
link.4008.write.1.tlog 2B
link.1796.read.1.tlog 2B
视频.lastbuildstate 45B
link.4008-cvtres.write.1.tlog 2B
link.4008-rc.write.1.tlog 2B
link.4008-cvtres.read.1.tlog 2B
视频.sdf 43.31MB
视频.sln 885B
视频.v11.suo 20KB
Debug
视频.exe 76KB
视频.pdb 1.65MB
视频.ilk 509KB
共 42 条
- 1
资源评论
- highvision252019-09-20按帧分割,可以借鉴
dafydd_成
- 粉丝: 87
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功