编程语言
首页 > 编程语言> > python-opencv调用mjpg-stream视频流

python-opencv调用mjpg-stream视频流

作者:互联网

mjpg-stream视频流地址  http://IP:8080/?action=snapshot

接下来你就可以在浏览器里看到摄像头的内容了。
接下来才是大家比较关心的问题了,如何调取这个mipg-stream流呢?由于小硕需要对采集到的图像做一些处理,于是我采用python-opencv来实现这个project.
至于怎么安装python,opencv等,我在上篇已经提过,我在这里不在赘述了。

import cv2
import urllib2
import numpy as np
import sys
host = "192.168.199.110:8300"#在这里记得修改IP,否则是无法调用的,刚刚浏览器输入的地址
if len(sys.argv)>1:
    host = sys.argv[1]
hoststr = 'http://' + host + '/?action=stream'
print 'Streaming ' + hoststr

print 'Print Esc to quit'
stream=urllib2.urlopen(hoststr)
bytes=''
while True:
    bytes+=stream.read(1024)
    a = bytes.find('\xff\xd8')
    b = bytes.find('\xff\xd9')
    if a!=-1 and b!=-1:
        jpg = bytes[a:b+2]
        bytes= bytes[b+2:]
        #flags = 1 for color image
        i = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8),flags=1)
       # print i.shape
        cv2.imshow("xiaorun",i)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            exit(0)

 

这样我们就可以利用opencv调用了远程摄像头了,方法简单实用,各位可以自行参考,如果有问题欢迎大家提问,小编邮箱1039463596@qq.com

标签:mjpg,stream,python,cv2,bytes,opencv,print,import
来源: https://www.cnblogs.com/icaowu/p/14135644.html