彩色视频转换为灰度视频输出
2016-04-17 22:25
309 查看
#include<opencv2\opencv.hpp>
#include<cv.h>
#include<highgui.h>
using namespace cv;
using namespace std;
int main() {
CvCapture * avi = cvCreateFileCapture("D:\\视频\\1.avi");
if (!avi)
return 0;
IplImage *img = cvQueryFrame(avi);
double fps = cvGetCaptureProperty(avi, CV_CAP_PROP_FPS);
CvSize size = cvSize((int)cvGetCaptureProperty(avi, CV_CAP_PROP_FRAME_WIDTH), (int)cvGetCaptureProperty(avi, CV_CAP_PROP_FRAME_HEIGHT));
CvVideoWriter * writer = cvCreateVideoWriter("2.avi", CV_FOURCC('M','J','P','G'), fps, size); //创建视频文件读入器
IplImage *tem_img = cvCreateImage(size, IPL_DEPTH_8U, 1);
while ((img = cvQueryFrame(avi)) != NULL) {
cvCvtColor(img, tem_img, CV_RGB2GRAY); //彩色转灰度
cvWriteFrame(writer, tem_img);
cvNamedWindow("data");
cvShowImage("data", tem_img);
cvWaitKey(24);
}
cvReleaseVideoWriter(&writer);
cvReleaseImage(&img);
cvReleaseImage(&tem_img);
cvReleaseCapture(&avi);
return 0;
}
运行结果:
#include<cv.h>
#include<highgui.h>
using namespace cv;
using namespace std;
int main() {
CvCapture * avi = cvCreateFileCapture("D:\\视频\\1.avi");
if (!avi)
return 0;
IplImage *img = cvQueryFrame(avi);
double fps = cvGetCaptureProperty(avi, CV_CAP_PROP_FPS);
CvSize size = cvSize((int)cvGetCaptureProperty(avi, CV_CAP_PROP_FRAME_WIDTH), (int)cvGetCaptureProperty(avi, CV_CAP_PROP_FRAME_HEIGHT));
CvVideoWriter * writer = cvCreateVideoWriter("2.avi", CV_FOURCC('M','J','P','G'), fps, size); //创建视频文件读入器
IplImage *tem_img = cvCreateImage(size, IPL_DEPTH_8U, 1);
while ((img = cvQueryFrame(avi)) != NULL) {
cvCvtColor(img, tem_img, CV_RGB2GRAY); //彩色转灰度
cvWriteFrame(writer, tem_img);
cvNamedWindow("data");
cvShowImage("data", tem_img);
cvWaitKey(24);
}
cvReleaseVideoWriter(&writer);
cvReleaseImage(&img);
cvReleaseImage(&tem_img);
cvReleaseCapture(&avi);
return 0;
}
运行结果:
相关文章推荐
- LeetCode 101. Symmetric Tree
- java学习笔记(2)基本数据类型对象包装类
- CSS相关知识二
- 周结
- json中date类型数据为空造成转JAVA对象失败
- 开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 !
- iOS 通知传值(逆传)
- 蛇形矩阵 (长沙理工大学第十一届程序设计竞赛)
- 开源项目托管GitHub
- asp.net发送短信
- 20145127《java程序设计》第七周学习总结
- JavaScript对象
- JAVA Apache-CommonsCollections 序列化RCE漏洞分析
- kettle中的分组的作用
- RESTFul API 个人理解
- 中国两弹一星元勋——郭永怀
- 笔记本装 Win10 后的亮度调节和 WiFi 问题
- 第七届科技节数学建模比赛附录
- NYOJ-小猴子下落
- linux之DNS部署