基于 Python & OpenCV 的视频解包

偶尔改个视频或者想从视频中提取点图片什么的但是发现网上很难找到把视频逐帧解包的软件于是只好自己写一个喽其实本身这个程序的流程并不难,读取 – 输出 就可以了代码如下(部分引用自http://blog.csdn.net/gjy095/article/details/9205207

import sys
import cv2
if len(sys.argv) < 2 or len(sys.argv) > 3:
    print('Usage: python ' + sys.argv[0] + ' file [skip]')
    sys.exit()
capture = cv2.VideoCapture(sys.argv[1])
i = 0
if len(sys.argv) == 3 and sys.argv[2]:
    i = int(sys.argv[2])
    capture.set(cv2.CAP_PROP_POS_FRAMES, i)
if capture.isOpened():
    while True:
        ret, prev = capture.read()
        if ret==True:
            i += 1
            cv2.imwrite('out/'+str(i)+'.png', prev)
            
            # 这里会在显示的图片左上角加上编号
            cv2.putText(prev, 'Frame: '+str(i), (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1,(255,255,0), 1)
            cv2.imshow('video', prev)
        else:
            break
        if cv2.waitKey(1)==27:
            break
else:
    print "failed"
cv2.destroyAllWindows()

最后附个之前用此方法修出来的一个MAD(人气冷得很嗯)

1 评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注