繁体   English   中英

将实时摄像头馈送从RPI计算模块流式传输到RPI 3

[英]Stream live camera feed from RPI compute module to RPI 3

我正在开发一个便携式硬件/软件应用程序,以在立体视觉配置中使用2个摄像机,并处理原始数据以输出信息。

因此,我有一个Raspberry pi Compute模块套件和一个Raspberry pi 3。

  • 计算模块套件将操作两个摄像机
  • pi 3将运行代码,因为它具有计算能力
  • OpenCV(C ++)是首选的CV软件包

由于这是便携式应用程序,因此不适合使用基于Internet的流传输。

我没有时间玩GPIO引脚,也没有找到将两个摄像机源从计算模块流到pi 3的方法。

您如何建议我继续进行? 有人进行过这样的项目吗? 您可以提供哪些链接来帮助我实现这一目标?

这是一个学位论文项目,希望在作为一个完整的原型开发时从长远来看会有所帮助。

  • 画面尺寸:640x480
  • 帧率:15 fps
  • 相机彼此相距5厘米

更新的答案

我一直在对此做一些进一步的测试。 我还使用iperf工具和我自己的简单TCP连接代码,通过有线以太网将两个Raspberry Pi相互直接连接,并测量了TCP性能。

在Raspberry Pi 2和Raspberry Pi 3上使用标准的内置10/100接口,您可以达到94Mbits / s。

但是,如果在每个Pi上放置一个TRENDnet USB3千兆适配器,然后重复测试,则将MTU设置为4088,则可以达到189Mbit / s,几乎可以达到200 Mb / s。

原始答案

我进行了快速测试-不是完整的答案-但超过了我可以添加为注释或正确格式的范围!

我通过有线以太网连接设置了2个Raspberry Pi 2s。 我将一张640x480的图片作为JPEG格式拍摄了出来,结果为178,000字节。

然后,在接收Pi上,我设置为接收1,000帧。 像这样:

#!/bin/bash
for ((i=0;i<1000;i++)); do
   echo $i
   nc -l 1234 > pic-${i}.jpg
done

在发送Pi上,我设置为将图片传输1000次:

for ((i=0;i<1000;i++)) ; do nc 192.168.0.65 1234 < pipic1.jpg ;done

这花了34秒,所以它的速度大约为33 fps,但是由于写入文件系统以及SD卡而使其停顿了很多。 因此,我删除了

nc -l 1234> pic-$ {i} .jpg

并且没有将数据写入磁盘-这是您在写入屏幕时所需要的,如下所示:

nc -l 1234 > /dev/null

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM