Bagaimana cara mengubah foto normal menjadi gambar berbentuk persegi panjang?

12

Saya memiliki gambar panorama biasa. Bagaimana cara mengonversinya menjadi gambar persegi panjang (normal → persegi panjang)?

Sebagian besar hasil yang saya temukan di Google adalah konversi yang berlawanan arah (equirectangular → normal).

Ini adalah gambar yang ingin saya konversi ( HR link )

masukkan deskripsi gambar di sini

Bob van Luijt
sumber
Apakah Anda mulai dengan foto 360 spheris atau Anda mengambil gambar secara manual?
AndrewH
Saya telah membuat gambar 3d. Anda dapat membandingkannya dengan foto biasa. Saya ingin mengonversinya menjadi gambar segi empat.
Bob van Luijt
Saya tidak yakin bagaimana melakukannya dari adegan 3D tetapi untuk menjahit foto bersama Anda bisa menggunakan PTGui atau Hugin .
AndrewH
Apakah harus akurat secara matematis? Anda dapat membungkus gambar di sekitar silinder dan menyimpan gambar dalam perspektif ortho?
Wolff
Tidak, tidak, aku benar-benar berjuang, Hugin tampaknya membuat gambar yang salah.
Bob van Luijt

Jawaban:

7

Gambar berbentuk persegi panjang menyajikan bola, itu terdistorsi sehingga garis meridian dan paralel pada bola ditampilkan sebagai garis lurus vertikal dan horizontal. Contoh dari Wikipedia:

masukkan deskripsi gambar di sini

Di sebelah kiri ada peta bulat dan di kanan ada peta bidang setara, proyeksi equirectangular dari bola ke persegi panjang.

Tidak ada peregangan di garis katulistiwa, tetapi gambar itu direntangkan secara horizontal di tempat lain. Semakin memanjang titik semakin jauh dari khatulistiwa. Tepi atas dan bawah sebenarnya hanya mengandung satu titik - kutub.

Kotak memiliki proporsi W / H = 2: 1. Itu mencerminkan fakta jarak antara kutub di sepanjang bola persis setengah dari perjalanan pulang-pergi penuh di sepanjang khatulistiwa.

Anda ingin mengonversi gambar Anda menjadi equirectangular. Tampaknya proporsinya adalah 2: 1, jadi itu sudah berbentuk segitiga jika bola yang sesuai adalah ini:

masukkan deskripsi gambar di sini

Setengah dari gambar tersembunyi di balik bola, tetapi itu dia. Seperti yang Anda lihat, tepi atas dan bawah gambar Anda dicubit ke titik, kutub.

Saya pikir Anda melihat ini sebagai bagian dari matematika yang tidak berguna, Anda mengharapkan sesuatu yang lain. Saya kira Anda ingin

1) gambar persegi panjang yang menyajikan bola dengan gambar Anda sebagai bagian dari permukaan, tidak perlu menutupi bola penuh dengannya

2) ketika seseorang melihatnya duduk di tengah bola, dia dapat melihat gambar Anda di bola tanpa distorsi dan dalam ukuran yang begitu besar sehingga gambar tersebut menutupi bagian subtropis dari bidang penglihatan, katakanlah sektor dengan lebar 90 derajat dan 45 derajat tinggi.

Jika Anda menerima beberapa distorsi, Anda cukup menambah ukuran kanvas hingga 400%

masukkan deskripsi gambar di sini

Pada bola yang dilihat dari luar, inilah:

masukkan deskripsi gambar di sini

(maaf untuk glosses, program CAD freeware saya tidak memungkinkan pengeditan lampu)

Foto Affinity memiliki Layer> Live Projection> Equirectangular yang dapat menunjukkan gambar di dalam bola seperti gambar yang dilukis di permukaan bagian dalam bola dan pengamat berada di titik tengah. Ini menunjukkan ini:

masukkan deskripsi gambar di sini

Pagar dan horizon melengkung jelas tidak diinginkan, tetapi matahari masih cukup bulat. Itu karena jauh lebih kecil dan dekat garis khatulistiwa. Cakrawala dan pagar melengkung, karena mereka sebenarnya berada di lingkaran horizontal (= paralel dari peta bulat), orang melihat mereka sedikit ke bawah dan melihatnya sebagai busur elips.

