opencv resize_2种路径法Python-OpenCV:将林心如图片转换成视频

1 说明:

======

1.1 图片来源:今日头条免费正版图库,下载林心如照片13张。

7cd6dd7a324a51912bd7c40025c9a6cb.png

lxr1.jpeg

1.2 环境:python3.8,深度操作系统deepin-linux,微软编辑器vscode,opencv版本4.2.0。

1.3 向女神致敬,哎呀,暴露年龄了。

1.4 学习OpenCV图片转换视频的方法,复习python路径的2种方法。

2 方法一:OS法:

============

2.1 代码:

#第1步:导入模块import osimport cv2#第2步:参数设置#指定路径和文件夹path = '/home/xgj/Desktop/python-clock/pic/'#用os法设置路径filelist = os.listdir(path)fps = 1 #视频每秒1帧,数值越大速度越快size = (640, 480) #需要转为视频的图片的尺寸#第3步:生成视频和路径,生成视频参数设置#注意视频格式AVI,那么参数fourcc不同video = cv2.VideoWriter("/home/xgj/Desktop/python-clock/girl1.avi", cv2.VideoWriter_fourcc('I', '4', '2', '0'), fps, size)#读取图片for item in filelist:    if item.endswith('.jpeg'):     #找到路径中所有后缀名为.jpeg格式图片,注意其他格式需要上面修改        item = path + item        img = cv2.imread(item)        #修改图片大小,为指定的统一大小,否则图片大小不一致会失败        shrink = cv2.resize(img, size, interpolation=cv2.INTER_AREA)          #写入图片为视频        video.write(shrink)video.release()cv2.destroyAllWindows()

2.2 效果视频:

0ead53e78b30ee908721b19bad30823a.gif

3 知识点:

=======

3.1 OpenCV的cv2.VideoWriter_fourcc函数:

视频格式为:avi时cv2.VideoWriter_fourcc('I', '4', '2', '0')。

视频格式为:mp4时 cv2.VideoWriter_fourcc(*'MJPG')。

3.2 注意:

cv2.VideoWriter_fourcc(*'MJPG')

等同于:

cv2.VideoWriter_fourcc('M','J','P','G') #opencv 大于3.0版本

4 方法二:glob法

=============

4.1 代码:

# encoding: UTF-8import glob as gbimport cv2#指定路径和文件夹下的所以jpeg文件img_path = gb.glob("/home/xgj/Desktop/python-clock/pic/*.jpeg") #写入视频videoWriter = cv2.VideoWriter('/home/xgj/Desktop/python-clock/girl2.mp4', cv2.VideoWriter_fourcc(*'MJPG'), 2, (640,480))for path in img_path:    img  = cv2.imread(path)    # 保证每张图片的分辨率一样,才能做出可以播放的视频    img = cv2.resize(img,(640,480))    videoWriter.write(img)

4.2 修改图片大小为指定法,也嵌入到代码中,注意与代码一不同。

4.3 python glob模块相关知识。

4.3.1 glob是python自带的一个操作文件的相关模块,功能比较少。

4.3.2 功能:

用它可以查找符合特定规则的文件路径名。

查找文件只用到三个匹配符:"*", "?", "[]"。

"*"匹配0个或多个字符;

"?"匹配单个字符;

"[]"匹配指定范围内的字符,如:[0-9]匹配数字。

4.3.3 glob.glob

可以对文件夹下所有文件进行遍历,并保存为一个list列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值