在学习
前言
opencv的过程中,最终需要将视频转换为图像进行处理,或者将处理后的图像以视频形式进行保存。 在这篇文章中,我们来看看图像和视频的相互转换方法。
视频转图片
对这种情况应该很了解。 因为学习opencv的时候一定戴过照相机。 例如,打开照相机检测个人的脸部和笑容等。 在这个过程中,实际上是将照相机拍摄的视频转换成一帧一帧的图像进行连续处理。据了解,opencv提供了一个视频捕获类,通过流操作符可以轻松地与Mat类进行交互,以打开视频和摄像机。 这种情况比较常见,我们直接来看看例子吧。
# #包括opencv2(opencv.HPP
单一名称空间光碟;
int主()。
//要打开视频文件而不是打开默认照相机的照相机,可以执行以下操作
视频摄像头(e : )我的视频(视频. mp4 );
把视频变成照片是一个简单的词: cap frame;
图片转视频
视频的图像传输只需要流操作员简单的一句代码就可以实现,那么图像传输视频呢? 这么简单吗?答案是肯定的。 只要使用这样简单的代码,只要将流操作符的方向反转就可以了。 此时使用的是opencv提供的VideoWriter类。 视频捕获器和视频写入器,顾名思义,他们俩捕获视频,另一个写入视频。
视频写入器构造函数如下:
视频写入器(常数文件名、整数、双工fps、大小帧大小、布尔is颜色=真)。
各参数的含义如下。
文件名:输出视频文件的名称
fourcc:4-character code of codec的缩写,4个字符表示压缩帧的编解码器。
fps :帧率,我想大概是每秒帧的缩写。
frameSize :每帧图像的大小
isColor :非零时,编码器想取得彩色帧进行编码; 否则,就是灰度框架。 此标志仅在Windows上受支持)
第二个参数,OpenCV提供的格式未压缩,目前支持的格式如下。
cv _福克斯(p )、I )、m )、1 ) )=mpeg-1编解码器
cv _福克斯(m )、j )、p )、g )=运动- JPEG编解码器
cv _福克斯(m )、p )、4 )、2 )=MPEG-4.2编码解码器
v _福克斯(d )、I )、v )、3 )=MPEG-4.3编码解码器
v _福克斯(d )、I )、v )、x )=MPEG-4编码解码器
v _福克斯(' u ','2','6','3' )=h263编码解码器
cv _福克斯(' I ','2','6','3' )=h263i编解码器
cv _福克斯(f )、l )、v )、1 )=flv 1编解码器
还是让我们来看一个例子:
# #包括opencv2(opencv.HPP
# #包含iostream
单一名称空间固态硬盘;
单一名称空间光碟;
intmain(
Python代码
最后给出了Python版本的示例代码。将视频转换为图像
导入CV 2
将导入编号图像转换为视频
# #编码: utf-8
汇入全球之旅GB
虽然Python代码没有注释,但import cv2额度似乎明白了什么是人生的短命。 我用的是Python。