Pemfilteran gambar. Pemfilteran linier dalam domain spasial. Opsi bantalan tepi gambar

Keragaman pendekatan peningkatan citra terbagi dalam dua kategori: metode pemrosesan domain spasial (spatial method) dan metode pemrosesan domain frekuensi (frekuensi metode). Domain spasial mengacu pada kumpulan piksel yang membentuk gambar. Fungsi prapemrosesan domain spasial ditulis sebagai

Di mana F(X, kamu) – gambar masukan,

G(X, kamu) – gambar keluaran (diproses),

H– operator fungsi F, didefinisikan dalam beberapa domain ( X, kamu).

Operasi jenis ini termasuk dalam kelas umum operasi pada elemen tetangga. Operasi ini adalah alat utama untuk pemrosesan gambar tingkat rendah atau pemrosesan gambar domain spasial.

Pendekatan utama untuk menentukan lingkungan suatu titik ( X, kamu) adalah penggunaan luas persegi atau persegi panjang pada sebagian bayangan yang berpusat pada titik ( X, kamu). Bagian tengah gambar ini berpindah dari satu piksel ke piksel lainnya, dimulai dari kiri, misalnya sudut atas. Sekaligus untuk memperoleh G(X, kamu) operator diterapkan untuk setiap posisi ( X, kamu). Meskipun bentuk lingkungan lainnya (seperti lingkaran) kadang-kadang digunakan, bentuk persegi lebih disukai karena kemudahan penerapannya.

Salah satu metode domain spasial yang paling banyak digunakan didasarkan pada penggunaan filter (konvolusi masker, templat, jendela). Biasanya, masker filter adalah sistem dua dimensi kecil (misalnya, berdimensi 3*3), yang koefisiennya dipilih sedemikian rupa untuk mendeteksi properti gambar tertentu (Gbr. 1.5, a).

Beras. 1.5: a – masker penyaring; b – koefisien masker filter

Jika nilainya w 1 ,w 2 ,…,w 9 mewakili koefisien, topeng piksel ( X, kamu) dan delapan tetangganya (Gbr. 1.5, b), maka algoritme dapat direpresentasikan dengan melakukan operasi berikut pada lingkungan dengan 3*3 titik (X, kamu) :

Tugas pemfilteran gambar dalam arti luas dipahami sebagai setiap prosedur pemrosesan gambar yang berisi masukan ke dalam prosedur tersebut gambar raster dan outputnya adalah gambar raster. Namun, lebih sering “penyaringan” dipahami sebagai apa yang disebut gangguan penyaringan. Tujuan utama dari pemfilteran noise adalah untuk memproses gambar sedemikian rupa sehingga hasilnya lebih sesuai dari sudut pandang aplikasi tertentu. Secara umum kita bisa membedakannya filter linier(filter penghalusan, filter penambah kontras, filter perbedaan) dan filter nonlinier(filter median).

Berikut penjelasan singkat tentang metode pemfilteran yang paling umum.

Filter Akses Rendah– melemahkan komponen frekuensi tinggi dan meningkatkan peran komponen frekuensi rendah. Frekuensi, bila diterapkan pada gambar, mencerminkan jumlah detail yang ada dalam gambar. Perubahan tajam dalam kecerahan, interferensi, dan noise adalah contoh elemen frekuensi tinggi dalam sebuah gambar. Pemulusan gambar diimplementasikan menggunakan kernel berikut:

,

,

.

Filter Lolos Tinggi– melemahkan komponen frekuensi rendah dalam gambar dan meningkatkan peran komponen frekuensi tinggi. Filter high-pass digunakan untuk menyorot detail seperti garis luar, tepi, atau untuk mempertajam gambar. Setiap lompatan kecerahan dan setiap kontur mewakili detail intens yang terkait dengan frekuensi tinggi. Isolasi komponen frekuensi tinggi dilakukan dengan menggunakan inti berikut:

,

,

.

Juru kamera Roberts. Operator Roberts adalah contoh filter nonlinier. Transformasi setiap piksel dengan operator Roberts cross dapat menampilkan turunan gambar sepanjang diagonal bukan nol, dan kombinasi gambar yang diubah ini juga dapat dianggap sebagai gradien dari dua piksel teratas ke dua piksel terbawah. Operator Roberts digunakan demi kecepatan komputasi, namun lebih rendah dibandingkan alternatif karena masalah sensitivitas terhadap kebisingan yang signifikan. Ini menghasilkan garis yang lebih halus dibandingkan metode penyorotan tepi lainnya.

Empat piksel terlibat dalam pemrosesan, terletak sebagai berikut (Gbr. 1.6).

Beras. 1.6. Piksel terlibat dalam pemrosesan oleh operator Roberts

Tanggapan Operator Roberts:

Kernel konvolusi masuk dalam hal ini akan terlihat seperti ini:

,

.

Konvolusi untuk setiap kernel dihitung secara terpisah. Sebagai tanggapan dari filter ini jumlahnya muncul

, (1.17)

Di mana P Dan Q– respon inti H 1 dan H 2 .

Terkadang jumlahnya
.

Operator Sobel. Operator Sobel digunakan dalam algoritma deteksi tepi. Ini adalah operator diferensial diskrit yang menghitung nilai perkiraan gradien kecerahan suatu gambar. Hasil penerapan operator Sobel pada setiap titik pada gambar adalah vektor gradien kecerahan pada titik tersebut, atau normanya. Metode peningkatan tepi menggunakan operator Sobel mempertimbangkan dua kernel konvolusi yang berbeda:

Berdasarkan konvolusi ini, besaran dan arah tepinya dihitung. Konvolusi untuk setiap kernel dihitung secara terpisah. Respons dari filter ini adalah nilainya

, (1.19)

Di mana P Dan Q– respon inti H 1 dan H 2 .

Terkadang jumlahnya
.

Juru kamera Prewitt. Operator Prewitt beroperasi serupa dengan operator Sobel. Detektor tepi Prewitt adalah dengan cara yang sesuai untuk memperkirakan ukuran dan orientasi batas. Meskipun detektor gradien diferensial memerlukan penghitungan perkiraan orientasi dari besaran dalam arah vertikal dan horizontal yang memakan waktu, detektor tepi Prewitt memberikan arah langsung dari kernel dengan hasil maksimal. Metode peningkatan tepi menggunakan operator Prewitt mempertimbangkan dua kernel konvolusi yang berbeda:

Hasil dari operator Prewitt adalah

, (1.21)

Di mana P Dan Q– respon inti H 1 dan H 2 .

Operator Laplace. Operator Laplace diskrit sering digunakan dalam pemrosesan gambar, seperti ekstraksi tepi atau aplikasi estimasi gerakan. Laplacian diskrit didefinisikan sebagai jumlah turunan kedua dan dihitung sebagai jumlah selisih tetangga piksel pusat. Metode peningkatan tepi Laplace mempertimbangkan sejumlah kernel konvolusi yang berbeda. Berikut beberapa di antaranya:

