学习python-opencv视频读取类cv2.VideoCapture完成跳帧截取视频图片
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了学习python-opencv视频读取类cv2.VideoCapture完成跳帧截取视频图片,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1844字,纯文字阅读大概需要3分钟。
内容图文
![学习python-opencv视频读取类cv2.VideoCapture完成跳帧截取视频图片](/upload/InfoBanner/zyjiaocheng/848/0f2bb9b1984046aca98e504bf012ce7a.jpg)
希望通过cv2.VideoCapture类截取视频帧图片,期间只能截取视频的每帧图片,不能跳帧截取图片,原来是在读取视频帧的时候没有写入ret, frame = cv2.VideoCapture.read()。
ret, frame = cv2.VideoCapture.read()函数输出的是两个参数,第一个参数ret 为True 或者False,代表有没有读取到图片第二个参数frame表示截取到一帧的图片。
修改前代码(只能逐帧逐帧截取视频帧图片):
import cv2
import os
def save_img():
video_path = r'你的视频绝对路径'
videos = os.listdir(video_path)
for video_name in videos:
file_name = video_name.split('.')[0]
folder_name = file_name
os.makedirs(folder_name,exist_ok=True)
vc = cv2.VideoCapture(video_path+video_name) #读入视频文件
c = 1
if vc.isOpened(): # 判断是否正常打开
rval, frame = vc.read()
else:
rval = False
timeF = 300 # 视频帧计数间隔频率
while rval: # 循环读取视频帧
pic_path = folder_name + '/'
if (c % timeF == 0): # 每隔timeF帧进行存储操作
cv2.imwrite(pic_path + file_name + '_' + str(c) + '.jpg', frame)#存储图像
c = c + 1
cv2.waitKey(1)
vc.release()
save_img()
修改后代码(能够跳帧截取视频帧):
import cv2
import os
def save_img():
video_path = r'D:\python3-PycharmProjects1\video2picture\20180911-12-48-31\data\123/'
videos = os.listdir(video_path)
for video_name in videos:
file_name = video_name.split('.')[0]
folder_name = file_name
os.makedirs(folder_name,exist_ok=True)
vc = cv2.VideoCapture(video_path+video_name) #读入视频文件
c = 1
if vc.isOpened(): # 判断是否正常打开
rval, frame = vc.read()
else:
rval = False
timeF = 300 # 视频帧计数间隔频率
while rval: # 循环读取视频帧
rval, frame = vc.read()
pic_path = folder_name + '/'
if (c % timeF == 0): # 每隔timeF帧进行存储操作
cv2.imwrite(pic_path + file_name + '_' + str(c) + '.jpg', frame) # 存储为图像,保存名为 文件夹名_数字(第几个文件).jpg
c = c + 1
cv2.waitKey(1)
vc.release()
save_img()
以后写代码需要仔细检查。
参考博客:https://blog.csdn.net/qq_38214193/article/details/80997924
内容总结
以上是互联网集市为您收集整理的学习python-opencv视频读取类cv2.VideoCapture完成跳帧截取视频图片全部内容,希望文章能够帮你解决学习python-opencv视频读取类cv2.VideoCapture完成跳帧截取视频图片所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。