python cv2 截取视频指定帧图片
生活随笔
收集整理的這篇文章主要介紹了
python cv2 截取视频指定帧图片
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
上代碼:
import cv2cap = cv2.VideoCapture('XXX.avi') #返回一個(gè)capture對象 cap.set(cv2.CAP_PROP_POS_FRAMES,50) #設(shè)置要獲取的幀號 a,b=cap.read() #read方法返回一個(gè)布爾值和一個(gè)視頻幀。若幀讀取成功,則返回True cv2.imshow('b', b) cv2.waitKey(1000)封裝?
import cv2def get_video_png(video_path, png_path, zhen_num=1):"""獲取視頻封面:param video_path: 視頻文件路徑:param png_path: 截取圖片存儲路徑:param zhen_num: 指定截取視頻第幾幀:return: """vidcap = cv2.VideoCapture(video_path)# 獲取幀數(shù)zhen_count = vidcap.get(7)if zhen_num > zhen_count:zhen_num = 1print(f"zhen_count = {zhen_count} | last zhen_num = {zhen_num}")# 指定幀vidcap.set(cv2.CAP_PROP_POS_FRAMES, zhen_num)success, image = vidcap.read()# n = 1# while n < 30:# success, image = vidcap.read()# n += 1imag = cv2.imwrite(png_path, image)if __name__ == "__main__":zhen_num = 1video_path = './test.mp4'png_path = f'./test_{zhen_num}.png'get_video_png(video_path, png_path, zhen_num)其他方法:
cv2.VideoCapture.get(0) 視頻文件的當(dāng)前位置(播放)以毫秒為單位 cv2.VideoCapture.get(1) 基于以0開始的被捕獲或解碼的幀索引 cv2.VideoCapture.get(2) 視頻文件的相對位置(播放):0=電影開始,1=影片的結(jié)尾。 cv2.VideoCapture.get(3) 在視頻流的幀的寬度 cv2.VideoCapture.get(4) 在視頻流的幀的高度 cv2.VideoCapture.get(5) 幀速率 cv2.VideoCapture.get(6) 編解碼的4字-字符代碼 cv2.VideoCapture.get(7) 視頻文件中的幀數(shù)?
?
總結(jié)
以上是生活随笔為你收集整理的python cv2 截取视频指定帧图片的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu: /lib/modules
- 下一篇: MVS学习(一):综述论文阅读记录