StereoPi上的全景图

图片

我们将继续尝试同时配备两个摄像头的Raspberry Pi。 让我提醒您,所有游戏都是围绕Raspberry Pi Compute Module 3 Lite(插入StereoPi婴儿床)进行的。

在过去的评论中,我们并行安装了摄像头并使用了立体声效果。 这里的方法正好相反:相机朝不同的方向看,但配备了广角镜(200度)。 我们将胶合360度球形全景!

介绍性


分心:由于没有关于哈布雷的文章的共同作者,因此我将提及主要内容。 该实验是与我(铁和现场实验)以及@Gol (软件部分)共同进行的。

让我们从结尾开始:这是结果,实际上是全景图

因此,这次尝试制作球形全景图。 徒劳无功,船上有两个摄像头。 当然,可以以多路复用模式将两个摄像机连接到普通树莓派(一个摄像机可以工作,另一个摄像机可以通过GPIO选择合适的摄像机)。 但是,随后将依次拍摄帧,如果有运动,则感觉不是很好。 的确,当从两个摄像机“同时”拍摄两个立体声摄像机时,也没有同步,愚蠢的是同时启动了两个raspistill。 但是,边界上的对象散布的可能性更大。 您也可以同时使用两台摄像机拍摄视频,然后将其缝制成球形视频全景图。 但是,然后我将以某种方式尝试一下,首先您需要处理照片全景。


我们有StereoPi ,有两个带鱼眼镜头(200度)的相机。 以下是摄像机: RPi摄像机(M)WaveShare

我们有两台流行相机:

图片

我们从两个相机拍摄照片。 理想情况下-同时进行,但又有可能实现。 raspistill帮助我们。 我们得到这两张照片:

图片
全尺寸

图片
全尺寸

主食全景


然后出现了问题-如何自动从这两个财政图片中制作出等距投影的图像,几乎所有全景观看者都会吃掉这两个图片。 我想直接在立体声上进行转换,而无需使用特殊的全景软件。

经过大量研究,发现了360相机项目,并以此脚本为基础。

但是首先,我们仍然必须使用单独的全景程序来准备转换模板。 该程序称为Hugin,您可以在此处下载它http://hugin.sourceforge.net/download/

1.因此,下载,安装,启动了。
2.在“接口”菜单中选择“简单”选项。

图片

3.单击按钮“下载图像...”,然后添加我们的两个文件(21.jpg和21-2.jpg)。

图片

4.设置“镜头类型”-“圆形VyrvyGlaz”。 焦距为1.2mm,焦距倍数为7.6x。 在“投影”选项卡中,确保存在360x180和“等距”的视场。 默认情况下应该是这样。

图片

5.单击按钮“ 2。 对齐...“。 搜索控制点将开始,应该在10-13点左右。 全景图已经开始看起来像全景图。

图片

6.现在最重要的是保存项目,因为我们需要用它来自动粘合用这两个鱼眼镜头拍摄的所有后续全景图。 文件->另存为->文件名stereopi-template.pto

7.返回到“助手”选项卡(如果我们突然离开那里),然后单击“创建全景图...”。将打开另一个窗口,在此处选择高度1944,将计算宽度本身。 LDR格式(输出图片格式)设置为JPEG。 质量-默认情况下,无论您想要什么,质量都为90。我们还不涉及更正。 单击确定。 用结果设置文件名。 然后点击“保存”。

图片

8.将打开更多窗口,其中一个窗口将显示过程日志。

图片

9.结果,我们得到这样的东西:

图片

全尺寸

这是我们球形全景图的必要等距投影!

我们在船上进行缝制


但这都是歌词!

我们不想每张照片都洗个澡,我们需要使这一过程自动化。 为此,我们将需要在第6步中保存的项目文件。我们获取项目文件(我将其保存为stereopi-template.pto )并将其复制到立体声。

我们将那里的stereopi-stich.sh粘贴脚本复制到该脚本中,该脚本需要两个输入参数-需要粘贴到等距投影中的鱼照片文件的名称。

但是首先,您需要在立体声上安装所有必需的软件。 只需下载此脚本并在steropix上运行它即可。 installer.sh

现在运行粘合脚本:

# ./stereopi-stich.sh 21.jpg 21-2.jpg Stiching files 21.jpg and 21-2.jpg Generating pto file... Reading /opt/Pano/test1/21-2.jpg... Reading /opt/Pano/test1/21.jpg... Assigned 1 lenses. Written output to /opt/Pano/test1/tmp/project.pto Written output to ./tmp/project.pto number of cmdline args: 1 ================================== Stitching panorama ================================== nona -z LZW -r ldr -m TIFF_m -o 21_21-2-pano -i 0 ./tmp/project.pto nona -z LZW -r ldr -m TIFF_m -o 21_21-2-pano -i 1 ./tmp/project.pto checkpto --generate-argfile= project.pto_21_21-2-pano.arg ./tmp/project.pto enblend --compression=90 -w -f2688x1344 -o 21_21-2-pano.jpg -- 21_21-2-pano0000.tif 21_21-2-pano0001.tif enblend: info: loading next image: 21_21-2-pano0000.tif 1/1 enblend: info: loading next image: 21_21-2-pano0001.tif 1/1 enblend: info: writing final output Bogus input colorspace exiftool -overwrite_original_in_place -TagsFromFile /opt/Pano/test1/21-2.jpg -WhitePoint -ColorSpace -@ /usr/share/hugin/data/hugin_exiftool_copy.arg -@ project.pto_21_21-2-pano.arg 21_21-2-pano.jpg 1 image files updated ================================== Remove temporary files ================================== rm project.pto_21_21-2-pano.arg 21_21-2-pano0000.tif 21_21-2-pano0001.tif 

该过程大约需要50秒。 有必要寻找优化机会,但到目前为止还不错。

结果是一个文件

图片

全尺寸

仅此而已! 我们自动将两个渔业等距! 使用相同的脚本,您可以粘贴所有后续图片,最主要的是我们相机的相互放置不会有太大变化,否则会粘在一起。

现在,您需要在网站上的某个位置播放它。 要在网站上查看我们的全景,您需要全景播放器。

恕我直言,最好的内置全景播放器-KRPano。 它可以拍摄照片和视频。 是的,已付款。 我已经在五年前为其购买了许可证,但是随后播放器是通过Flash制作的,而HTML5则不能。 现在他知道了,但是您必须再次购买许可证。

您可以下载我的存档器 ,其中包含您需要的所有内容。 最繁琐的-小行星(选择查看模式-右键单击)。

图片

我们希望我们的实验不仅会令您感兴趣,而且对您有所帮助。 感谢您的关注!

有用的链接:


等角投影
关于渔业和等距投影的许多理论
查看全景的软件
大手册,用于自动涂胶
BrianBock / 360相机

Source: https://habr.com/ru/post/zh-CN432898/


All Articles