当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]在这个项目的第一个版本中,我创建了一个三脚架安装的立体3D相机,它通过HTTP传输立体视频流,这样它就可以在谷歌Cardboard这样的立体观看器上观看。在这个设置中,我使用了两台Raspberry Pi zero,每个都有自己的摄像头。

在这个项目的第一个版本中,我创建了一个三脚架安装的立体3D相机,它通过HTTP传输立体视频流,这样它就可以在谷歌Cardboard这样的立体观看器上观看。在这个设置中,我使用了两台Raspberry Pi zero,每个都有自己的摄像头。

在这个更新的项目中,我使用树莓派5,它有两个摄像头插槽,因此可以在单板上容纳两个摄像头。

代码也已更新,以利用新的PiCamera2 python库。版本1使用了PiCamera,因为最新的树莓派操作系统仍然没有python支持libcamera。更新后的代码支持两种设置-使用2板,2摄像头设置树莓派零或1板,2摄像头设置树莓派5。它还利用Javascript来防止屏幕自动锁定。

在这个项目中,我将主要关注Raspberry Pi 5的设置。您可以参考前面的项目了解Raspberry Pi Zero安装的具体细节,包括将它们安装在机箱上并共享电源轨,因此两者都可以通过单个电源适配器供电。

立体3D图像/视频试图复制我们亲眼所见的东西。你的双眼相距约2.5英寸或6厘米(60毫米)(也称为眼间距离)。因此,每只眼睛从略微不同的角度和角度看图像。大脑将这两个图像结合成一个无缝的图像,并利用这些信息来测量距离和深度。这也被称为双目视觉。

我们可以用一个3D立体摄像机来复制这个过程,用两个相距大致眼间距离的摄像机。这两幅图像(左图和右图)然后使用谷歌Cardboard等立体观看器分别呈现给每只眼睛。然后,大脑将这些图像结合起来,处理视角和角度的细微差异,从而产生深度感知,即3D图像!

在这个项目中,我用一个树莓派5和两个树莓派相机2s建立了一个立体3D相机,安置在树莓派3/4/5的ProtoStax外壳中。

我也使用ProtoStax立体3D相机套件树莓派相机- 60mm立体底座,它允许你安装两个Pi相机2坐落,你猜它相隔60mm -我们的眼间距离(也称为轴间距离或立体底座时,参考相机设置)!它还配备了一个三脚架安装件,使整个外壳三脚架安装。

我们将使用Python将来自两个摄像头的摄像头输出流式传输到基于左眼/右眼浏览器的复合视频流中。然后,您可以在手机上的浏览器上打开这个立体声视频流,并将其放置在谷歌Cardboard等立体观看器中,然后voilom !-我们有我们的3D立体流媒体相机和查看器!

现在,你可以给你的奶奶或奶奶带一个3D参观你的房子,而不必让他们爬楼梯或离开舒适的椅子,因为你去操作相机,让他们远程观看!

或者玩一些愚蠢的3D游戏,你可以让你的朋友或家人看到你通过谷歌Cardboard呈现的世界——转动相机,对准他们,看看他们在3D中看到自己时的反应!很迷糊了!

免责声明-晕动病患者在观看VR头显或立体相机时可能会感到有点恶心。如果你开始感到恶心,只要放松立体相机观看!

另一个免责声明-两个摄像机不是同步在这里,这个项目不是用于硬核立体视频使用。为此,您可以使用其他硬件,例如Arducam的同步立体相机HAT用于树莓派(或来自Arducam的其他类似产品)。ProtoStax外壳有足够的空间放置HAT,因此您可以升级项目以使用硬件同步摄像机。您还可以尝试使用软件技术来改进性能和同步。在“前进”一节中提到了如何改进这个项目。

好了,我们开始吧!

第一步:准备树莓派

如果您是从头开始,您需要首先为您的树莓派5配置SD卡和树莓派操作系统。Raspberry Pi Imager工具允许您在创建启动映像时提前进行一些配置。

由于我们将在无头设置中使用树莓派(未连接到显示器或电视),因此您需要在它们上启用SSH。我们还希望它们在启动时直接连接到无线网络。我们可以使用树莓派Imager工具设置提供WIFI网络名称和密码凭证。

一旦我们这样做了,我们可以做其余的设置稍后,在我们启动我们的立体流媒体相机硬件设置。我们可以SSH到Raspberry Pi,并完成其余的设置,包括获取源代码和运行程序。

步骤2:设置硬件

首先将树莓派5安装在树莓派5 / 4 / 3型号B/B+的ProtoStax机箱上。

接下来,安装树莓派相机的顶部板的ProtoStax立体3D相机套件树莓派相机。