Seperti yang Anda lihat, jumlah elemen matriks adalah nol, sehingga respons filter bisa negatif. Dalam hal ini, nilai respon diambil modulo. Sebagai hasil pemrosesan, area dengan intensitas konstan atau meningkat secara linier menjadi hitam, dan area dengan nilai intensitas yang berubah dengan cepat disorot dengan terang.

Di bawah ini beberapa proses spasial yang tidak termasuk dalam kategori konvolusi dan dapat digunakan untuk menghilangkannya berbagai jenis kebisingan.

Filter rata-rata harmonik. Rata-rata harmonik dari deret tersebut
dihitung dengan rumus

. (1.23)

Selama proses pemfilteran, nilai piksel gambar saat ini diganti dengan
kumpulan nilai untuk sembilan piksel, termasuk piksel saat ini dan tetangganya.

Minimal– menyaring. Selama proses pemfilteran, nilai piksel saat ini diganti dengan nilai minimum piksel tetangga. Jadi, misalnya, untuk kernel berdimensi 3 kita akan memiliki:

Maks– menyaring. Selama proses pemfilteran, nilai piksel saat ini diganti dengan nilai maksimum piksel tetangga (mirip dengan filter sebelumnya).

Minimal- Maks-menyaring. Selama proses pemfilteran, nilai piksel saat ini pada gambar diganti terlebih dahulu dengan nilai minimum piksel tetangga, dan ketika diteruskan lagi secara maksimal.

penyaring median. Pemfilteran rata-rata menggunakan nilai elemen yang terdapat di wilayah yang bersebelahan untuk menentukan nilai baru. Filter mengatur elemen wilayah yang bersebelahan dalam urutan yang diurutkan dan memilih nilai rata-rata. Jadi, misalnya, untuk kernel berdimensi 3, nilai mediannya adalah yang kelima:

Dengan menggunakan metode pengolahan citra spasial, Anda dapat memperoleh sejumlah efek yang menarik. Mari kita daftar beberapa di antaranya.

Efek timbul. Dengan menggunakan operasi konvolusi, Anda dapat menerapkan transformasi yang memberikan efek timbul pada gambar.

(1.24)

Gambar biner "setengah nada semu". Gambar asli diproses menggunakan topeng D2 atau D4: jika nilai piksel kurang dari nilai proporsional elemen topeng yang sesuai, maka ditetapkan ke nol, jika tidak maka ditetapkan 255. Masker diterapkan ke gambar tanpa tumpang tindih . Masker D2 dan D4:

,

.

Saat menggunakan proses spasial, pertanyaan berikut mungkin muncul terkait dengan kekhasan pemrosesan piksel:

    Penghapusan efek tepi;

    Nilai respons berada di luar batas.

Untuk pertanyaan pertama, solusi berikut dapat dilakukan:

    Kecualikan piksel tepi suatu gambar dari konversi

dalam hal ini, gambar keluaran akan berukuran lebih kecil, atau piksel batas akan dicat, misalnya hitam;

    Jangan sertakan piksel yang sesuai dalam penjumlahan, yang mendistribusikan bobotnya secara merata di antara piksel lain di lingkungan sekitar;

    Tambahkan (lengkap) gambar asli, menambahkan jumlah piksel yang diperlukan di sepanjang tepian. Jumlah kolom yang akan ditambahkan biasanya bergantung pada ukuran kernel. Ada dua opsi di sini:

    • Tentukan nilai piksel di luar batas gambar menggunakan ekstrapolasi.

      Misalnya, pertimbangkan nilai intensitas di dekat konstanta batas atau pertimbangkan gradien intensitas di dekat konstanta batas;

Tentukan nilai piksel di luar batas gambar menggunakan mirroring.

    Untuk mengatasi masalah yang terkait dengan nilai yang melampaui batas, tindakan berikut dapat dilakukan:

    Jika respons filter negatif, ambil nilai absolut (modulo) atau kurangi menjadi nol.

Juga di bagian ini ada baiknya memberikan kemungkinan "klasifikasi" noise pada gambar:

    Kebisingan garam dan merica - piksel putih dan hitam acak;

    Kebisingan impuls – piksel putih acak;

    Kebisingan Gaussian adalah fluktuasi intensitas yang didistribusikan menurut hukum normal.

