opencv3/C++实现视频读取、视频写入

您所在的位置:网站首页 opencv读取视频 opencv3/C++实现视频读取、视频写入

opencv3/C++实现视频读取、视频写入

2022-09-07 02:31| 来源: 网络整理| 查看: 265

视频读取

视频读取,主要利用VideoCapture类下的方法打开视频并获取视频中的帧,具体示例如下:

#include #include using namespace cv; int main() { VideoCapture capture; Mat frame; frame= capture.open("E:/image/a1.avi"); if(!capture.isOpened()) { printf("can not open ...\n"); return -1; } namedWindow("output", CV_WINDOW_AUTOSIZE); while (capture.read(frame)) { imshow("output", frame); waitKey(10); } capture.release(); return 0; }

capture.open()的参数为0时为读取摄像头:

frame= capture.open(0);

视频写入

通过摄像头获取视频,然后通过capture.get(CV_CAP_PROP_FRAME_WIDTH), capture.get(CV_CAP_PROP_FRAME_HEIGHT)获取当前帧的宽度和高度,创建一个VideoWriter类对象writer进行视频的写入。

写入前可进行视频的简单处理。

#include #include using namespace cv; int main() { VideoCapture capture; capture.open(0); if(!capture.isOpened()) { printf("can not open ...\n"); return -1; } Size size = Size(capture.get(CV_CAP_PROP_FRAME_WIDTH), capture.get(CV_CAP_PROP_FRAME_HEIGHT)); VideoWriter writer; writer.open("E:/image/a2.avi", CV_FOURCC('M', 'J', 'P', 'G'), 10, size, true); Mat frame, gray; namedWindow("output", CV_WINDOW_AUTOSIZE); while (capture.read(frame)) { //转换为黑白图像 cvtColor(frame, gray, COLOR_BGR2GRAY); //二值化处理 threshold(gray, gray, 0, 255, THRESH_BINARY | THRESH_OTSU); cvtColor(gray, gray, COLOR_GRAY2BGR); imshow("output", gray); writer.write(gray); waitKey(10); } waitKey(0); capture.release(); return 0; }

以上这篇opencv3/C++实现视频读取、视频写入就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:Python OpenCV读取显示视频的方法示例使用python-opencv读取视频,计算视频总帧数及FPS的实现VS2010+Opencv+MFC读取图像和视频显示在Picture控件Java使用OpenCV3.2实现视频读取与播放python opencv 读取本地视频文件 修改ffmpeg的方法Opencv实现读取摄像头和视频数据opencv实现读取视频保存视频opencv读取视频并保存图像的方法


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3