将Pi相机安装到顶板上

连接相机线到树莓派5。或者,您可以在将相机安装到顶板之前将相机连接到树莓派5上!只要你觉得容易就行!

离以太网接口最近的摄像机槽位为camera 0。它旁边的插槽(靠近HDMI端口)是相机1。在我的设置中,我将右摄像头连接到槽0,将左摄像头连接到槽1。如果您交换了它们,只需适当地更新代码。

添加侧壁(包括一个/两个三脚架安装侧壁从ProtoStax立体3D相机套件树莓派相机),并关闭一切。

完成外壳与三脚架安装

这是最后完成立体相机设置,与附加的三脚架安装适配器板(这将完全取决于你有三脚架的类型!)。

步骤3:配置树莓派

使用最新的树莓派和树莓派操作系统,你不需要做很多额外的配置。之前,您需要使用raspi-config启用相机接口。现在,当摄像头连接到接口上时,它们会自动启用。

步骤4:配置软件

你可以从GitHub下载该软件。或者,您可以使用git安装它

该程序将通过一个简单的web服务器暴露相机的两个MJPG视频流,如:

(*将上面的raspberrypi5替换为您为pi选择的主机名)

该程序还有一个主页(index.html),将两个视频流显示为立体图像(并排),如

您可以打开手机浏览器上的链接(只需确保您的手机与树莓派在同一网络上),并将手机放在谷歌Cardboard(或类似的查看器)等3D立体查看器中,以便在您的查看器上获得3D立体流媒体相机。

因此,观众可以看到3D的一切。摄像机操作员可以四处移动,让观众从舒适的沙发上享受3D之旅!

第五步:调焦相机和其他技巧

为了获得最佳性能,您可以对焦树莓派相机2的镜头,以获得更清晰的图像。您可以使用树莓派相机的镜头调整工具来轻松调整焦点。

为了获得最佳的流媒体性能,请确保您的树莓派上没有运行太多其他程序或服务。如果您从SD卡图像开始,这应该不是问题。但是,如果您从已经配置的现有树莓派开始,请确保您已经停止并禁用了额外的服务,因此流媒体性能不会受到影响。

当您在手机上的浏览器上打开立体流链接时,最好隐藏工具栏,这样查看器中的无关元素就会最小化。您需要在查看器中横向调整手机,以便图像显示为单个平滑的3D图像(并且没有模糊的伪影)。

更新后的代码在这个项目也可以防止屏幕锁定踢在一段时间后,这将发生如果手机被放置在谷歌纸板查看器-只需点击“唤醒锁定被禁用”按钮启用它!当它被启用时,背景变为黑色。

代码

这个代码是基于Picamera库的Web视频流的高级配方,它开始将相机的视频流记录到缓冲区,然后通过http请求处理程序提供帧。它已经更新为在最新版本的树莓派操作系统上使用PiCamera2。web服务器在端口8000上启动。您可以使用raspberrypi5.local:8000/leftstream查看每个相机的每个单独的mjpg流。或raspberrypi5.local:8000/rightstream.mjpg

这个简单的web服务器将使用一些HTML和CSS将左右mjpg流配置为带有拆分视图的单个页面,并提供对主页请求的响应(raspberypi5)。本地:8000/或index.html页面(raspberrypi5.local:8000/index.html)。因此打开主页将提供一个立体视频流。

下面是用来格式化页面的HTML和CSS:

它利用了richtr的NoSleep.js javascript库来防止手机屏幕在一段时间不活动后自动锁定,这将发生在手机处于谷歌Cardboard Viewer中时。在版本1中,我建议你使用手机的设置关闭自动锁定功能。更新后的代码使其更方便,更易于使用。

代码也有另一个HTML/CSS设置为2摄像头,2 Pi零设置,结合流从左摄像头。本地和右凸轮。本地pi(更新名称以匹配您的设置)。

为了使代码在启动时自动运行,您需要将其作为服务运行。GitHub页面的README有关于如何做到这一点的说明,包括服务的配置文件。

展望未来:

和往常一样,我想在结束时谈谈如何用自己的补充来推进这个项目!一旦您熟悉了代码示例并理解了代码,尝试通过做更多的事情来扩展您的学习总是好的。以下是一些建议:

•在Pi上将python流程序作为服务运行,这样它就会在Pi启动时自动启动。GitHub链接有关于如何做到这一点的说明。

•我们目前使用MJPEG格式流媒体视频。使用MPEG1或其他可能提供更好性能的格式进行流式传输

•添加拍摄立体照片的功能——在树莓派的GPIO上添加一个按钮,并使用该按钮从两个相机中拍摄左右照片,并将它们拼接在一起,形成立体二人组

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