PENYARINGAN(dari bahasa Yunani phil "tron - minuman cinta; ini dianggap terutama proz- b.m.e.t.xxxsh. anggur udang karang), salah satu cara memisahkan fase cair dari padat (endapan, kekeruhan) dengan melewatkan sistem melalui bahan berpori, mempertahankan partikel padat. F. berbeda dari penyaringan dengan penggunaan bahan berpori yang lebih padat: dalam filter-

Gambar 1. Corong 60° dan pelipatan kertas untuk filter Bercepius.

Cairan penangas (filtrat) tidak boleh terlihat dengan mata telanjang. Dalam praktik laboratorium dan farmasi, biasanya disaring melalui kertas saring dengan menggunakan corong kaca atau porselen.

jubah. 2.Gambar 3.

Gambar 2. Corong dengan batang kaca untuk mempercepat filtrasi. Menggambar 3. Nucha: a-untuk vasos; b-untuk mengalirkan filtratnya. Filter Berzelius tersedia untuk mereka (Gbr. 1), terutama berguna jika diinginkan untuk mengumpulkan sedimen. Untuk mempercepat proses, digunakan corong segi (lihat Gambar. Corong, beras. 8) atau masukkan batang kaca di antara dinding corong dan filter (Gbr. 2). Pada awalnya

Gambar 4.

Gambar 5. Gambar 4. Lubang corong porselen. Gambar 5. Filter Gay-Lussac yang dilipat. Ronkah Buchner (lihat Corong, gbr. 3) dan iuchakh (Gbr. 3), beroperasi ketika udara di dalam penerima dijernihkan, filter datar digunakan dalam bentuk lingkaran dengan ukuran yang sesuai. Untuk mempercepat filtrasi jika pengawetan sedimen tidak diperlukan, corong dengan bentuk lain digunakan (lihat. Corong, beras. 1,2) dan corong berlubang (Gbr. 4); Untuk semua corong ini, filter Gay-Lussac terlipat atau datar disiapkan dengan melipat kertasnya dalam bentuk kipas (Gbr. 5). Corong dengan filter harus digunakan pada dudukan untuk menghindari luapan cairan (Gambar 6); dengan F., seutas benang, potongan kertas atau batang kaca harus ditempatkan langsung ke dalam botol di antara leher botol dan corong, sehingga menciptakan celah untuk keluarnya udara. Untuk akhir-akhir ini Kami memproduksi filter kaca dengan dasar kaca berpori, yang dapat digunakan untuk menyaring tanpa kertas (Gbr. 7). Pabrik Schott di Jena adalah yang pertama memproduksi filter tersebut. Ukuran pori filter ini ditunjukkan dengan angka: N ° 1 memungkinkan partikel dengan diameter sekitar 100 ts№ 2-50 (SAYA, K" 3-20 /l dan No.4-5 C. Bentuk filter kaca yang paling umum digunakan (Goslaborreaktivsbyt) disajikan pada Gambar 7; bentuk “e” dan “e” digunakan untuk menyedot cairan dari sedimen yang mudah keruh. Untuk memfasilitasi filtrasi, metode agregasi sedimen (misalnya, pendahuluan sentrifugasi) digunakan untuk mengurangi viskositas" fase cair (filtrasi selama pemanasan, lihat Corong, beras. 10 dan 11) atau cairan tersebut terlebih dahulu diklarifikasi sehingga menyebabkan terbentuknya sedimen berbutir kasar di dalamnya, yang menjebak (menyerap) kekeruhan halus. Untuk tujuan ini, tambahkan misalnya ke cairan yang akan diklarifikasi. putih telur kocok, gelatin, whey (jika ada tanin),

Gambar 6. Instalasi filtrasi.

/

f=™*3j

Gambar 7. Filter kaca berpori. susu (untuk cairan asam, seperti jus berry) atau potongan kertas saring yang direbus dengan air, tanah liat penjernih (floridin, gumbrin), dll.; terkadang putihnya ditambahkan dan kemudian digumpalkan dengan cara direbus. F. melalui lilin berpori (Berkefeld, Chamberlan, dll.) - lihat. Berkefell- baiklah lilin, Filter^ ke laboratorium. praktik. - Pada skala produksi, metode fototerapi digunakan untuk meningkatkan produktivitas; Bab. bagaimana mereka menggunakan filter press - perangkat yang ditemukan oleh insinyur. Nidge-Gambar 8. Detail filter press pada tahun 1828 (Gambar 8). sa dan skema aksinya: A- Untuk laboratorium cairan; .B-bilas; V- /■ pttrchngh h pyabot cv-sh.1Dost; C-filtrat. ^apotek; pauoi ou Ada penekan filter kecil. Filter kontinu, filter drum, filter disk, dan filter bidang memiliki produktivitas lebih besar. Untuk menyaring gas, lihat Masker gas.- Dalam analisis tetes (mikroanalisis kualitatif menurut Feigl dan Tananaev), F. berarti aliran cairan melalui kapiler kertas saring; “filtrat” dalam pengertian ini dianggap sebagai titik cairan pada jarak tertentu dari tetesan yang diterapkan pada TITIK kertas mana pun. I. Obergard*

Memfilter menggunakan fungsi imfilter

Pemfilteran gambar, termasuk korelasi dan konvolusi, dapat diimplementasikan menggunakan fungsi imfilter. Mari kita perhatikan contoh pemfilteran gambar menggunakan aperture geser dengan dimensi 5x5 dan komponen bobot yang identik. Filter seperti ini disebut filter rata-rata.

I = imread("koin.png"); h = satuan(5,5) / 25 jam = 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0 400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 0,0400 I2 = imfilter(I,h); saya tampilkan (saya); % Gambar gambar asli, imshow(I2); % Gambar setelah difilter

Tipe Data

Tipe data dalam fungsi imfilter diatur dengan cara yang sama seperti saat menggunakan fungsi aritmatika serupa lainnya. Gambar yang dihasilkan akan memiliki format data yang sama dengan gambar aslinya. Fungsi imfilter menghitung nilai setiap piksel yang dihasilkan dalam format presisi ganda dengan cara menggeseknya operasi aritmatika titik mengambang. Jika nilai yang dihasilkan melebihi rentang yang ditentukan dari jenis ini data, maka fungsi imfilter dapat memangkasnya ke rentang yang diinginkan. Itu tergantung pada format penyajian data. Jika data dalam format bilangan bulat, maka fungsi imfilter membulatkan bagian pecahannya.

Oleh karena itu, saat menggunakan fungsi imfilter, Anda harus mempertimbangkan format data gambar. Mari kita lihat contoh dimana fungsi imfilter menghasilkan nilai negatif. Sumber data disajikan dalam format ganda.

A = ajaib(5) A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 jam = [-1 0 1] jam = -1 0 1 imfilter(A ,h) jawab = 24 -16 -16 14 -8 5 -16 9 9 -14 6 9 14 9 -20 12 9 9 -16 -21 18 14 -16 -16 -2

Perhatikan bahwa hasilnya juga diwakili oleh nilai negatif. Jika matriks A direpresentasikan bukan dalam format ganda, melainkan dalam format uint8, maka diperoleh hasil sebagai berikut:

A = uint8(sihir(5)); imfilter(A,h) dan = 24 0 0 14 0 5 0 9 9 0 6 9 14 9 0 12 9 9 0 0 18 14 0 0 0

Setelah data sumber direpresentasikan dalam format uint8, data yang dihasilkan juga akan direpresentasikan dalam format uint8, dan nilai negatif akan dipotong menjadi 0. Dengan demikian, data sumber dapat dikonversi ke format lain sebelum menerapkan fungsi imfilter, misalnya bilangan bulat bertanda, tunggal atau ganda.

Opsi Korelasi dan Konvolusi

Fungsi imfilter dapat melakukan pemfilteran menggunakan korelasi atau konvolusi. Standarnya adalah korelasi karena fungsi pembuatan filter menghasilkan kernel korelasi.

Namun, jika Anda ingin memfilter menggunakan konvolusi, Anda harus menentukan opsi "conv" sebagai argumen opsional dalam fungsi imfilter. Mari kita lihat sebuah contoh.

A = sihir(5); h = [-1 0 1] imfilter(A,h) % pemfilteran menggunakan korelasi ans = 24 -16 -16 14 -8 5 -16 9 9 -14 6 9 14 9 -20 12 9 9 -16 -21 18 14 -16 -16 -2 imfilter(A,h,"conv") % pemfilteran menggunakan konvolusi ans = -24 16 16 -14 8 -5 16 -9 -9 14 -6 -9 -14 -9 20 -12 -9 -9 16 21 -18 -14 16 16 2

Opsi bantalan tepi gambar

Saat menghitung piksel yang dihasilkan di tepi gambar, bagian dari filter mask akan melampaui batas gambar seperti yang ditunjukkan pada gambar.


Filter nilai topeng melampaui batas gambar

Biasanya, ketika filter mask melampaui batas gambar, fungsi imfilter akan mengisi sel yang hilang nilai nol. Contoh pengisiannya ditunjukkan pada gambar di bawah ini.


Mengisi piksel yang hilang dengan nilai nol

Jika Anda memfilter gambar dengan mengisi piksel yang hilang dengan angka nol, maka gambar yang dihasilkan Garis gelap akan muncul di tepi gambar. Ini ditunjukkan pada gambar.

I = imread("delapan.tif"); h = satuan(5,5) / 25; I2 = imfilter(I,h); imshow(I), title("Gambar asli"); figure, imshow(I2), title("Gambar setelah difilter");

Untuk menghilangkan artefak yang disebabkan oleh elemen yang hilang diisi dengan angka nol, imfilter digunakan metode alternatif mengisi elemen yang hilang. Salah satu caranya adalah dengan mengisi piksel yang hilang dengan nilai piksel terluar dari gambar. Metode ini ditunjukkan pada gambar di bawah.


Mengisi topeng dengan piksel terluar dari suatu gambar

Saat menerapkan pemfilteran menggunakan pengisian elemen yang hilang dengan elemen ekstrem pada gambar, Anda juga harus menentukan opsi "replikasi" di fungsi imfilter.

I3 = imfilter(I,h,"replikasi");

gambar, imshow(I3); Fungsi imfilter juga mendukung metode lain untuk mengisi piksel yang hilang saat memproses elemen tepi suatu gambar. Untuk ini ada pilihan seperti "melingkar" dan "simetris". Untuk lebih lanjut informasi rinci

lihat deskripsi fungsi imfilter.

Pemfilteran multidimensi Fungsi imfilter juga dapat memproses gambar multidimensi. Perbedaan antara pemfilteran 2D dan 2D gambar 3D

adalah saat memproses gambar tiga dimensi, setiap lapisan warna, yang mewakili gambar dua dimensi dan dapat diproses dengan filter dua dimensi, harus difilter secara terpisah.


Mari kita lihat contoh pemrosesan gambar berwarna, di mana pemfilteran setiap lapisan warna diterapkan: fungsi multidimensi penyaringan. Fungsi filter2 melakukan pemfilteran linier dua dimensi, conv2 melakukan konvolusi pada sinyal dua dimensi, dan convn melakukan konvolusi pada sinyal multidimensi. Saat bekerja dengan masing-masing fungsi ini, data awal perlu disajikan dalam format ganda. Hasilnya juga akan disajikan dalam format ganda. Fungsi-fungsi ini selalu menggunakan zero padding untuk piksel yang hilang saat bekerja di tepi gambar dan tidak mendukung metode padding lainnya.

Berbeda dengan fungsi bernama, imfilter tidak memerlukan konversi data sumber ke format ganda. Fungsi imfilter juga memiliki beberapa opsi untuk mengisi elemen yang hilang di tepi gambar.

Menggunakan jenis filter yang telah ditentukan sebelumnya

Fungsi fspecial memiliki kemampuan untuk menghasilkan beberapa jenis filter yang telah ditentukan sebelumnya, yang tercermin dalam bentuk topeng. Setelah Anda membuat filter menggunakan fungsi fspecial, Anda dapat menerapkannya ke data gambar menggunakan fungsi imfilter. Mari kita perhatikan contoh penerapan filter tipe fuzzy masking untuk memproses gambar penuh warna. Metode fuzzy masking efektif digunakan untuk mempertegas tepian dan meningkatkan detail gambar.

I = imread("bulan.tif"); h = fspecial("unsharp") h = -0.1667 -0.6667 -0.1667 -0.6667 4.3333 -0.6667 -0.1667 -0.6667 -0.1667 I2 = imfilter(I,h); imshow(I), title("Gambar asli") gambar, imshow(I2), title("Gambar olahan")

Metode konversi frekuensi

Metode konversi frekuensi menggunakan filter respon impuls terbatas satu dimensi dan dua dimensi. Metode ini menggunakan matriks transformasi yang elemen-elemennya menentukan transformasi frekuensi.

Fungsi aplikasi ftrans2 dirancang untuk mengimplementasikan metode pemrosesan gambar berbasis frekuensi. Fungsi ini menghasilkan masker filter linier 2D menggunakan metode transformasi frekuensi untuk mengubah filter respons impuls hingga 1D. (Untuk lebih jelasnya, lihat Jae S. Lim, Sinyal Dua Dimensi dan Pemrosesan Gambar, 1990.

Perhatikan bahwa metode transformasi frekuensi memberikan banyak manfaat hasil yang bagus pengolahan. Mari kita lihat sebuah contoh.

B = remez(10,,); h = ftrans2(b);


= freqz(b,1,64,"keseluruhan"); peta warna(jet(64)) plot(w/pi-1,fftshift(abs(H))) gambar, freqz2(h,)

Respon frekuensi satu dimensi (kiri) dan respons frekuensi dua dimensi yang sesuai (kanan)

Contoh metode frekuensi DI DALAM Masker filter linier dibentuk berdasarkan respons frekuensi amplitudo yang diinginkan.

Dalam aplikasinya, fungsi fsamp2 menghasilkan masker filter 2D linier berdasarkan respons frekuensi yang diinginkan dari filter 2D. Masker yang dihasilkan dimaksudkan untuk diteruskan ke fungsi terkait (misalnya, filter2 atau conv2), yang melakukan pemfilteran linier dua dimensi. Mari kita pertimbangkan hal di atas dengan menggunakan contoh spesifik.

Hd = nol(11,11); Hd(4:8,4:8) = 1;


= freqspace(11,"meshgrid");

mesh(f1,f2,Hd), axis([-1 1 -1 1 0 1.2]), peta warna(jet(64)) h = fsamp2(Hd); gambar, frekuensi2(h,), sumbu([-1 1 -1 1 0 1.2]) Metode lokal (jendela).

Dalam aplikasi Gambar

Kotak Alat Pemrosesan


Terdapat fungsi yang menghasilkan masker filter linier sesuai dengan respons frekuensi amplitudo yang diinginkan menggunakan jendela satu dimensi atau dua dimensi. Saat membentuk matriks respons amplitudo-frekuensi yang diinginkan, untuk mendapatkan hasil yang lebih akurat, disarankan untuk menggunakan sampel frekuensi yang dikembalikan oleh fungsi freqspace.

Mari kita lihat ini dengan sebuah contoh.

Hd = nol(11,11); Hd(4:8,4:8) = 1;

= freqspace(11,"meshgrid"); mesh(f1,f2,Hd), axis([-1 1 -1 1 0 1.2]), peta warna(jet(64)) h = fwind1(Hd,hamming(11)); gambar, frekuensi2(h,), sumbu([-1 1 -1 1 0 1.2])

Respon frekuensi 2D yang diinginkan (kiri) dan respons frekuensi 2D aktual (kanan)


Menciptakan respons frekuensi amplitudo yang diinginkan

Fungsi desain filter fsamp2, fwind2, dan fwind2 membuat filter berdasarkan matriks nilai respons frekuensi yang diinginkan. Respons frekuensi yang diinginkan dapat dibuat menggunakan fungsi freqspace.

Mari kita lihat contoh pembuatan filter low-pass melingkar dengan cutoff 0,5. Untuk melakukan ini gunakan kode berikut:

Freqspace(25,"meshgrid");

Hd = nol(25,25); d = akar persegi(f1.^2 + f2.^2)

Respon frekuensi rendah melingkar yang sempurna


Menghitung Respon Frekuensi Filter

Fungsi freqz2 menghitung respons frekuensi filter 2D. Jika untuk filter dengan respons impuls terbatas kita berasumsi demikian

H =;

kemudian perhatikan perhitungan dan visualisasi titik respon frekuensi 64x64 h.

Frekuensi2(h) Respon frekuensi filter 2D(LPF) dengan finite impuls respon (FIR), yang dibentuk dari low-pass filter satu dimensi menggunakan metode konversi frekuensi.

Beberapa jenis transformasi dalam pengolahan citra

Dalam kebanyakan kasus, sebuah gambar direpresentasikan secara matematis sebagai fungsi dari dua variabel spasial ƒ(x,y). Nilai fungsi pada suatu titik (x,y) setara dengan tingkat intensitas pada saat itu.

  1. Transformasi Fourier;
  2. Transformasi kosinus diskrit
  3. Transformasi radon
  4. Transformasi proyeksi

Kami juga akan mempertimbangkan beberapa istilah yang akan digunakan saat berbagai jenis transformasi.

Ketentuan

Definisi

Transformasi diskrit

Ini adalah jenis transformasi di mana data sumber dan hasil direpresentasikan sebagai nilai diskrit. Transformasi diskrit yang diimplementasikan di MATLAB dan, khususnya, di Image Processing Toolbox mencakup transformasi Fourier diskrit dan transformasi kosinus diskrit.

Domain frekuensi Area di mana gambar direpresentasikan sebagai jumlah sinyal periodik dengan frekuensi yang berbeda.
Wilayah spasial Suatu area di mana gambar direpresentasikan sebagai titik-titik dalam ruang, yang masing-masing sesuai dengan nilai intensitas tertentu.
Konversi

Representasi matematis alternatif dari gambar. Misalnya, transformasi Fourier mewakili gambar sebagai jumlah variabel eksponensial kompleks amplitudo, frekuensi, dan fase. Jenis transformasi ini paling sering digunakan dalam analisis, peningkatan, dan kompresi gambar.

Keragaman pendekatan peningkatan citra terbagi dalam dua kategori: metode pemrosesan domain spasial (spatial method) dan metode pemrosesan domain frekuensi (frekuensi metode). Domain spasial mengacu pada kumpulan piksel yang membentuk gambar. Fungsi prapemrosesan domain spasial ditulis sebagai

Di mana F(X, kamu) – gambar masukan,

G(X, kamu) – gambar keluaran (diproses),

H– operator fungsi F, didefinisikan dalam beberapa domain ( X, kamu).

Operasi jenis ini termasuk dalam kelas umum operasi pada elemen tetangga. Operasi ini adalah alat utama untuk pemrosesan gambar tingkat rendah atau pemrosesan gambar domain spasial.

Pendekatan utama untuk menentukan lingkungan suatu titik ( X, kamu) adalah penggunaan luas persegi atau persegi panjang pada sebagian bayangan yang berpusat pada titik ( X, kamu). Bagian tengah gambar ini berpindah dari piksel ke piksel, dimulai, misalnya, dari sudut kiri atas. Sekaligus untuk memperoleh G(X, kamu) operator diterapkan untuk setiap posisi ( X, kamu). Meskipun bentuk lingkungan lainnya (seperti lingkaran) kadang-kadang digunakan, bentuk persegi lebih disukai karena kemudahan penerapannya.

Salah satu metode domain spasial yang paling banyak digunakan didasarkan pada penggunaan filter (konvolusi masker, templat, jendela). Biasanya, masker filter adalah sistem dua dimensi kecil (misalnya, berdimensi 3*3), yang koefisiennya dipilih sedemikian rupa untuk mendeteksi properti gambar tertentu (Gbr. 1.5, a).

Beras. 1.5: a – masker penyaring; b – koefisien masker filter

Jika nilainya w 1 ,w 2 ,…,w 9 mewakili koefisien, topeng piksel ( X, kamu) dan delapan tetangganya (Gbr. 1.5, b), maka algoritme dapat direpresentasikan dengan melakukan operasi berikut pada lingkungan dengan 3*3 titik (X, kamu) :

Masalah pemfilteran gambar dalam arti luas dipahami sebagai setiap prosedur pemrosesan gambar di mana gambar raster diberikan sebagai masukan ke prosedur dan gambar raster dihasilkan sebagai keluaran. Namun, lebih sering “penyaringan” dipahami sebagai apa yang disebut gangguan penyaringan. Tujuan utama dari pemfilteran noise adalah untuk memproses gambar sedemikian rupa sehingga hasilnya lebih sesuai dari sudut pandang aplikasi tertentu. Secara umum kita bisa membedakannya filter linier(filter penghalusan, filter penambah kontras, filter perbedaan) dan filter nonlinier(filter median).

Berikut penjelasan singkat tentang metode pemfilteran yang paling umum.

Filter Akses Rendah– melemahkan komponen frekuensi tinggi dan meningkatkan peran komponen frekuensi rendah. Frekuensi, bila diterapkan pada gambar, mencerminkan jumlah detail yang ada dalam gambar. Perubahan tajam dalam kecerahan, interferensi, dan noise adalah contoh elemen frekuensi tinggi dalam sebuah gambar. Pemulusan gambar diimplementasikan menggunakan kernel berikut:

,

,

.

Filter Lolos Tinggi– melemahkan komponen frekuensi rendah dalam gambar dan meningkatkan peran komponen frekuensi tinggi. Filter high-pass digunakan untuk menyorot detail seperti garis luar, tepi, atau untuk mempertajam gambar. Setiap lompatan kecerahan dan setiap kontur mewakili detail intens yang terkait dengan frekuensi tinggi. Isolasi komponen frekuensi tinggi dilakukan dengan menggunakan inti berikut:

,

,

.

Juru kamera Roberts. Operator Roberts adalah contoh filter nonlinier. Transformasi setiap piksel dengan operator Roberts cross dapat menampilkan turunan gambar sepanjang diagonal bukan nol, dan kombinasi gambar yang diubah ini juga dapat dianggap sebagai gradien dari dua piksel teratas ke dua piksel terbawah. Operator Roberts digunakan demi kecepatan komputasi, namun lebih rendah dibandingkan alternatif karena masalah sensitivitas terhadap kebisingan yang signifikan. Ini menghasilkan garis yang lebih halus dibandingkan metode penyorotan tepi lainnya.

Empat piksel terlibat dalam pemrosesan, terletak sebagai berikut (Gbr. 1.6).

Beras. 1.6. Piksel terlibat dalam pemrosesan oleh operator Roberts

Tanggapan Operator Roberts:

Kernel konvolusi dalam hal ini akan terlihat seperti ini:

,

.

Konvolusi untuk setiap kernel dihitung secara terpisah. Respons dari filter ini adalah nilainya

, (1.17)

Di mana P Dan Q– respon inti H 1 dan H 2 .

Terkadang jumlahnya
.

Operator Sobel. Operator Sobel digunakan dalam algoritma deteksi tepi. Ini adalah operator diferensial diskrit yang menghitung nilai perkiraan gradien kecerahan suatu gambar. Hasil penerapan operator Sobel pada setiap titik pada gambar adalah vektor gradien kecerahan pada titik tersebut, atau normanya. Metode peningkatan tepi menggunakan operator Sobel mempertimbangkan dua kernel konvolusi yang berbeda:

Berdasarkan konvolusi ini, besaran dan arah tepinya dihitung. Konvolusi untuk setiap kernel dihitung secara terpisah. Respons dari filter ini adalah nilainya

, (1.19)

Di mana P Dan Q– respon inti H 1 dan H 2 .

Terkadang jumlahnya
.

Juru kamera Prewitt. Operator Prewitt beroperasi serupa dengan operator Sobel. Detektor batas Prewitt adalah metode yang cocok untuk memperkirakan ukuran dan orientasi batas. Meskipun detektor gradien diferensial memerlukan penghitungan perkiraan orientasi dari besaran dalam arah vertikal dan horizontal yang memakan waktu, detektor tepi Prewitt memberikan arah langsung dari kernel dengan hasil maksimal. Metode peningkatan tepi menggunakan operator Prewitt mempertimbangkan dua kernel konvolusi yang berbeda:

Hasil dari operator Prewitt adalah

, (1.21)

Di mana P Dan Q– respon inti H 1 dan H 2 .

Operator Laplace. Operator Laplace diskrit sering digunakan dalam pemrosesan gambar, seperti ekstraksi tepi atau aplikasi estimasi gerakan. Laplacian diskrit didefinisikan sebagai jumlah turunan kedua dan dihitung sebagai jumlah selisih tetangga piksel pusat. Metode peningkatan tepi Laplace mempertimbangkan sejumlah kernel konvolusi yang berbeda. Berikut beberapa di antaranya:

Seperti yang Anda lihat, jumlah elemen matriks adalah nol, sehingga respons filter bisa negatif. Dalam hal ini, nilai respon diambil modulo. Sebagai hasil pemrosesan, area dengan intensitas konstan atau meningkat secara linier menjadi hitam, dan area dengan nilai intensitas yang berubah dengan cepat disorot dengan terang.

Di bawah ini beberapa proses spasial yang tidak termasuk dalam kategori konvolusi dan dapat digunakan untuk menghilangkan berbagai jenis kebisingan.

Filter rata-rata harmonik. Rata-rata harmonik dari deret tersebut
dihitung dengan rumus

. (1.23)

Selama proses pemfilteran, nilai piksel gambar saat ini diganti dengan
kumpulan nilai untuk sembilan piksel, termasuk piksel saat ini dan tetangganya.

Minimal– menyaring. Selama proses pemfilteran, nilai piksel saat ini diganti dengan nilai minimum piksel tetangga. Jadi, misalnya, untuk kernel berdimensi 3 kita akan memiliki:

Maks– menyaring. Selama proses pemfilteran, nilai piksel saat ini diganti dengan nilai maksimum piksel tetangga (mirip dengan filter sebelumnya).

Minimal- Maks-menyaring. Selama proses pemfilteran, nilai piksel saat ini dalam gambar diganti terlebih dahulu dengan nilai minimum piksel tetangga, dan ketika diteruskan lagi, dengan nilai maksimum.

penyaring median. Pemfilteran rata-rata menggunakan nilai elemen yang terdapat di wilayah yang bersebelahan untuk menentukan nilai baru. Filter mengatur elemen wilayah yang bersebelahan dalam urutan yang diurutkan dan memilih nilai rata-rata. Jadi, misalnya, untuk kernel berdimensi 3, nilai mediannya adalah yang kelima:

Dengan menggunakan metode pemrosesan gambar spasial, Anda dapat memperoleh sejumlah efek menarik. Mari kita daftar beberapa di antaranya.

Efek timbul. Dengan menggunakan operasi konvolusi, Anda dapat menerapkan transformasi yang memberikan efek timbul pada gambar.

(1.24)

Gambar biner "setengah nada semu". Gambar asli diproses menggunakan topeng D2 atau D4: jika nilai piksel kurang dari nilai proporsional elemen topeng yang sesuai, maka ditetapkan ke nol, jika tidak maka ditetapkan 255. Masker diterapkan ke gambar tanpa tumpang tindih . Masker D2 dan D4:

,

.

Saat menggunakan proses spasial, pertanyaan berikut mungkin muncul terkait dengan kekhasan pemrosesan piksel:

    Penghapusan efek tepi;

    Nilai respons berada di luar batas.

Untuk pertanyaan pertama, solusi berikut dapat dilakukan:

    Kecualikan piksel tepi suatu gambar dari konversi

dalam hal ini, gambar keluaran akan berukuran lebih kecil, atau piksel batas akan dicat, misalnya hitam;

    Jangan sertakan piksel yang sesuai dalam penjumlahan, yang mendistribusikan bobotnya secara merata di antara piksel lain di lingkungan sekitar;

    Lengkapi (lengkapi) gambar asli dengan menambahkan jumlah piksel yang diperlukan di sepanjang tepinya. Jumlah kolom yang akan ditambahkan biasanya bergantung pada ukuran kernel. Ada dua opsi di sini:

    • Tentukan nilai piksel di luar batas gambar menggunakan ekstrapolasi.

      Misalnya, pertimbangkan nilai intensitas di dekat konstanta batas atau pertimbangkan gradien intensitas di dekat konstanta batas;

Tentukan nilai piksel di luar batas gambar menggunakan mirroring.

    Untuk mengatasi masalah yang terkait dengan nilai yang melampaui batas, tindakan berikut dapat dilakukan:

    Jika respons filter negatif, ambil nilai absolut (modulo) atau kurangi menjadi nol.

Juga di bagian ini ada baiknya memberikan kemungkinan "klasifikasi" noise pada gambar:

    Kebisingan garam dan merica - piksel putih dan hitam acak;

    Kebisingan impuls – piksel putih acak;

    Kebisingan Gaussian adalah fluktuasi intensitas yang didistribusikan menurut hukum normal.

Pemfilteran gambar adalah suatu operasi yang menghasilkan gambar dengan ukuran yang sama, diperoleh dari gambar aslinya menurut aturan tertentu. Biasanya, intensitas (warna) setiap piksel pada gambar yang dihasilkan ditentukan oleh intensitas (warna) piksel yang terletak di lingkungan tertentu pada gambar aslinya.

Aturan penyaringan bisa sangat beragam. Pemfilteran gambar adalah salah satu operasi paling mendasar dari visi komputer, pengenalan pola, dan pemrosesan gambar. Pekerjaan sebagian besar metode pemrosesan gambar dimulai dengan satu atau beberapa pemfilteran gambar sumber.

Filter linier memiliki deskripsi matematis yang sangat sederhana. Kami berasumsi bahwa gambar halftone asli A diberikan, dan kami akan menyatakan intensitas pikselnya sebagai A(x, y). Filter linier ditentukan oleh fungsi bernilai nyata h (kernel filter) yang ditentukan pada raster. Pemfilteran itu sendiri dilakukan dengan menggunakan operasi konvolusi diskrit (penjumlahan tertimbang):

B(x, y) = h(i, j) ③③A(x, y) = h(i, j) A(x-i, y-j). (17.3.1)

Hasilnya adalah gambar B. Biasanya, kernel filter bukan nol hanya di beberapa lingkungan N pada titik (0, 0). Di luar lingkungan ini, h(i, j) sama dengan nol, atau sangat dekat dengannya dan dapat diabaikan. Penjumlahannya selesai (i, j)  N, dan nilai setiap piksel B(x, y) ditentukan oleh piksel-piksel gambar A yang terletak pada jendela N yang berpusat pada titik (x, y) (dilambangkan dengan himpunan N(x, y) ). Kernel filter yang didefinisikan pada lingkungan persegi panjang N dapat dipandang sebagai matriks berukuran m kali n yang panjang sisinya adalah bilangan ganjil. Saat menentukan kernel sebagai matriks, kernel harus berada di tengah. Jika sebuah piksel (x, y) terletak di sekitar tepi gambar, maka koordinat A(x-i, y-j) pasti (i, j) mungkin sesuai dengan piksel A yang tidak ada di luar gambar. Masalah ini dapat diatasi dengan beberapa cara.

Jangan memfilter piksel tersebut dengan memotong gambar B di bagian tepinya, atau menerapkannya nilai-nilai asli gambar A.

Jangan sertakan piksel yang hilang dalam penjumlahan, dengan mendistribusikan bobotnya h(i, j) secara merata di antara piksel-piksel lain di lingkungan N(x, y).

Tentukan nilai piksel di luar batas gambar menggunakan ekstrapolasi.

Tentukan nilai piksel di luar batas gambar menggunakan kelanjutan cermin gambar.

Pilihan metode dibuat dengan mempertimbangkan filter spesifik dan fitur gambar.

Filter anti-aliasing. Filter pemulusan persegi panjang paling sederhana dengan radius r ditentukan menggunakan matriks berukuran (2r+1) × (2r+1), yang semua nilainya sama dengan 1/(2r+1) 2, dan jumlah dari nilainya sama dengan satu. Ini adalah analog dua dimensi dari filter rata-rata bergerak satu dimensi berbentuk U low-pass. Saat memfilter dengan kernel seperti itu, nilai piksel diganti dengan nilai rata-rata piksel dalam persegi dengan sisi 2r+1 di sekelilingnya. Contoh masker filter 3×3:

.

Salah satu kegunaan filter adalah pengurangan kebisingan. Kebisingan bervariasi secara independen dari piksel ke piksel dan, asalkan ekspektasi matematis dari nilai kebisingan adalah nol, kebisingan dari piksel-piksel yang berdekatan akan saling meniadakan saat dijumlahkan. Semakin besar jendela pemfilteran, semakin rendah intensitas noise rata-rata, namun detail gambar yang signifikan juga akan kabur. Gambar titik putih dengan latar belakang hitam selama pemfilteran (reaksi terhadap impuls tunggal) akan menjadi kotak abu-abu seragam.

Pengurangan noise menggunakan filter persegi panjang memiliki kelemahan yang signifikan: semua piksel dalam filter mask pada jarak berapa pun dari piksel yang sedang diproses memiliki efek yang sama pada hasilnya. Hasil yang sedikit lebih baik diperoleh dengan memodifikasi filter dengan menambah bobot titik pusat:

.

Pengurangan noise yang lebih efektif dapat dicapai jika pengaruh piksel pada hasil berkurang seiring bertambahnya jarak dari piksel yang diproses. Filter Gaussian dengan kernel memiliki sifat berikut: h(i, j) = (1/2 2) exp(-(i 2 +j 2)/2   Filter Gaussian memiliki nilai bukan nol kernel berukuran tak terhingga. Namun, nilai kernel filter berkurang dengan sangat cepat ke nol saat kita menjauh dari titik (0, 0), dan oleh karena itu dalam praktiknya kita dapat membatasi diri pada konvolusi dengan jendela kecil di sekitar (0, 0) , misalnya, mengambil radius jendela sama dengan 3σ.

Pemfilteran Gaussian juga menghaluskan. Namun, tidak seperti filter persegi panjang, gambar titik dengan filter Gaussian akan menjadi titik buram yang simetris, dengan kecerahan menurun dari tengah ke tepi. Derajat keburaman gambar ditentukan oleh parameter σ.

Filter peningkatan kontras . Meskipun filter anti-aliasing mengurangi kontras lokal suatu gambar dengan mengaburkannya, filter peningkat kontras memiliki efek sebaliknya dan pada dasarnya merupakan filter frekuensi spasial tinggi. Kernel filter peningkat kontras pada titik (0, 0) memiliki nilai lebih besar dari 1, dengan jumlah total nilai sama dengan 1. Misalnya, filter peningkat kontras adalah filter dengan kernel yang ditentukan oleh matriks :

. .

Contoh penggunaan filter ditunjukkan pada Gambar. 17.3.1. Efek peningkatan kontras dicapai dengan filter yang menekankan perbedaan antara intensitas piksel tetangga, menjauhkan intensitas ini satu sama lain. Efek ini akan semakin kuat jika semakin besar nilai suku sentral kernel. Artefak khas dari pemfilteran peningkatan kontras linier adalah cahaya yang terlihat jelas dan lingkaran cahaya gelap yang kurang terlihat di sekitar batas.

Filter perbedaan - Ini filter linier, ditentukan oleh perkiraan diskrit dari operator diferensial (menggunakan metode beda hingga). Filter ini memainkan peran penting dalam banyak aplikasi, misalnya, untuk menemukan tepian pada gambar.

Operator diferensial paling sederhana adalah turunan terhadap koordinat x d/dx, yang didefinisikan untuk fungsi kontinu. Varian umum dari operator serupa untuk gambar diskrit adalah filter Prewitt dan Sobel:

. .

Filter yang mendekati operator turunan koordinat y d/dy diperoleh dengan mentransposisi matriks.

Algoritma paling sederhana untuk menghitung norma gradien dari tiga titik yang berdekatan:

G(x, kamu) =
.

Rumus perhitungan yang disederhanakan juga digunakan:

Perhitungan norma gradien pada empat titik yang berdekatan (operator Roberts):

Algoritma Sobel menggunakan delapan sampel kecerahan di sekitar titik pusat:

G(x, kamu) =
, G(x, y) 
,

Gx x, y = [ A x -1, y -1 +2 A x -1, y + A x -1, y +1 ] - [ A x +1, y -1 +2 A x +1, y + A x +1, y +1 ],

Gyx,y = - .

Selain penentuan norma gradien yang lebih akurat, algoritma Sobel juga memungkinkan seseorang untuk menentukan arah vektor gradien pada bidang analisis gambar dalam bentuk sudut  antara vektor gradien dan arah baris matriks:

(x, y) = argtg(Gy x,y /Gx x,y).

Berbeda dengan filter penghalusan dan peningkat kontras, yang tidak mengubah intensitas rata-rata gambar, penerapan operator perbedaan biasanya menghasilkan gambar dengan nilai piksel rata-rata mendekati nol. Perbedaan vertikal (batas) gambar asli sesuai dengan piksel dengan nilai modulus besar pada gambar yang dihasilkan. Oleh karena itu, filter perbedaan disebut juga filter pemilihan batas objek.

Mirip dengan filter di atas, filter untuk operator diferensial lainnya dapat dibuat menggunakan metode beda hingga. Secara khusus, operator diferensial Laplace (Laplacian) = 𝝏 2 /𝝏x 2 + 𝝏 2 /𝝏y 2, yang penting bagi banyak aplikasi, dapat didekati untuk gambar diskrit menggunakan filter dengan matriks (salah satu opsi ):

.

Seperti yang dapat dilihat pada Gambar. 17.3.2, sebagai akibat dari penggunaan Laplacian diskrit, nilai absolut yang besar berhubungan dengan perbedaan kecerahan vertikal dan horizontal. Filter dengan demikian adalah filter yang menemukan batas-batas orientasi apa pun. Menemukan batasan pada suatu gambar dapat dilakukan dengan menerapkan filter ini dan mengambil semua piksel yang nilai absolutnya melebihi ambang batas tertentu.

Namun, algoritma ini memiliki kelemahan yang signifikan. Yang utama adalah ketidakpastian dalam memilih nilai ambang batas. Untuk bagian gambar yang berbeda, hasil yang dapat diterima biasanya diperoleh pada perbedaan yang signifikan nilai ambang batas. Selain itu, filter perbedaan sangat sensitif terhadap noise gambar.

Konvolusi siklik dua dimensi. Seperti halnya sinyal satu dimensi, konvolusi dua dimensi dapat dilakukan dalam domain frekuensi spasial menggunakan algoritma transformasi Fourier cepat dan mengalikan spektrum dua dimensi dari gambar dan inti filter. Ini juga bersifat siklik, dan biasanya dilakukan dalam versi geser. Dengan mempertimbangkan siklus, untuk menghitung pola konstan spektrum kernel, dimensi masker filter kernel digandakan sepanjang sumbu dan diisi dengan nol, dan dimensi masker yang sama digunakan untuk memilih jendela yang meluncur melintasi gambar, di dalamnya FFT dilakukan. Penerapan filter FIR menggunakan FFT sangat efektif jika filter tersebut memiliki area referensi yang besar.

Filter nonlinier . Dalam pengolahan citra digital, algoritma nonlinier berdasarkan statistik peringkat banyak digunakan untuk memulihkan citra yang rusak akibat berbagai model noise. Mereka memungkinkan Anda menghindari distorsi gambar tambahan saat menghilangkan noise, dan juga secara signifikan meningkatkan hasil filter pada gambar dengan tingkat noise yang tinggi.

Mari kita perkenalkan konsep lingkungan M dari elemen gambar A(x, y), yang merupakan pusat lingkungan ini. Dalam kasus paling sederhana, lingkungan M berisi N-piksel - titik-titik yang termasuk dalam masker filter, termasuk (atau tidak termasuk) yang di tengah. Nilai-nilai N-elemen ini dapat disusun dalam deret variasi V(r), diurutkan dalam urutan menaik (atau menurun), dan momen-momen tertentu dari deret ini dapat dihitung, misalnya nilai rata-rata kecerahan m N dan varians d N . Nilai keluaran filter, yang menggantikan sampel pusat, dihitung menggunakan rumus:

B(x, y) = A(x, y) + (1-)m N .

(17.3.2)

Nilai koefisien  dikaitkan dengan ketergantungan tertentu dengan statistik sampel di jendela filter, misalnya:

d N /(d N + kd S), (17.3.3)

Pilihan fungsi statistik dan sifat ketergantungan koefisien  padanya bisa sangat beragam (misalnya, menurut sebaran perbedaan sampel di lingkungan M dengan sampel pusat), dan bergantung pada ukuran bukaan filter dan sifat gambar serta noise. Intinya, nilai koefisien  harus menentukan tingkat kerusakan pada sampel pusat dan, dengan demikian, fungsi pinjaman untuk koreksi sampel dari lingkungan M.

Jenis filter nonlinier yang paling sederhana dan umum untuk pemrosesan gambar adalah filter ambang batas dan filter median.

Penyaringan ambang batas diberikan misalnya sebagai berikut:

B(x, kamu) =

Besarnya P adalah ambang batas penyaringan. Jika nilai titik pusat filter melebihi nilai rata-rata sampel m N di lingkungan M sebesar nilai ambang batas, maka nilai tersebut diganti dengan nilai rata-rata. Nilai ambang batas dapat berupa konstanta atau bergantung secara fungsional pada nilai titik pusat.

Penyaringan median didefinisikan sebagai berikut:

B(x, y) = sedang (M(x, y)),

itu. hasil pemfilteran adalah nilai median piksel lingkungan, yang bentuknya ditentukan oleh filter mask. Pemfilteran median dapat secara efektif menghilangkan noise dari gambar yang secara independen memengaruhi piksel individual. Misalnya, interferensi tersebut adalah piksel “rusak” selama fotografi digital, noise “salju” saat sebagian piksel digantikan oleh piksel dengan intensitas maksimum, dan sebagainya. Keuntungan pemfilteran median adalah piksel “panas” pada latar belakang gelap akan digantikan oleh piksel gelap, dan tidak “diolesi” di sekitar area tersebut.

Pemfilteran median telah menyatakan selektivitas sehubungan dengan elemen array, yang merupakan komponen non-monotonik dari urutan angka dalam bukaan filter. Pada saat yang sama, filter median membiarkan komponen monotonik dari barisan tersebut tidak berubah. Berkat fitur ini, filter median, dengan aperture yang dipilih secara optimal, mempertahankan batas objek yang tajam tanpa distorsi, menekan noise yang tidak berkorelasi atau berkorelasi lemah dan detail berukuran kecil.

Filter ekstrim ditentukan menurut aturan:

B menit (x, y) = menit (M(x, y)),

B maks (x, y) = maks (M(x, y)),

itu. hasil filtering adalah nilai pixel minimum dan maksimum pada filter mask. Filter seperti ini biasanya digunakan untuk gambar biner.

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat