利用python-opencv调用mjpg-stream视频流
来源:互联网 发布:淘宝直播在哪 编辑:程序博客网 时间:2024/06/06 03:13
由于最近在做一个只能设备,需要实时传输视频,并且要调用mjpg-stream视频流进行图像处理。为了研究如何调取这个视频流,小硕就在树莓派上做了这个实验
1.在树莓派安装 编译/运行 Mjpg-Streamer 网络摄像头(电脑在ubuntu下也可以),首先我们需要想办法提取图像安装依赖。
sudo apt-get install libv4l-dev libjpeg-devsudo 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 cv2import urllib2import numpy as npimport syshost = "192.168.199.110:8300"#在这里记得修改IP,否则是无法调用的,刚刚浏览器输入的地址if len(sys.argv)>1: host = sys.argv[1]hoststr = 'http://' + host + '/?action=stream'print 'Streaming ' + hoststrprint '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
阅读全文
1 0
- 利用python-opencv调用mjpg-stream视频流
- python 调用opencv读取视频
- mjpg-stream移植
- 网络摄像头mjpg-stream
- mjpg-stream的使用
- mjpg-stream的解读
- mjpg-stream的移植
- linux安装mjpg-stream
- MJPG-Streamer视频流服务器移植
- FSPAD_702 MJPG-Streamer视频流服务器移植
- python opencv利用摄像头抓取视频(ubuntu)
- Intel Edison 移植mjpg-stream
- 树莓派mjpg-stream摄像头监控
- opencv mjpg note
- mjpg视频解码之一
- OpenCV Python 录制视频
- Python OpenCV获取视频
- OpenCV-Python:视频
- Android App中ViewPager所带来的滑动冲突问题解决方法
- ZOJ 2112 Dynamic Rankings 线段树套平衡树
- B
- 第二章 深入启动虎穴
- 质数中的质数(质数筛法)
- 利用python-opencv调用mjpg-stream视频流
- 定位
- ListIterator使用时的ConcurrentModificationException异常问题
- HDU
- Css解决表格超出部分用省略号显示
- 1099. Build A Binary Search Tree (30) <BST树>
- C
- 插入图片后多半图片出现在文字上,而不能显示全图怎么解决?
- LeetCode(29)--Divide Two Integers