opencv视频读取与帧处理后保存为视频的方法
来源:互联网 发布:强制删除软件下载 编辑:程序博客网 时间:2024/06/07 20:08
一、opencv的视频读取与保存
具体代码及解释如下:
#include "opencv2/opencv.hpp"using namespace cv;int main(int argc, char *argv[]){Point pt1,pt2;Mat current;cv::VideoCapture capture("F:\\tracking\\test.avi");//关联读入视频文件if (!capture.isOpened()){std::cout << "fail to load video";return 1;}/*获取视频fps*/double rate = capture.get(CV_CAP_PROP_FPS);/*获取视频帧的尺寸*/int width = capture.get(CV_CAP_PROP_FRAME_WIDTH);int height = capture.get(CV_CAP_PROP_FRAME_HEIGHT);/*根据打开视频的参数初始化输出视频格式*/cv::VideoWriter w_cap("re_video.avi", CV_FOURCC('M', 'J', 'P', 'G'), rate, cv::Size(width, height));/*自定义输出视频的尺寸,需要将读取的视频帧尺寸进行变换,下文使用的resize函数完成*///cv::VideoWriter w_cap("re_video.avi", CV_FOURCC('M', 'J', 'P', 'G'), rate, cv::Size(your.width, your.height));/*循环读取视频的帧*/while (capture.read(current)){/*前面使用的是自定义输出视频尺寸时,使用resize函数*///resize(current, current, cv::Size(your.width, your.height));/*对读取的视频帧进行处理*/pt1.x= 40;pt1.y = 40;pt2.x= 100;pt2.y = 100;rectangle(current, pt1, pt2, Scalar(0,0,255),2,8,0);//用矩形画矩形窗 /*保存处理后的帧为视频*/w_cap.write(current);imshow("src", current);waitKey(1);}return 0;}
二、结果展示
2.1 处理前后视频对比
2.2 自定义输出视频尺寸
三、rectangle函数详解
rectangle有两种重载形式,分别如下:
void rectangle(CV_IN_OUT Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0);void rectangle(CV_IN_OUT Mat& img, Rect rec, const Scalar& color, int thickness=1, int lineType=8, int shift=0);其区别为一个使用个点的坐标来绘制矩形,另一个使用Rect结构体来绘制矩形。
其参数的意义分别为:
img 图像数据pt1 矩形的一个顶点。pt2 矩形对角线上的另一个顶点color 线条颜色 (RGB) 或亮度(灰度图像 )(grayscale image)。thickness 组成矩形的线条的粗细程度。取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形。lineType 线条的类型。见cvLine的描述shift 坐标点的小数点位数。
0 0
- opencv视频读取与帧处理后保存为视频的方法
- 视频的读取与保存opencv
- 关于YUV视频的读取、播放,保存帧图片、以及处理的图像保存为YUV视频。
- OPenCV学习之视频读取,与帧的提取、显示与保存
- OpenCV学习之视频读取与帧的提取、显示及保存
- OpenCV之视频读取与帧的提取、显示及保存
- OpenCV学习之视频读取与帧的提取、显示及保存
- python opencv —— io(帧、图像、视频的读取与保存)
- Opencv读取和保存视频
- Opencv读取和保存视频
- opencv读取视频,摄像头,保存视频代码
- 用opencv读取视频保存视频
- opencv摄像头视频+帧保存为图片
- opencv摄像头视频+帧保存为图片
- opencv把视频的每一帧保存为图片
- opencv读取摄像机并保存为avi视频
- 视频流读取与视频帧处理
- opencv学习——视频读取、处理、保存
- 刻意练习
- php将远程图片下载到本地
- 继续之前
- 深入java (类)深入理解类的继承和初始化顺序
- QRCode.js 二维码生成并能够长按识别
- opencv视频读取与帧处理后保存为视频的方法
- 从相册取图片得到图片的uri再通过工具类得到图片的绝对路径
- WinEdit编辑器中中文乱码
- OpenDaylight-Boron学习笔记: 2 DLUX模块
- linux下jdk的安装
- 用两个栈实现队列
- View RequestFocus
- 互联网时代架构师的职责与思考
- Myecilpse,Eclipse安装Freemarker插件