之前有文章,使用Android平臺的OpenCV接入了視頻,控制的目標(biāo)是手機(jī)的攝像頭,這是OpenCV的好處,使用OpenCV可以使用跨平臺的接口實(shí)現(xiàn)相同的功能,減少了平臺間移植的困難。正如本文后面,將使用類似的接口,從筆記本的攝像頭獲取視頻,所以,嘗試本文代碼需要有一臺有攝像頭的電腦。
不過,需要說明的的是,OpenCV的強(qiáng)項(xiàng)在于圖像相關(guān)的處理,而不是視頻的編解碼,所以,不要使用OpenCV做多余的事情,我們使用OpenCV接入視頻或者圖片的目的,是為了對視頻或圖片進(jìn)行處理。
關(guān)于Python下配置OpenCV的過程,由于不能直接使用pip進(jìn)行安裝,過程相對復(fù)雜一些,不過,網(wǎng)上文章很多,多查閱一些資料,需要注意的是,要清楚自己的Python的版本,Python2和Python3的配置方法不同。
本節(jié)實(shí)現(xiàn)的是使用內(nèi)建攝像頭捕獲視頻,并顯示視頻的每一幀以實(shí)現(xiàn)視頻的播放。
下面進(jìn)入我們的主題,配置好OpenCV以后,創(chuàng)建一個video_capture.py文件,內(nèi)容如下:
#!/usr/bin/env python3 import cv2 #創(chuàng)建顯示視頻的窗口 cv2.namedWindow('Video') #打開攝像頭 video_capture = cv2.VideoCapture(0) #創(chuàng)建視頻寫入對象 video_writer = cv2.VideoWriter('test.avi', cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'), video_capture.get(cv2.CAP_PROP_FPS), (int(video_capture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(video_capture.get(cv2.CAP_PROP_FRAME_HEIGHT)))) #讀取視頻幀,對視頻幀進(jìn)行高斯模糊,然后寫入文件并在窗口顯示 success, frame = video_capture.read() while success and not cv2.waitKey(1) == 27: blur_frame = cv2.GaussianBlur(frame, (3, 3), 0) video_writer.write(blur_frame) cv2.imshow("Video", blur_frame) success, frame = video_capture.read() #回收資源 cv2.destroyWindow('Video') video_capture.release()
網(wǎng)頁標(biāo)題:PythonOpenCV獲取視頻的方法-創(chuàng)新互聯(lián)
分享地址:http://www.rwnh.cn/article32/cspdsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站制作、軟件開發(fā)、服務(wù)器托管、網(wǎng)站維護(hù)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容