Namun ini bukan jawaban yang lengkap dan jernih, saya meninggalkan Anda dengan setidaknya beberapa pendekatan untuk Anda lawan. (Saya akan sangat senang mengetahui jika Anda memiliki hasil).
Lihatlah pertanyaan-pertanyaan ini:
Menghapus Silau dari Gambar
Bagaimana cara menghapus silau dan kecerahan dalam suatu gambar (Image preprocessing)?
Mereka pada dasarnya berusaha menyelesaikan masalah yang sama.
Ada dua bagian dari masalah,
Sebuah. Identifikasi noda / noda b. Mengganti noda dengan apa yang seharusnya menjadi tempat oklusi.
Sifat dari pertanyaan ini adalah berusaha untuk menyelesaikan masalah yang sebenarnya (dalam beberapa hal).
Ini bukan hal sepele. Namun, di kedua pertanyaan ada beberapa pola unik yang dapat Anda manfaatkan.
Dalam semua kasus, elemen penumpukan yang harus dihilangkan disebut di sini sebagai (pewarnaan, silau, titik terang), pelapisan memiliki rona / warna yang unik dan berbeda yang membedakan dirinya dari objek / pemandangan biasa.
P[ x , y] = ( 1 - α [ x , y] ) ∗ S[ x , y] + α [ x , y] ∗ O v e r l a yHkamu e
S~[ x , y] = ( P[ x , y] - O v e r l a yHu e ∗ α~[ x , y] ) / ( 1 - α~[ x , y] )
P[ x , y]S[ x , y]O v e r l a yHkamu eS~[ x , y]α~[ x , y]
Nilai OverlayHue dapat diestimasikan secara independen oleh segmentasi wilayah piksel secara manual di mana Stain atau Flash jelas mendominasi.
S~R[ x , y] = ( PR[ x , y] - O v e r l a yHkamu eR∗ α~[ x , y] ) / ( 1 - α~[ x , y] )
S~G[ x , y] = ( PG[ x , y] - O v e r l a yHkamu eG∗ α~[ x , y] ) / ( 1 - α~[ x , y] )
S~B[ x , y] = ( PB[ x , y] - O v e r l a yHkamu eB∗ α~[ x , y] ) / ( 1 - α~[ x , y] )
αS~
αα
S~[x,y]α~[x,y]
Ini mungkin bukan solusi yang sempurna, tetapi mungkin lebih baik daripada yang paling jelas daripada kliping level pixel atau bermain-main dengan saturasi dll. Saya dengan tulus meminta Anda mencoba ini pada akhirnya dan menunjukkan kepada kami hasil (meja kerja saya saat ini berantakan sehingga saya tidak bisa dapat melakukannya!)
Semoga ini membantu.