
Kami terus bereksperimen dengan Raspberry Pi, dilengkapi dengan dua kamera secara bersamaan. Biarkan saya mengingatkan Anda bahwa semua permainan berlangsung di sekitar Raspberry Pi Compute Module 3 Lite, dimasukkan ke dalam buaian StereoPi.
Dalam ulasan sebelumnya, kami memasang kamera secara paralel dan bekerja dengan efek stereo. Di sini pendekatannya justru sebaliknya: kamera melihat ke arah yang berbeda, tetapi dilengkapi dengan lensa sudut lebar (200 derajat). Dan kami akan merekatkan panorama bola 360 derajat!
Pendahuluan
Gangguan: karena tidak ada co-penulis artikel di HabrΓ©, saya akan menyebutkan teks utama. Percobaan ini dilakukan bersama, dengan saya - besi dan percobaan di lapangan, dan dengan
@Gol - bagian perangkat lunak.
Mari kita mulai dari akhir: inilah
hasilnya, sebenarnya panorama .
Jadi, kali ini, cobalah untuk membuat panorama bola. Sia-sia, atau semacamnya, kami memiliki dua kamera. Tentu saja, dimungkinkan untuk menghubungkan dua kamera ke raspberry biasa, dalam mode multiplexing (salah satu kamera berfungsi, lalu yang lain, memilih yang tepat melalui GPIO). Tapi kemudian frame akan ditembak secara berurutan, dan jika ada gerakan, ini tidak terlalu nyali. Benar, ketika ada penembakan "simultan" dua kamera stereo dari dua kamera, tidak ada sinkronisasi juga, bodohnya dua raspistill diluncurkan secara bersamaan. Tetapi ada lebih banyak kemungkinan bahwa objek di perbatasan tidak akan tersebar sangat banyak. Anda juga dapat merekam video dengan dua kamera secara bersamaan, dan kemudian menjahitnya menjadi panorama video bulat. Tetapi kemudian saya akan mencoba entah bagaimana, pertama-tama Anda harus berurusan dengan panorama foto.
Besi
Kami punya
StereoPi , ada dua kamera dengan lensa mata ikan (200 derajat). Berikut adalah kamera-kamera:
RPi Camera (M) WaveShareKami memiliki dua kamera pop-to-pop:

Kami mengambil foto dari kedua kamera. Idealnya - pada saat yang sama, tetapi itu mungkin dan pada gilirannya. raspistill untuk membantu kami. Kami mendapatkan dua gambar ini:
Ukuran penuh
Ukuran penuhPanorama Pokok
Kemudian muncul masalah - bagaimana membuat gambar secara otomatis dengan proyeksi yang sama dari kedua gambar fiskal ini, yang dimakan hampir semua pemirsa panorama. Saya ingin melakukan konversi langsung di papan stereo, tanpa menggunakan perangkat lunak panorama khusus.
Setelah banyak penelitian, proyek
360-kamera ditemukan, dari mana skrip diambil sebagai dasar.
Tapi pertama-tama, kita masih harus menggunakan program panorama terpisah untuk menyiapkan templat konversi. Program ini disebut Hugin, Anda dapat mengunduhnya di sini
http://hugin.sourceforge.net/download/1. Jadi, unduh, instal, luncurkan.
2. Pilih opsi "Sederhana" di menu "Antarmuka".

3. Klik tombol "Unduh gambar ..." dan tambahkan dua file kami (21.jpg dan 21-2.jpg).

4. Atur "Jenis lensa" - "Circular VyrvyGlaz". Panjang fokus adalah 1.2mm dan pengali panjang fokus adalah 7.6x. Dan di tab "Proyeksi", pastikan bahwa ada bidang pandang 360x180 dan "Sama". Secara default, seharusnya begitu.

5. Klik tombol β2. Luruskan ... ". Pencarian titik kontrol akan dimulai, harus ada sekitar 10-13 poin. Panorama sudah mulai terlihat seperti panorama.

6. Sekarang hal yang paling penting adalah menyelamatkan proyek, karena kita akan membutuhkannya untuk perekatan otomatis selanjutnya dari semua panorama yang diambil dengan kedua kamera mata ikan ini. File -> Save As -> nama file stereopi-template.pto
7. Kembali ke tab "Asisten" (jika kita tiba-tiba pergi ke sana) dan klik "Buat panorama ..." Jendela tambahan akan terbuka, pilih ketinggian 1944 di sana, lebar itu sendiri akan dihitung. Format LDR (format gambar keluaran) diatur ke JPEG. Kualitas - apa pun yang Anda inginkan, secara default - 90. Kami belum menyentuh koreksi. Klik OK. Tetapkan nama file dengan hasilnya. Dan klik "Simpan."

8. Beberapa jendela lagi akan terbuka, di mana salah satu log proses akan ditampilkan.

9. Akibatnya, kita mendapatkan sesuatu seperti ini:
Ukuran penuhIni adalah proyeksi yang sama-sama diperlukan dari panorama bola kita!
Kami membawa jahitan di papan tulis
Tapi itu semua liriknya!
Kami ingin tidak mandi uap di setiap foto, kami perlu mengotomatiskan proses ini. Untuk ini, kita akan memerlukan file proyek, yang kita simpan pada poin 6. Kami mengambil file proyek kami (saya memilikinya
stereopi-template.pto ) dan menyalinnya ke stereo.
Kami menyalin skrip perekatan
stereopi-stich.sh di
sana.Skrip tersebut membutuhkan dua parameter input - nama file foto ikan yang perlu direkatkan ke dalam proyeksi yang sama.
Tetapi pertama-tama Anda harus menginstal semua perangkat lunak yang diperlukan pada stereo. Unduh saja skrip ini dan jalankan di steropix.
installer.shSekarang jalankan skrip pengeleman:
Prosesnya memakan waktu sekitar 50 detik. Penting untuk mencari peluang pengoptimalan, tetapi sejauh ini tidak buruk.
Hasilnya adalah file
Ukuran penuhItu saja! Kami secara otomatis menjebak dua perikanan ke jarak yang sama! Dan dengan skrip yang sama Anda dapat merekatkan semua gambar berikutnya, hal utama adalah bahwa penempatan bersama kamera kami tidak banyak berubah, jika tidak maka lem akan hilang.
Sekarang Anda perlu memainkannya di suatu tempat di situs. Untuk melihat panorama kami di situs ini, Anda memerlukan pemain panorama.
IMHO, pemain built-in terbaik untuk panorama - KRPano. Itu dapat mengambil foto dan video. Ya, dibayar. Saya sudah membeli lisensi untuk itu lima tahun yang lalu, tetapi kemudian pemain dibuat dengan cepat dan HTML5 tidak bisa. Dan sekarang dia tahu caranya, tetapi Anda harus membeli lisensi lagi.
Anda dapat mengunduh
arsip saya , di mana di dalamnya Anda memiliki semua yang Anda butuhkan untuk
melihat ini . Yang paling nishtyak - planet kecil (pilihan mode tampilan - klik kanan).

Kami berharap eksperimen kami tidak hanya menarik bagi Anda, tetapi juga bermanfaat sebagai resep. Terima kasih atas perhatian anda!
Tautan yang bermanfaat:
Proyeksi EquirectangularBanyak teori tentang perikanan dan proyeksi yang samaPerangkat lunak untuk melihat panoramaManual besar untuk perekatan otomatisBrianBock / 360-kamera