基于mjpg-streamer远程视频WEB监控 项目手札

    写个项目博客,方便以后查找,记录自己项目中遇到的问题

  这里我先看了一下劳神的有关这个项目的博客

 http://blog.csdn.net/laoylhuli/article/details/8544361#comments

  硬件 mini2440

 usb摄像头 zx301

   最近要做一个 环境数据采集的项目,网上找了一下,发现mjpg-streamer 这个开源软件做的很好,于是就按照http://blog.csdn.net/sdustliyang/article/details/6854473

  这篇博客的指导开始做了一下,因为没有usb无线网卡加我是一个屌丝的原因,我就采用了通过网络浏览CMOS或USB摄像头-20100405》这样一个PDF文件做了这个项目,但是在最后执行的时候发了错误。因为mini2440提供编译好的tar包根本就不能用,所以我自己用了源码包重新编译了一下。

  这个我要感谢一个大神帮忙指出的一个问题。

  http://blog.csdn.net/songqqnew/article/details/7016904 这里贴出来,万分感谢这个大神指出的问题。

  然后就是执行出结果。

  这里贴张图

 

  第二天我又重新调试这个项目,结果不知道什么原因,各种ping 不通,查了查,不是那些小白原因,貌似是因为开发板一旦断电重启就无法和虚拟机进行重新的网络连接,要自己手动才行,估计是网线的问题,也有可能是因为我再之前修改了一下那个开发板的网络配置文件的原因

  http://zzhere2007.blog.163.com/blog/static/85336771201110910360495/(修改依据的博客)所以以后一定要慎重呀!!!不要乱改乱画。这里我又要说linux的用户权限设的真是好哇!!!

  于是我又各种找方法,http://blog.csdn.net/chchchdx123/article/details/6914199

   在这篇博客里我找到了一种方法试了试,ping通,哎,还不错。

   http://blog.csdn.net/tonywgx/article/details/7629989(这篇文章也可以看看)

  然后我又测试了一下这个工作稳定性,发现有点不尽人意,不过实验室阶段可以拿出来用了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要安装mjpg-streamer到你的树莓派上,可以通过以下命令进行安装: ``` sudo apt-get update sudo apt-get install subversion libjpeg-dev imagemagick libv4l-dev svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer cd mjpg-streamer/mjpg-streamer make sudo make install ``` 安装完毕后,你需要下载并安装OpenCV,可以通过以下命令进行安装: ``` sudo apt-get install libopencv-dev python-opencv ``` 现在,你已经准备好开始使用mjpg-streamer和OpenCV来实现人形检测了。以下是一些基本步骤: 1. 启动mjpg-streamer ``` cd /usr/local/share/mjpg-streamer/ ./mjpg_streamer -i "input_uvc.so" -o "output_http.so -w ./www" ``` 这将启动mjpg-streamer并将其绑定到默认的视频设备(通常是/dev/video0)。现在你可以在浏览器中输入你的树莓派IP地址和端口号(默认为8080)来查看摄像头的实时视频流。 2. 导入OpenCV 在Python中,你需要导入OpenCV库来处理视频流和图像: ``` import cv2 ``` 3. 检测人形 以下是一个简单的示例代码,用于从mjpg-streamer视频流中检测人形: ``` import cv2 cap = cv2.VideoCapture('http://localhost:8080/?action=stream') while True: ret, frame = cap.read() if not ret: break gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 使用OpenCV的人形分类器进行检测 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') faces = face_cascade.detectMultiScale(gray, scaleFactor=1.5, minNeighbors=5) # 在图像上绘制检测到的人形 for (x, y, w, h) in faces: cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2) cv2.imshow('frame', frame) if cv2.waitKey(1) == ord('q'): break cap.release() cv2.destroyAllWindows() ``` 在这个示例中,我们从mjpg-streamer视频流中读取每一帧,并将其转换为灰度图像。然后,我们使用OpenCV的人形分类器来检测人形,然后在图像上绘制矩形来标识检测到的人形。最后,我们在窗口中显示标记的图像。 请注意,这只是一个简单的示例,你可以根据自己的需求进行自定义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值