Menghapus Silau dari Gambar

17

Penafian: Saya TIDAK terlibat dalam pemrosesan sinyal. Hanya sangat ingin tahu ...

Ny pertanyaannya adalah, sangat sederhana: apakah mungkin untuk menerapkan pemrosesan perangkat lunak pada suatu gambar untuk menghapus atau mengurangi sorotan lampu?

Ini akan menjadi gambar seperti ini:
http://www.driversedguru.com/wp-content/gallery/jamie-gallery/Lots%20of%20Glare.jpg

Jika ini mungkin, apakah ada perpustakaan perangkat lunak yang tersedia untuk ini? Saya tidak peduli bahasa mana, saya hanya ingin kemampuan. Slash ada yang tahu kalau ada penelitian saat ini tentang ini?

BenCole
sumber
3
Apakah itu "silau" atau "suar lensa"?
endolith
Poin bagus. Saya harus mengklarifikasi: Saya tertarik untuk menormalkan tingkat cahaya di gambar (meskipun khusus mobil). Jadi, kurangi kecerahan tempat / kerontokan lampu depan dan tingkatkan visibilitas mobil itu sendiri. Jadi ... silau atau suar lensa, baik (saya kira).
BenCole
Yah ada cara untuk benar-benar menghapus hal-hal seperti itu, dengan dekonvolusi, saya pikir, alih-alih hanya mengurangi kecerahannya, tetapi saya tidak yakin
endolith
Saya membayangkan sesuatu seperti ini: ftp.cfar.umd.edu/pub/aagrawal/Glare/AgrawalGlareLowRes.pdf kecuali sedikit lebih maju karena hal itu (1) mengurangi silau menggunakan metode serupa yang dijelaskan dalam kertas itu; kemudian (2) menghilangkan sumber cahaya aktual dari gambar; dan (3) [kabur tentang langkah ini] mengurangi silau lagi dan meningkatkan area di sekitar sumber cahaya.
BenCole
Nah contoh itu membutuhkan memodifikasi optik kamera sebelum mengambil gambar, tampaknya
endolith

Jawaban:

6

Masalah yang mungkin Anda miliki adalah bahwa ketika lampu terang hadir, kamera akan menggunakan kecepatan rana cepat untuk menjaga gambar dari jenuh terlalu banyak. Semua detail yang Anda minati ada di beberapa bit bagian bawah data.

Jadi, bahkan jika Anda menghapus silau dan kemudian mencoba dan menarik sisa gambar di tingkat atas, itu sangat bising. Misalnya, jika Anda mengambil gambar dan bermain dengan level untuk menarik bagian yang lebih gelap dan hanya membiarkan silau untuk klip, ini hasilnya:

Versi "Lebih cerah"

Jika tidak apa-apa untuk pemrosesan selanjutnya (saya tidak tahu apa yang ada dalam pikiran Anda) maka Anda mungkin bisa menghapus silau dengan melihat distribusi piksel jenuh, dan memperluas ke "cahaya" di sekitar mereka.

Solusi yang lebih baik (jika Anda memiliki pilihan) dapat menggunakan kamera rentang dinamis tinggi yang memiliki respons non-linear dalam piksel, dan juga sering 10 atau 12 bit per piksel dari resolusi yang dapat digunakan, yang berarti Anda dapat menyimpan 7 -8 bit untuk bagian yang lebih gelap.

Martin Thompson
sumber
Cukup adil. Anda telah memberi saya arah yang baik untuk pergi, jadi terima kasih!
BenCole
Anda tidak memerlukan kamera rentang dinamis tinggi. Anda hanya perlu mengambil banyak gambar pada level pencahayaan berbeda. Kamera Canon dapat dikonfigurasi untuk melakukan ini secara otomatis dengan firmware CHDK. chdk.wikia.com/wiki/Samples:_HDR
endolith
2
@endolith - Ya, Anda tidak memerlukan kamera HDR ... jika adegan Anda berubah cukup lambat Anda dapat melakukannya dalam perangkat lunak. Tetapi untuk gambar di atas saya meragukannya - saya melakukan sistem visi otomotif dan 30Hz hampir tidak cukup, saya benci harus menunggu beberapa frame untuk mendapatkan data!
Martin Thompson
1
Bisakah Anda melakukan bergulir pembaruan gambar CHDK? Daripada menunggu beberapa frame diskrit, memiliki rentang seperti: {frame1,2,3,4}, {frame2,3,4,5}, {frame3,4,5,6}, etc? Atau apakah ini terlalu lambat?
BenCole
@ BenCole: ya, itu bisa diterapkan beberapa waktu, tetapi bahkan satu kerangka latensi tambahan akan terlalu banyak di beberapa aplikasi. Bahkan, adegan berubah dari satu frame ke yang berikutnya akan berarti bahwa "HDR dengan menumpuk beberapa eksposur" tidak akan berhasil dengan baik
Martin Thompson