Satu dapat meluruskan area gambar asli dengan kompensasi yaitu distorsi. dengan membelokkan atau lebih tepatnya dengan persamaan distorsi matematika (Affinity P mendukungnya juga).

Foto Afinitas memungkinkan pengeditan gambar dalam mode proyeksi langsung. Pengeditan diterapkan pada gambar equirectangular yang mendasarinya, tetapi yang satu mengawasi proyeksi bola. Inilah upaya melengkung kasar:

masukkan deskripsi gambar di sini

Selain itu, seseorang dapat menempelkan gambar asli dan menggabungkannya ke lapisan latar belakang kosong, yang berada di bawah proyeksi Langsung:

masukkan deskripsi gambar di sini

Tapi ini bukan perbaikan umum. Segera setelah pengamat sedikit menoleh, dia melihat pemandangan baru yang terdistorsi (= kartu datar terlihat dari samping)

masukkan deskripsi gambar di sini

Tidak ada perbaikan umum, karena Anda belum memiliki adegan 3D, hanya gambar datar pada bola 3D.

Pendapat saya adalah bahwa memetakan lingkungan sebagai gambar tunggal ke bola dan menontonnya dari titik tengah dapat menjadi kenyataan virtual yang masuk akal hanya jika adegan yang dipetakan sangat jauh sehingga tidak dapat memiliki perspektif. Bahkan dalam kasus itu kita perlu beberapa distorsi lebar viewport pintar untuk membuat jarak yang tampak tak terbatas, bukan = jari-jari bola. Distorsi harus hidup seiring dengan perubahan arah menonton.

Jawaban ini benar-benar ditulis ulang setelah memeriksa banyak kasus ini nanti: Bagaimana saya bisa melukis gambar equirectangular (360 derajat)?

pengguna287001
sumber
11

Anda tidak dapat melakukannya pada gambar Anda seperti yang Anda miliki.

1) Anda ingin proyeksi silinder pada bola. Pertama kanvas Anda harus berada pada proporsi yang tepat. 3.1416: 1 (Gunakan kanvas berukuran piksel yang Anda inginkan, misalnya 3141x1000px)

masukkan deskripsi gambar di sini

2) Dan Anda (biasanya) membutuhkan cakrawala berada di tengah kanvas.

masukkan deskripsi gambar di sini

Pada proyeksi silindris (dari bola), Anda memiliki deformasi spesifik pada proyeksi karena dimensi vertikal yang diproyeksikan versus ketinggian sebenarnya segmen itu, jadi Anda perlu mengompensasinya ketika Anda menggambar kartun di kanvas datar.

Cara mudah untuk melakukan ini adalah menggunakan filter Spherize di Photoshop. (Pada versi arca yang saya miliki sekarang di komputer ini ada di Filter> Distort> Spherize)

Tapi Anda HANYA perlu mengubah itu pada sumbu vertikal.

masukkan deskripsi gambar di sini

Tapi selain itu Anda perlu menentukan bagian panorama 360 yang Anda miliki. Bayangkan seekor ayam lain mengambil foto. Apa yang akan menjadi sudut lensa yang digunakan?

Saya merasa bahwa ini adalah lensa sudut lebar, memungkinkan benda yang Anda ambil seperti bidang sudut 120 °. Ini berarti Anda harus melengkapi gambar Anda dengan barang-barang yang Anda miliki di belakang fotografer ayam.

masukkan deskripsi gambar di sini


Aplikasi Google VR yang ingin Anda gunakan mengatakan bahwa ini memerlukan proyeksi silinder, tetapi meminta proporsi 2: 1 pada gambar Anda. Proyeksi 2: 1 biasanya adalah bola yang memiliki deformasi yang berbeda, tetapi lebih sulit untuk dicapai dalam video misalnya.

Untuk alasan praktis mereka sebenarnya meminta proyeksi silindris, jadi Anda cukup membuat sampel asli 3.1416: 1 hingga 2: 1 sebagai langkah terakhir.

masukkan deskripsi gambar di sini

