Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例
1. 安裝Opencv包
pip install opvencv-python
2.實(shí)現(xiàn)代碼:
視頻轉(zhuǎn)為圖片:
import cv2 cap=cv2.VideoCapture('E:/video/video-02.mp4') # 獲取一個(gè)視頻打開cap isOpened=cap.isOpened # 判斷是否打開 print(isOpened) fps=cap.get(cv2.CAP_PROP_FPS) print(fps) # 獲取寬度 width=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 獲取高度 height=int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) i=0 while(isOpened): # 保存前十幀 if i==10: break else: i+=1 (flag,frame)=cap.read() # 讀取每一幀,一張圖像flag 表明是否讀取成果 frame內(nèi)容 fileName='E:/video/image'+str(i)+'.jpg' print(fileName) # flag表示是否成功讀圖 if flag==True: # 控制質(zhì)量 cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY,100]) print('end!')
圖片保存為視頻:
import os import cv2 import numpy as np path = 'E:/video/img' filelist = os.listdir(path) #fourcc = cv2.cv.CV_FOURCC('M','J','P','G') #opencv版本是2 fourcc = cv2.VideoWriter_fourcc(*'XVID') #opencv版本是3 fps = 5 # 視頻每秒24幀 size = (1920, 1080) # 需要轉(zhuǎn)為視頻的圖片的尺寸 # 可以使用cv2.resize()進(jìn)行修改 video = cv2.VideoWriter('E:/video/2.avi', fourcc, fps, size) # 視頻保存在當(dāng)前目錄下 for item in filelist: if item.endswith('.jpg'): # 找到路徑中所有后綴名為.png的文件,可以更換為.jpg或其它 item = path + item img = cv2.imread(item) video.write(img) video.release() cv2.destroyAllWindows()
以上就是Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例的詳細(xì)內(nèi)容,更多關(guān)于python 圖片、視頻互轉(zhuǎn)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python 生成一個(gè)從0到n個(gè)數(shù)字的列表4種方法小結(jié)
今天小編就為大家分享一篇Python 生成一個(gè)從0到n個(gè)數(shù)字的列表4種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python實(shí)現(xiàn)簡(jiǎn)單的"導(dǎo)彈" 自動(dòng)追蹤原理解析
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單的"導(dǎo)彈" 自動(dòng)追蹤原理解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Python 函數(shù)繪圖及函數(shù)圖像微分與積分
今天小編就為大家分享一篇Python 函數(shù)繪圖及函數(shù)圖像微分與積分,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11numpy實(shí)現(xiàn)合并多維矩陣、list的擴(kuò)展方法
今天小編就為大家分享一篇numpy實(shí)現(xiàn)合并多維矩陣、list的擴(kuò)展方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05python內(nèi)置函數(shù)map/filter/reduce詳解
在Python中,map(), filter(), 和 reduce() 是內(nèi)置的高級(jí)函數(shù)(實(shí)際是class),用于處理可迭代對(duì)象(如列表、元組等)的元素,這篇文章主要介紹了python內(nèi)置函數(shù)map/filter/reduce的相關(guān)知識(shí),需要的朋友可以參考下2024-05-05CentOS 6.5下安裝Python 3.5.2(與Python2并存)
這篇文章主要給大家介紹了在CentOS 6.5下安裝Python 3.5.2的方法教程,安裝后的python3與Python2并存,文中分享了詳細(xì)的方法步驟,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,下面來一起看看吧。2017-06-06