Python+Opencv实现把图片、视频互转的示例
作者:雾霾王者 发布时间:2022-03-24 23:07:38
标签:python,opencv,图片,视频
1. 安装Opencv包
pip install opvencv-python
2.实现代码:
视频转为图片:
import cv2
cap=cv2.VideoCapture('E:/video/video-02.mp4') # 获取一个视频打开cap
isOpened=cap.isOpened # 判断是否打开
print(isOpened)
fps=cap.get(cv2.CAP_PROP_FPS)
print(fps)
# 获取宽度
width=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
# 获取高度
height=int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
i=0
while(isOpened):
# 保存前十帧
if i==10:
break
else:
i+=1
(flag,frame)=cap.read() # 读取每一帧,一张图像flag 表明是否读取成果 frame内容
fileName='E:/video/image'+str(i)+'.jpg'
print(fileName)
# flag表示是否成功读图
if flag==True:
# 控制质量
cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY,100])
print('end!')
图片保存为视频:
import os
import cv2
import numpy as np
path = 'E:/video/img'
filelist = os.listdir(path)
#fourcc = cv2.cv.CV_FOURCC('M','J','P','G') #opencv版本是2
fourcc = cv2.VideoWriter_fourcc(*'XVID') #opencv版本是3
fps = 5 # 视频每秒24帧
size = (1920, 1080) # 需要转为视频的图片的尺寸
# 可以使用cv2.resize()进行修改
video = cv2.VideoWriter('E:/video/2.avi', fourcc, fps, size)
# 视频保存在当前目录下
for item in filelist:
if item.endswith('.jpg'):
# 找到路径中所有后缀名为.png的文件,可以更换为.jpg或其它
item = path + item
img = cv2.imread(item)
video.write(img)
video.release()
cv2.destroyAllWindows()
来源:https://www.cnblogs.com/zlc364624/p/12715661.html


猜你喜欢
- 本文为大家分享了mysql 8.0.20 winx64安装配置方法,记录如下。MySQL官网:链接直接点击链接也可以下载:mysql 8.0
- 有些朋友看到这个标题可能会有疑问,难道在视图中使用*符号还有何要注意的地方吗?对于这个问题,我们先不必回答,先看一下例子吧。 我这里,使用的
- 在一众有趣的Python库中,TQDW也算是独树一帜了,原因主要是因为自身所存在的功能效果,比如我们如果在写项目,往往会忘记我们要完成多少量
- 建造者模式:将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。基本思想某类产品的构建由很多复杂组件组成;这些组件中的
- 1.自定义用户表 注意事项必须在settings中配置AUTH_USER_MODEL这个字段 # 覆盖默认的用户模型,使用自定义
- MYSQL模块暂时还不支持python3.0以上的版本,由于我下载的python是3.0版本的,所以想要连接数据库只能利用其它的方法。Pyt
- vue+element表格实现多层数据嵌套今天用element的表格渲染了商城的购物车列表,element的表格之前也用到过,它把所有的东西
- 在本章中,我们将重点介绍RSA密码加密的不同实现及其所涉及的功能.您可以引用或包含此python文件以实现RSA密码算法实现.加密算法模块&
- 从内部架构和理念划分,目前JavaScript框架可以划分为5类。第一种是以命名空间为导向的类库或框架,如果创建一个数组用new Array
- 本文实例分析了Go语言多值替换的HTML模板用法。分享给大家供大家参考。具体如下:这里通过两种方式提供基于HTML模板的多变量值替换。另外附
- 正在看的ORACLE教程是:Oracle9i取得建表和索引的DDL语句。我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们
- jQuery 操作 CSSaddClass() - 向被选元素添加一个或多个类removeClass() - 从被选元素删除一个或多个类to
- 关于Python 黑魔法 metaclass 的两种极端观点:这种特性太牛逼了,是无所不能的阿拉丁神灯,必须找机会用上才能显示自己的 Pyt
- python使用qq邮箱(个人邮箱)发送邮件需开启qq邮箱的SMTP服务在设置中开启pop3/SMTP服务,返回的密码就是之后代码中登录使用
- JDBC(Java Database Connectivity),即Java数据库连接。通过JDBC编程,可以使Java应用程序和数据库进行
- 参考网址构建网络我们可以通过torch.nn包来构建网络,现在你已经看过了autograd,nn在autograd的基础上定义模型和求微分。
- 首先学习两个函数1.substring 返回字符、binary、text 或 image 表达式的一部分。基本语法:SUBSTR
- 本文实例讲述了python循环监控远程端口的方法。分享给大家供大家参考。具体如下:在ip.txt中每行一个ip地址和端口号,代码可循环监控这
- jwt详解Django之auth模块(用户认证)jwt的作用json web token,一般用于用户认证就是做用户登录的(前后端分离/微信
- 我想大多写web的朋友应该和我一样,正则是不可少的,可是每次到用时去百度一下,也麻烦,存在电脑里也得找半天~换了电脑还是得靠google了~