Cukup resample gambar terakhir. Jika kanvas Anda adalah 3141x1000 px cukup resample ke 2000x1000px. Jangan potong itu. Ayam akan terlihat lebih ramping tetapi akan menjadi gemuk kembali pada aplikasi VR.


Untuk kanvas awal Anda: Pada gambar spesifik Anda, sulit untuk menentukan sudut pandang, tetapi mari kita lihat 3 skenario.

(A) Bidang pandang Anda adalah sekitar 120 ° sehingga Anda dapat mengakomodasi 3 foto binatang peliharaan lucu karena gambar yang Anda posting 2048 kanvas harus 2048x3 = 6144px dan sekarang bagilah dengan pi = 1955px

6144x1955px

(B) Tetapi jika Anda tidak ingin hewan peliharaan terlalu kecil mari kita asumsikan foto mencakup 180 ° = 2048x2 = 4096 / pi = 1303

4096x1303px

(C) Atau bermain dengan angka-angka.

masukkan deskripsi gambar di sini

Rafael
sumber
Ooooohhhh .... Tunggu. Tautan google VR yang Anda berikan tidak menggunakan proyeksi silindris, mereka menggunakan yang berbentuk bola. Saya akan melengkapi jawaban saya.
Rafael
Terima kasih. Pertanyaan cepat, tidak yakin bagaimana cara mendapatkan 3.1416: 1 hingga 2: 1
Bob van Luijt
Cukup resample gambar terakhir. Jika kanvas Anda adalah 3141x1000 px cukup resample ke 2000x1000px. Jangan potong itu. Ayam akan terlihat lebih ramping tetapi akan menjadi gemuk kembali pada aplikasi VR.
Rafael
Aha, terima kasih, hampir sampai. Apa yang akan menjadi pengaturan yang benar dalam gambar -> pengaturan ukuran gambar di Photoshop?
Bob van Luijt
Satu catatan tambahan. Awan, coser Anda berada di bagian atas dan bawah, perlu dibentuk kembali untuk mempertahankan ukuran jelas dari gambar asli.
Rafael
3

masukkan deskripsi gambar di sini

Gambar Anda memiliki informasi benar-benar litle dan terlalu kecil. Juga tidak memiliki geometri equirectangular. Tapi Anda bisa melakukannya di Blender, gratis. Cukup render di "Panorama"> "equirectangular"> "Render. Untuk melihat gambar HDRI di 360 Anda dapat menggunakan situs ini: http://panoramaviewer.1bestlink.net/

Hugo
sumber
2

Gambar asli:

masukkan deskripsi gambar di sini

Tambah ukuran kanvas dan gunakan isian yang sadar konten, untuk memberi gambar lebih banyak langit dan tanah. Saya menggunakan Photoshop:

masukkan deskripsi gambar di sini

Anda akan menggunakan filter Koordinat Polar di langkah berikutnya. Berikut adalah gambar yang menunjukkan cara kerja Koordinat Polar dengan tepat:

masukkan deskripsi gambar di sini

Seperti yang Anda lihat, kami ingin mengonversi dari perspektif bawah (Persegi Panjang) ke perspektif atas (Kutub). Untuk melakukan ini, buka Filter -> Distort -> Koordinat Polar -> Rectangular to Polar:

masukkan deskripsi gambar di sini

Gunakan isian sadar isi, alat perbaikan, atau alat prangko untuk memperbaiki area di tengah dan di sekitar tepinya:

masukkan deskripsi gambar di sini

Gunakan Koordinat Polar lagi, tapi Polar ke Rectangular kali ini. Anda dapat memproyeksikan gambar ini pada 360 ° sphere:

masukkan deskripsi gambar di sini

Katakanlah Anda memiliki gambar langit malam. Anda dapat menggunakan Koordinat Polar lagi. Tetapi karena bagian tengah gambar Anda akan menjadi bagian atas setelah distorsi equirectangular, Anda hanya menggunakan Koordinat Polar ke Rectangular sekali:

masukkan deskripsi gambar di sini

Dalam perangkat lunak 3D (saya menggunakan Clara.io gratis), ini adalah bagaimana tekstur terlihat pada bola:

masukkan deskripsi gambar di sini

simondingdas
sumber