2019/04/15 在调试https://blog.csdn.net/hjw2719/article/details/83473199中程序时出现的问题

 学习python-opencv视频读取类cv2.VideoCapture完成跳帧截取视频图片

原文:https://blog.csdn.net/hjw2719/article/details/83473199

import cv2
import os
def save_img():
    video_path = r'你的视频绝对路径' # D:/Videos/
    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()

文中的“你的视频绝对路径”指的是存储待处理视频文件的文件夹路径,我的路径是:

D:/Videos

这里面只能有一个视频文件,不能有其它类型的文件,我在运行以上文件的时候出现了一下的错误提示

C:\Users\Administrator\Anaconda3\python.exe "D:/Pycharm Project/Test1/test_1.py"
warning: Error opening file (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:901)
warning: D:/Videostest1.avi (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:902)

Process finished with exit code 0

看第三行的warning: warning: D:/Videostest1.avi (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:902)

我的视频文件名是test1.avi,这里程序却将文件夹名和文件名组合成了一个不存在的文件,导致出错。

修改的方法是在把绝对路径改成:

D:/Videos/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值