StereoPiのパノラマ

画像



同時に2台のカメラを搭載したRaspberry Piの実験を続けています。 すべてのゲームは、StereoPiベビーベッドに挿入されたRaspberry Pi Compute Module 3 Liteの周りで行われることを思い出させてください。



過去のレビューでは、カメラを並行して設置し、ステレオ効果を使用しました。 ここでのアプローチは正反対です。カメラはさまざまな方向を向いていますが、広角レンズ(200度)を備えています。 そして、360度の球面パノラマを接着します!



入門



気晴らし:Habréの記事の共著者はないので、本文に言及します。 この実験は、ハードウェアとフィールドの実験、およびソフトウェア部分の@Golと一緒に、私と共同で実施されました。



最後から始めましょう。 結果は、実際にはパノラマです。



それで、今回は、球状のパノラマを作成してみてください。 無駄に、または何か、私たちは2台のカメラを搭載しています。 もちろん、マルチプレクスモードで2台のカメラを通常のラズベリーに接続することができました(一方のカメラが動作し、もう一方がGPIOを介して適切なカメラを選択します)。 しかし、その後、フレームは連続して撮影され、動きがある場合、これはあまり直感的ではありません。 確かに、2台のカメラから2台のステレオカメラを「同時に」撮影すると、同期も行われず、愚かなことに2つのラスピスティルが同時に起動します。 しかし、境界線上のオブジェクトがあまり散らばらない可能性があります。 また、2台のカメラで同時にビデオを撮影し、それを球形のビデオパノラマに縫い付けることもできます。 しかし、その後、何とかしてそれを試してみます。まず、写真のパノラマを処理する必要があります。





StereoPiがあり、魚眼レンズ(200度)を備えた2台のカメラがあります。 カメラは次のとおりです。RPiCamera(M)WaveShare



ポップツーポップの2台のカメラがあります。



画像



両方のカメラから写真を撮ります。 理想的には-同時に、それは可能であり、順番に。 私たちを助けるためにraspistill。 次の2つの写真を取得します。



画像

フルサイズ



画像

フルサイズ



パノラマのステッチ



その後、問題が発生しました-ほぼすべてのパノラマビューアーが食べるこれら2つの会計写真から等距離の投影で画像を自動的に作成する方法。 特別なパノラマソフトウェアを使用せずに、ステレオで直接変換を行いたい。



多くの研究の結果、 360カメラプロジェクトが見つかり、そこからスクリプトが基礎として使用されました。



しかし、最初に、別のパノラマプログラムを使用して、変換用のテンプレートを準備する必要があります。 このプログラムはHuginと呼ばれます。http: //hugin.sourceforge.net/download/からダウンロードできます。



1.だから、ダウンロード、インストール、起動。

2.「インターフェース」メニューの「シンプル」オプションを選択します。



画像



3.「画像のダウンロード...」ボタンをクリックして、2つのファイル(21.jpgおよび21-2.jpg)を追加します。



画像



4.「レンズのタイプ」-「円形VyrvyGlaz」を設定します。 焦点距離は1.2mmで、焦点距離の乗数は7.6xです。 [投影]タブで、360x180と[等距離]の視野があることを確認します。 デフォルトではそうです。



画像



5.「2.」ボタンをクリックします。 整列...」。 コントロールポイントの検索が開始されます。10〜13ポイント前後にあるはずです。 パノラマはすでにパノラマのように見え始めています。



画像



6.ここで最も重要なことは、プロジェクトを保存することです。これは、これらの2つの魚眼カメラで撮影されたすべての後続パノラマの自動接着に必要になるためです。 ファイル->名前を付けて保存->ファイル名stereopi-template.pto



7.「アシスタント」タブに戻って(突然そこを離れた場合)、「パノラマを作成...」をクリックします。追加のウィンドウが開き、そこで高さ1944を選択し、幅自体が計算されます。 LDR形式(出力上の画像の形式)はJPEGに設定されます。 品質-必要に応じて、デフォルトでは90-修正はまだ変更されていません。 OKをクリックします。 結果にファイル名を設定します。 [保存]をクリックします。



画像



8.さらに2、3のウィンドウが開き、そのうちの1つにプロセスログが表示されます。



画像



9.その結果、次のような結果が得られます。



画像



フルサイズ



これは、球面パノラマの必要な等距離投影です!



機内でステッチを運ぶ



しかし、それはすべての歌詞です!



すべての写真でスチームバスを使いたくないので、このプロセスを自動化する必要があります。 これには、ステップ6で保存したプロジェクトファイルが必要です。プロジェクトファイル( stereopi-template.ptoがあります)を取得し、ステレオにコピーします。



stereopi-stich.shの接着スクリプトをそこにコピーします。スクリプトには2つの入力パラメーターが必要です-等距離の投影に接着する必要がある魚の写真ファイルの名前です。



ただし、最初に必要なソフトウェアをすべてステレオにインストールする必要があります。 このスクリプトをダウンロードして、steropishで実行するだけです。 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秒かかります。 最適化の機会を探す必要がありますが、これまでのところ悪くはありません。



結果はファイルです



画像



フルサイズ



それだけです! 自動的に等距離に2つの魚を突き刺しました! そして、同じスクリプトを使用して、後続のすべての写真を接着することができます。主なことは、カメラの相互配置があまり変わらないことです。そうでなければ、接着が行われます。



次に、サイトのどこかで再生する必要があります。 サイトでパノラマを表示するには、パノラマプレーヤーが必要です。



私見、パノラマのための最高の組み込みプレーヤー-KRPano。 写真やビデオを撮ることができます。 はい、有料です。 5年前に既にライセンスを購入していましたが、プレーヤーはフラッシュで作成され、HTML5ではできませんでした。 そして今、彼はその方法を知っていますが、再度ライセンスを購入する必要があります。



これ見るために内部ですべてが必要な私のアーカイバをダウンロードできます。 最もnishtyak-小さな惑星(ビューモードの選択-右クリック)。



画像



私たちの実験があなたにとって興味深いだけでなく、レシピとしても役立つことを願っています。 ご清聴ありがとうございました!



便利なリンク:



正距円筒図法

漁業と等距離射影に関する多くの理論

パノラマを表示するためのソフトウェア

自動接着用の大きなマニュアル

ブライアンボック/ 360カメラ



All Articles