Filter Wiener untuk Pengurangan Derau Gambar (Denoising Gambar)

16

Saya mencoba menyiasati pengoperasian filter Wiener untuk tujuan pengurangan noise gambar. Dalam kasus saya, saya akan menggunakan filter pengurangan noise lainnya terlebih dahulu dan kemudian akan menggunakan hasil ini sebagai perkiraan karakteristik kebisingan untuk filter Wiener.

Mengenai informasi pada filter Wiener, saya menemukan kode & deskripsi Matlab berikut berguna:

http://www.mathworks.co.uk/help/toolbox/images/f11-12251.html#f11-14272

dan beberapa tautan bagus lainnya seperti

http://blogs.mathworks.com/steve/2007/11/02/image-deblurring-wiener-filter/

Jadi dari perspektif Matlab saya bisa melihat bagaimana menggunakan fungsi Matlab inbuilt, tapi saya ingin mendapatkan pemahaman yang lebih mendasar daripada hanya menggunakan pemanggilan fungsi, namun pada saat yang sama saya lebih suka menemukan sesuatu yang lebih mudah dicerna daripada entri Wikipedia tentang pemfilteran Wiener .

Adakah yang mau memberikan penjelasan singkat tentang pemfilteran Wiener?

Afrika
sumber
2
sebelum jawaban diberikan ... Anda harus menyatakan apa latar belakang Anda. Anda tahu teori proses acak? Tanpa mengetahui proses acak teori memberikan penjelasan konkret hampir tidak mungkin.
Trevor Boyd Smith
Kecuali Anda baik-baik saja dengan penjelasan yang lebih melambaikan tangan.
Trevor Boyd Smith
Terima kasih atas tanggapannya. Ya saya cukup nyaman dengan teori proses acak dan latar belakang saya dalam pemrosesan gambar
trican
3
baik ... jika Anda memiliki latar belakang proses acak maka harus memungkinkan untuk memberikan penjelasan yang baik. (sekarang saya perlu mencari waktu untuk menulis penjelasan yang baik.)
Trevor Boyd Smith
Trevor terima kasih! sangat dihargai - bahkan beberapa petunjuk yang bagus untuk menendang saya ke arah yang benar akan sangat dihargai.
trican

Jawaban:

11

Ada entri Wikipedia lain tentang pemfilteran Wiener yang lebih berlaku untuk pemrosesan gambar.

Untuk meringkas (dan mengkonversi ke 2D), diberikan sistem: mana

y(n,m)=h(n,m)x(n,m)+v(n,m)
  • menunjukkan konvolusi,
  • adalah gambar sebenarnya (tidak diketahui),x
  • adalah respons impuls linear, filter waktu-invarian,h
  • adalah aditif yang tidak diketahui derau independen dari x , danvx
  • adalah gambar yang diamati.y

Kami ingin mencari dekonvolusi penyaring sehingga kita bisa memperkirakan x sebagai berikut: x ( n , m ) = g ( n , m ) * y ( n , m ) di mana x adalah perkiraan x yang meminimalkan mean kesalahan kuadrat.gx

x^(n,m)=g(n,m)y(n,m)
x^x

Dalam domain frekuensi, fungsi transfer , G adalah: G ( ω 1 , ω 2 ) = H ( ω 1 , ω 2 ) S ( ω 1 , ω 2 )gG mana

G(ω1,ω2)=H(ω1,ω2)S(ω1,ω2)|H(ω1,ω2)|2S(ω1,ω2)+N(ω1,ω2)
  • Gg
  • Hh
  • Sx
  • Nv

G

G(ω1,ω2)=1H(ω1,ω2)[|H(ω1,ω2)|2H(ω1,ω2)|2+N(ω1,ω2)S(ω1,ω2)]
H
Peter K.
sumber
Terima kasih banyak atas tanggapan menyeluruh Anda. Saya tidak jelas bagaimana saya bisa menggunakan tahap denoising sebelumnya dalam penjelasan di atas? Secara keseluruhan saya harus duduk dan mencari cara untuk mengambil penjelasan di atas dan menerapkannya.
trican
gyy
Maaf jika saya tidak jelas, apa yang saya maksudkan adalah untuk memimpin algortihms pengurangan noise gambar seperti SADCT atau BM3D ( cs.tut.fi/~foi/GCF-BM3D ). Tahap pertama pengurangan kebisingan dilakukan (melalui SADCT atau blok 3d filtering untuk dua algoritma yang disebutkan) dan hasilnya digunakan sebagai perkiraan untuk tahap sekunder yang menggunakan penyaringan wiener. Saya mencoba untuk mendapatkan kepala saya sekitar tahap penyaringan wiener sekunder, jadi pertanyaan awal saya.
trican