python opencv录制视频_Python27+Opencv3 捕获网络摄像头IPCamera实时视频
Opencv3+Python比較常見(jiàn)的是播放本地avi視頻文件、或者捕獲PC自帶攝像頭視頻。
現(xiàn)在網(wǎng)絡(luò)攝像機(jī)遍布,而我們測(cè)試時(shí)也需要用到網(wǎng)絡(luò)攝像機(jī)的實(shí)時(shí)視頻,并進(jìn)行處理,參考《opencv3計(jì)算機(jī)視覺(jué)(python語(yǔ)言實(shí)現(xiàn))》編寫了捕獲網(wǎng)絡(luò)攝像機(jī)實(shí)時(shí)視頻的代碼。
前提:
1、opencv+python的ffmpeg庫(kù)配置ok,即videocapture返回TRUE。配置方法可以參考另一篇博文。
2、測(cè)試的網(wǎng)絡(luò)攝像機(jī)支持rtsp協(xié)議網(wǎng)絡(luò)串流播放(比如可以通過(guò)vlc串流播放)。
代碼如下:
#藍(lán)色字體的rtsp URL根據(jù)各自網(wǎng)絡(luò)攝像機(jī)定義的格式,部分需要添加認(rèn)證信息,格式即為:rtsp://username:password@ip/***
cap = cv2.VideoCapture('rtsp://192.168.1.60/stream2')
#判斷是否正常開(kāi)啟
print cap.isOpened()
frameNum = 1
while(cap.isOpened()):
ret,frame = cap.read()
print frameNum
frameNum = frameNum + 1
cv2.imshow('frame',frame)
#每10幀存儲(chǔ)一張圖片
if frameNum%10 == 1:
cv2.imwrite('p_w_picpath'+str(frameNum)+'.jpg',frame)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
里面沒(méi)有寫視頻的存儲(chǔ),如果需要存儲(chǔ)視頻,使用VideoWriter即可,注意其中參數(shù)VideoWriter_fourcc()需要指定編碼器,同時(shí)幀率及視頻分辨率也需要傳入。
總結(jié)
以上是生活随笔為你收集整理的python opencv录制视频_Python27+Opencv3 捕获网络摄像头IPCamera实时视频的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [转载]中国传统武术的困境与出路----
- 下一篇: 技术入股的坑