Berapa radius optimal distribusi gaussian untuk menentukan warna piksel?

10

Menggunakan distribusi gaussian titik pada bidang gambar untuk menghitung nilai piksel, radius / standar deviasi apa yang akan memberikan informasi terbanyak dalam gambar akhir? Radius yang terlalu besar memberikan gambar yang buram, dan radius yang terlalu kecil mengabaikan informasi yang lebih kecil dari piksel sehingga tidak berkontribusi pada gambar akhir. Di mana kompromi yang optimal? Apakah ada satu jawaban untuk pertanyaan ini atau apakah ada keadaan yang dapat berbeda-beda?

Saya memikirkan hal ini dalam kaitannya dengan raytracing tetapi saya membayangkan ini akan berlaku sama untuk hal-hal seperti perampingan gambar. Di mana jawaban akan berbeda, saya tertarik pada apa yang berlaku saat mengambil sampel bidang gambar berkelanjutan, sehingga posisi piksel dalam gambar yang lebih besar tidak dapat digunakan untuk menentukan radius optimal.

trichoplax
sumber

Jawaban:

7

Saya tidak yakin ada jari-jari yang benar-benar optimal — itu akan menjadi masalah subjektif berdasarkan seperti apa gambar itu. Seperti yang Anda katakan, jari-jari terlalu besar menghasilkan kabur dan jari-jari terlalu kecil menghasilkan alias.

Saya suka mengatur sigma = 0,5 px, sehingga jari-jari keseluruhan sekitar 1,5 px (karena Gaussian memiliki mayoritas bobotnya dalam ± 3 sigma dari rata-rata). Dalam pengalaman saya yang memberikan trade-off yang baik antara kabur dan aliasing, tapi itu hanya selera saya, tidak berdasarkan pertimbangan obyektif.

Ngomong-ngomong, sebagai bagian dari posting blog tentang antialiasing yang saya tulis tahun lalu (yang didasarkan pada jawaban yang saya posting pada inkarnasi sebelumnya dari situs ini!), Saya menguji berbagai kernel antialiasing terhadap gambar uji sintetik dan keluar dengan 0,5 px Gaussian sebagai favorit subjektif saya.

Nathan Reed
sumber
Saya ingat jawaban itu terakhir kali :) (saya dulu githubphagocyte). Menarik melihatnya meluas menjadi posting blog.
trichoplax
4

Bayangkan seseorang memberikan gambar lantai datar dengan pola kotak-kotak hitam dan putih yang seragam yang memanjang ke cakrawala; checker cukup besar sehingga harus terlihat jelas di titik dekat kamera tetapi tidak cukup besar untuk dapat dibedakan di dekat cakrawala.

Dekat cakrawala, lantai seharusnya terlihat abu-abu seragam. Di dekat kamera, checker akan terlihat berbeda. Antara kamera dan cakrawala, penampilan lantai entah bagaimana harus bertransisi di antara kedua ekstrem itu.

Jika adegan diberikan filter spasial yang memiliki cut-off sangat domba, akan ada jarak tertentu di mana lantai berubah dari kotak-kotak menjadi abu-abu. Jika seseorang menggunakan filter yang lebih dangkal, transisi akan jauh lebih bertahap, tetapi hal-hal di dekat jarak "cut-off" asli akan kurang tajam daripada yang seharusnya.

Jika seseorang menambahkan "dinding" atau memotong adegan untuk menyembunyikan bagian lantai yang jauh, sehingga tidak perlu ada bagian dari lantai kotak-kotak menjadi abu-abu, hasil terbaik akan diperoleh dengan menggunakan bagian paling curam. filter, menghasilkan gambar paling tajam. Menggunakan filter yang lebih dangkal akan memberikan ketajaman gambar untuk tujuan mencegah transisi jahat yang tidak akan terlihat.

Mencari tahu seperti apa penyaringan yang digunakan sehingga mengharuskan seseorang tahu sesuatu tentang konten frekuensi spasial dari informasi yang akan ditampilkan. Jika gambar tersebut tidak mengandung sesuatu yang menarik yang akan mendekati Nyquist, menggunakan filter curam akan menghasilkan hasil yang paling tajam. Namun, jika konten gambar melebihi Nyquist, menggunakan filter bertahap akan menghindari "transisi" yang jelek. Tidak ada pendekatan tunggal yang optimal untuk semua kasus.

supercat
sumber
2

Menurut pendapat dan pengalaman saya, saya tidak berpikir ada jawaban univocal ... karena pada dasarnya dalam literatur Anda dapat dengan mudah menemukan contoh filter adaptif juga (yaitu ukuran variabel).

Saya pikir jawaban yang sebenarnya harus terkait dengan kedua konteks aplikasi (yaitu perangkat keras atau perangkat lunak, waktu nyata atau tidak) dan jenis adegan yang akan Anda sintesis (beberapa adegan biasanya melibatkan berbagai jenis aliasing ketika disintesis (saya menggunakan istilah umum ini sengaja)). Pada dasarnya grafik komputer adalah studi tentang algoritma dan struktur data untuk sintesis gambar, dan definisi seperti itu tidak terkait erat dengan segala jenis aplikasi.

Tentu saja faktor penting adalah bahkan tujuan yang ingin dicapai dengan proses penyaringan (yaitu tidak perlu, pengaburan yang berlebihan bisa menjadi buruk ...).

Jika Anda berbicara tentang "senang melihat" saya pikir Anda bisa setuju dengan saya ketika saya mengatakan bahwa tidak ada ukuran khusus "gambar yang menyenangkan".

pengguna8469759
sumber