Python27+Opencv3 捕获网
Opencv3+Python比较常见的是播放本地avi视频文件、或者捕获PC自带摄像头视频。
现在网络摄像机遍布,而我们测试时也需要用到网络摄像机的实时视频,并进行处理,参考《opencv3计算机视觉(python语言实现)》编写了捕获网络摄像机实时视频的代码。
前提:
1、opencv+python的ffmpeg库配置ok,即videocapture返回TRUE。配置方法可以参考另一篇博文。
2、测试的网络摄像机支持rtsp协议网络串流播放(比如可以通过vlc串流播放)。
代码如下:
#蓝色字体的rtsp URL根据各自网络摄像机定义的格式,部分需要添加认证信息,格式即为:rtsp://username:password@ip/***
cap = cv2.VideoCapture('rtsp://192.168.1.60/stream2')
#判断是否正常开启
print cap.isOpened()
frameNum = 1
while(cap.isOpened()):
ret,frame = cap.read()
print frameNum
frameNum = frameNum + 1
cv2.imshow('frame',frame)
#每10帧存储一张图片
if frameNum%10 == 1:
cv2.imwrite('p_w_picpath'+str(frameNum)+'.jpg',frame)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
里面没有写视频的存储,如果需要存储视频,使用VideoWriter即可,注意其中参数VideoWriter_fourcc()需要指定编码器,同时帧率及视频分辨率也需要传入。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341