用下面代码提取视频帧并保存成图片,然而res一直返回False,路径都没问题,用isOpended()检查返回也是 True。
import os
import cv2 """
功能:将视频转成图片(提取视频的每一帧图片) 1.能够设置多少帧提取一帧图片 2.可以设置输出图片的大小及灰度图 3.手动设置输出图片的命名格式
"""
def ExtractVideoFrame(video_input,output_path): # 输出文件夹不存在,则创建输出文件夹 if not ists(output_path): os.mkdir(output_path) times = 0 # 用来记录帧 frame_frequency = 10 # 提取视频的频率,每frameFrequency帧提取一张图片,提取完整视频帧设置为1 count = 0 # 计数用,分割的图片按照count来命名 cap = cv2.VideoCapture(video_input) # 读取视频文件 print('开始提取', video_input, '视频的图片') while True: times += 1 res, image = ad() # 读出图片。res表示是否读取到图片,image表示读取到的每一帧图片 if not res: print('图片提取结束') break if times % frame_frequency == 0: # picture_gray = CV2.cvtColor(image, CV2.COLOR_BGR2GRAY) # 将图片转成灰度图 # image_resize = size(image, (368, 640)) # 修改图片的大小 img_name = str(count).zfill(6)+'.jpg' cv2.imwrite(output_path + os.sep + img_name, image) count += 1 print(output_path + os.sep + img_name) # 输出提示 lease()
if __name__=="__main__":
video_input = ''
output_path = ''
ExtractVideoFrame(video_input,output_path)
保证安装的opencv-python 和opencv-contrib-python版本一致,如不一致卸载重装一个
pip list #检查安装版本
如果还没解决
pip uninstall opencv-python-headless
pip install "opencv-python-headless<4.3"
最终
pip list
之后如下图
本文发布于:2024-01-29 16:58:42,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170651872516833.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |