利用python-opencv调用mjpg-stream视频流
2017-07-29 17:40
1916 查看
由于最近在做一个只能设备,需要实时传输视频,并且要调用mjpg-stream视频流进行图像处理。为了研究如何调取这个视频流,小硕就在树莓派上做了这个实验
1.在树莓派安装 编译/运行 Mjpg-Streamer 网络摄像头(电脑在ubuntu下也可以),首先我们需要想办法提取图像安装依赖。
2.下载代码,并编译
3.然后就可以启动了
4.打开浏览器,输入你的IP
接下来你就可以在浏览器里看到摄像头的内容了。
接下来才是大家比较关心的问题了,如何调取这个mipg-stream流呢?由于小硕需要对采集到的图像做一些处理,于是我采用python-opencv来实现这个project.
至于怎么安装python,opencv等,我在上篇已经提过,我在这里不在赘述了。
这样我们就可以利用opencv调用了远程摄像头了,方法简单实用,各位可以自行参考,如果有问题欢迎大家提问,小编邮箱1039463596@qq.com
1.在树莓派安装 编译/运行 Mjpg-Streamer 网络摄像头(电脑在ubuntu下也可以),首先我们需要想办法提取图像安装依赖。
sudo apt-get install libv4l-dev libjpeg-dev sudo apt-get install libjpeg62-dev
2.下载代码,并编译
**git clone https://github.com/jacksonliam/mjpg-streamer cd ~/mjpg-streamer/mjpg-streamer-experimental sudo make clean all git clone https://github.com/jacksonliam/mjpg-streamer cd ~/mjpg-streamer/mjpg-streamer-experimental sudo make clean all**
3.然后就可以启动了
多个的时候 ./mjpg_streamer -i 'input_uvc.so -d /dev/video0' -o 'output_http.so -p 8080 ' ./mjpg_streamer -i 'input_uvc.so -d /dev/video1' -o 'output_http.so -p 8001 -w ./www1'
4.打开浏览器,输入你的IP
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
相关文章推荐
- 【图像识别】 Python+Opencv调用摄像头实现人脸识别并保存视频
- python+openCV利用cascade分类器训练实现实时视频车辆检测与车牌检测(一)
- python 调用opencv读取视频
- python opencv利用摄像头抓取视频(ubuntu)
- Linux下利用SWIG完成Python对使用OpenCV的C++文件的调用
- 利用opencv编写dll,在另一个MFC程序中调用显示视频,dll可以用于没有装opencv的电脑中
- python调用Opencv3
- Python3 & OpenCV 视频转字符动画
- Window7系统 opencv 利用DirectShow 进行视频采集的解决方案
- python+opencv之视频人脸识别
- 关于在windows下利用QT进行opencv跨平台视频开发
- python-opencv的一段比较稳定的摄像头视频读取代码
- 利用opencv改变视频长宽
- 利用python-opencv进行颜色标定
- OpenCV与Python之图像的读入与显示以及利用Numpy的图像转换
- 调用opencv相关函数,从视频流中提取出图片序列&&&&jpg图片序列,转化成avi格式视频
- 1.1-学习Opencv与MFC混合编程之---利用画图函数,生成视频,并写入视频文件
- 【扇贝批量添加单词到词库】利用python调用扇贝API (oauth2)
- 利用ffmpeg和opencv进行视频的解码播放
- 利用python调用elasticsearch-api来分析数据并作图进行日报邮件发送