想使用openCV打开一个IP摄像头,这个IP摄像头采用安卓手机硬件+软件制作。把手机摄像头改装为IP摄像头的软件来自这里http://www.haban.cn/,
参考某网站http://stackoverflow.com/questions/5968508/problem-with-python-and-ip-camera的提示,在电脑firefox浏览器上查看IP摄像头的内容,知道浏览器输入如下类型的地址,
http://userid:password@ipaddress:portid/
http://admin:admin@10.42.0.53:8081/
可以查看摄像。通过查看网页源码,知道图片来自/video,如果输入下面这句,
http://userid:password@ipaddress:portid/video
http://admin:admin@10.42.0.53:8081/video
看到这个图片不停的跳动,而且是jpeg格式的。所谓mjpeg格式吧。
那么怎么在Python中调用成功调用该摄像头呢?下面是我的源代码。
import sys import cv video="http://admin:admin@10.42.0.53:8081/video" capture =cv.CaptureFromFile(video) cv.NamedWindow('Video Stream', 1 ) while True: # capture the current frame frame = cv.QueryFrame(capture) if frame is None: break else: #detect(frame) cv.ShowImage('Video Stream', frame) if k == 0x1b: # ESC print 'ESC pressed. Exiting ...' break
该问题已解决。见 http://my.oschina.net/bubifengyun/blog/540053