Transcript
Page 1: Terje Mahan alasnote

Bab 3

Pemrosesan Sekitar 3.1 Pendahuluan

Kita telah melihat dalam bab 2 bahwa gambar dapat dimodifikasi dengan menerapkan fungsi tertentu untuk setiap nilai pixel. Sekitar pengolahan dapat dianggap sebagai perpanjangan dari ini, di mana fungsi diterapkan pada lingkungan masing-masing pixel.

Idenya adalah untuk memindahkan " topeng" : persegi panjang (biasanya dengan sisi panjang aneh) atau bentuk lain melalui citra yang diberikan. Ketika kita melakukan ini, kita menciptakan citra baru yang memiliki nilai-nilai piksel abu-abu dihitung dari nilai abu-abu di bawah topeng, seperti yang ditunjukkan pada gambar 3.1. Kombinasi topeng dan fungsi

Gambar asli Gambar setelah penyaringan

Gambar 3.1: Menggunakan topeng spasial pada gambar

disebut filter. Jika fungsi dimana nilai abu-abu baru dihitung adalah fungsi linear dari semua nilai abu-abu dalam topeng, maka penyaring disebut penyaring linear.

Penyaring linear dapat diimplementasikan dengan mengalikan semua elemen dalam topeng dengan unsur-unsur di lingkungan yang sesuai, dan menambahkan semua produk ini. Misalkan kita memiliki 3 x 5 topeng seperti yang diilustrasikan pada gambar 3.1. Misalkan nilai mask yang diberikan oleh:

Page 2: Terje Mahan alasnote

dan bahwa nilai-nilai yang sesuai pixel yang

Sekarang kita memperbanyak dan menambahkan:

Sebuah diagram yang menggambarkan proses untuk melakukan penyaringan spasial diberikan pada gambar 3.2. Spasial filtering sehingga membutuhkan tiga langkah:

1. Posisi masker selama pixel saat ini, 2. Membentuk semua produk elemen filter dengan unsur-unsur yang sesuai lingkungan, 3. Menjumlahkan semua produk.

Ini harus diulang untuk setiap pixel dalam gambar. Penunjang penyaringan spasial adalah konvolusi spasial. Metode untuk melakukan konvolusi

adalah sama dengan yang untuk filtering, kecuali bahwa filter harus diputar oleh 1800 sebelum mengalikan dan menambahkan.Menggunakan m (i, j) dan p (i, j) notasi seperti sebelumnya, output dari konvolusi dengan topeng 3x5 untuk pixel tunggal :

Page 3: Terje Mahan alasnote

Gambar 3.2 : Melakukan penyaringan spasial

Perhatikan tanda-tanda negatif pada indeks m. Hasil yang sama dapat dicapai dengan

Di sini kita telah memutar piksel gambar dengan 1800; hal ini tentu saja tidak mempengaruhi hasil. Pentingnya konvolusi akan menjadi jelas ketika kita menyelidiki Transformasi Fourier, dan teorema konvolusi. Perhatikan juga bahwa dalam prakteknya, kebanyakan topeng filter yang rotationally simetris, sehingga penyaringan spasial dan konvolusi spasial akan menghasilkan output yang sama.

Contoh: Satu linear filter penting adalah dengan menggunakan masker 3x3 dan mengambil rata-rata dari semua nilai-nilai dalam sembilan topeng. Nilai ini menjadi nilai abu-abu dari pixel yang sesuai dalam gambar baru. Operasi ini dapat digambarkan sebagai berikut:

dimana e adalah nilai abu-abu dari pixel saat ini di gambar asli, dan rata-rata adalah nilai abu-abu dari pixel yang sesuai dalam gambar baru. Untuk menerapkan ini untuk sebuah gambar, mempertimbangkan 5x5 "image" yang diperoleh:

Page 4: Terje Mahan alasnote

Kita mungkin menganggap array ini sebagai yang terbuat dari sembilan lingkungan 3x3 tumpang tindih. Output dari kerja kita dengan demikian akan hanya terdiri dari sembilan nilai. Kita akan lihat nanti bagaimana mendapatkan 25 nilai dalam output. Pertimbangkan lingkungan 3x3 kiri atas gambar x kita:

Sekarang kita mengambil rata-rata dari semua nilai-nilai ini:

yang dapat dibulatkan menjadi 111. Sekarang kita bisa pindah ke lingkungan kedua:

dan mengambil rata-rata:

dan ini dapat dibulatkan baik turun ke 108, atau ke integer terdekat 109 Jika kita terus dengan cara ini, output berikut diperoleh :

Page 5: Terje Mahan alasnote

Array ini merupakan hasil penyaringan x dengan filter 3x3 rata-rata.

3.2 CatatanHal ini mudah untuk menggambarkan filter linear hanya dalam hal koefisien semua nilai abu-abu piksel dalam topeng. Hal ini dapat ditulis sebagai matriks. rata-rata di atas saringan, misalnya, bisa memiliki output ditulis sebagai

sehingga filter ini dapat dijelaskan oleh matriks

Contoh: Filter

akan beroperasi pada nilai-nilai abu-abu sebagai

Tepi gambar Ada masalah yang jelas dalam menerapkan filter-apa yang terjadi di tepi gambar, wherethe topeng sebagian berada di luar gambar? Dalam kasus seperti itu, seperti digambarkan pada Gambar 3.3 akan ada kurangnya nilai-nilai abu-abu untuk digunakan dalam fungsi filter.

Gambar 3.3: Sebuah masker di tepi gambar

Ada beberapa pendekatan yang berbeda untuk mengatasi masalah ini:Abaikan tepi. Artinya, masker hanya diterapkan untuk mereka piksel pada gambar untuk dengan topeng akan terletak sepenuhnya dalam gambar. Ini berarti semua piksel kecuali untuk tepi, dan menghasilkan gambar output yang lebih kecil dari aslinya. Jika masker sangat besar, sejumlah besar informasi dapat hilang dengan metode ini. Kami menerapkan metode ini dalam contoh kita di atas.

Page 6: Terje Mahan alasnote

"Pad" dengan nol. Kami berasumsi bahwa semua nilai yang diperlukan di luar gambar adalah nol. Ini memberi kita semua nilai untuk bekerja dengan, dan akan mengembalikan output gambar dengan ukuran yang sama seperti aslinya, tetapi mungkin memiliki efek yang tidak diinginkan memperkenalkan artefak (misalnya, tepi) sekitar gambar.

3.3 Penyaringan di Matlab Fungsi filter2 melakukan pekerjaan penyaringan linear untuk kita; penggunaannya

filter2(filter,image,shape)

dan hasilnya adalah matriks tipe data ganda. Parameter bentuknya opsional, itu menggambarkan metode untuk menangani tepi:

filter2(filter,image,’saama’) adalah default; menghasilkan matriks ukuran yang sama dengan gambar matriks asli. Menggunakan nol padding:

filter2 (filter, gambar, 'valid') berlaku topeng hanya untuk "di dalam" piksel. Hasilnya akan selalu lebih kecil dari aslinya:

Hasil 'sama' di atas juga dapat diperoleh dengan padding dengan nol dan menggunakan 'valid':

Page 7: Terje Mahan alasnote

filter2 (filter, gambar, 'penuh') mengembalikan hasil yang lebih besar daripada yang asli; hal ini ini dengan padding dengan nol, dan menerapkan filter di semua tempat di dan di sekitar gambar di mana topeng memotong matriks citra.

Parameter bentuk, menjadi opsional, dapat diabaikan; dalam hal nilai default adalah 'sama'. Tidak ada satu "terbaik" pendekatan; metode harus ditentukan oleh masalah yang dihadapi; oleh filter yang digunakan, dan dengan hasil yang dibutuhkan. Kita bisa membuat filter kami dengan tangan, atau dengan menggunakan fungsi fspecial; ini memiliki banyak pilihan yang membuat untuk penciptaan mudah banyak filter yang berbeda. Kita akan menggunakan opsi rata, yang memproduksi filter rata-rata dari ukuran tertentu; demikian

akan kembali filter rata-rata ukuran 5x7; lebih sederhana

akan kembali filter rata-rata ukuran 11x11. Jika kita meninggalkan jumlah akhir atau vektor, filter 3x3 rataan dikembalikan. Sebagai contoh, misalkan kita menerapkan filter 3x3 rata-rata untuk gambar sebagai berikut:

Kita sekarang memiliki matriks tipe data ganda. Untuk menampilkan ini, kita bisa melakukan hal-hal berikut:

Page 8: Terje Mahan alasnote

1. mengubahnya ke matriks jenis uint8, untuk digunakan dengan imshow,2. membagi nilai-nilainya dengan 255 untuk mendapatkan matriks dengan nilai-nilai di kisaran

0,1 -1.0, untuk digunakan dengan imshow3. menggunakan mat2gray untuk skala hasil untuk ditampilkan. Kita akan membahas

penggunaan fungsi ini nanti.

Menggunakan metode kedua:

akan menghasilkan gambar yang ditunjukkan pada angka 3,4 (a) dan 3.4 (b).rataan Filter mengaburkan gambar; tepi khususnya kurang jelas dibandingkan aslinya.Gambar dapat lebih kabur dengan menggunakan filter rata-rata ukuran yang lebih besar.Hal ini ditunjukkan pada Gambar 3.4 (c), di mana filter 9x9 rata-rata telah digunakan, dan pada gambar 3.4 (d), di mana filter 25x25 rata-rata telah digunakan.

(a) Gambar Asli (b) rata-rata filtering

(c) Menggunakan 9x9 (d) menggunakan 25x25

Gambar 3.4: Rata-rata filtering

Page 9: Terje Mahan alasnote

Perhatikan bagaimana nol bantalan yang digunakan di tepi telah menghasilkan perbatasan gelap muncul di sekitar gambar. Hal ini terutama terlihat ketika filter besar sedang digunakan. Jika ini adalah sebuah artefak yang tidak diinginkan dari penyaringan; jika misalnya perubahan kecerahan rata-rata gambar, maka mungkin lebih tepat untuk menggunakan 'valid' pilihan bentuk.

Gambar yang dihasilkan setelah filter ini mungkin tampak lebih "buruk" daripada yang asli. Namun, menerapkan filter kabur untuk mengurangi detail dalam gambar mungkin operasi yang sempurna untuk mesin pengakuan otonom, atau jika kita hanya berkonsentrasi pada "kotor" aspek gambar: jumlah objek; jumlah daerah gelap dan terang. Dalam kasus tersebut, terlalu banyak detail dapat mengaburkan hasilnya.

Filter dipisahkan Beberapa filter dapat diimplementasikan oleh aplikasi berturut-turut dari dua filter sederhana. Sebagai contoh, karena

filter 3x3 rata-rata dapat diimplementasikan dengan terlebih dahulu menerapkan filter 3x1 rata-rata, dan kemudian menerapkan filter 3x1 rata-rata hasil tersebut.filter 3x3 rata-rata dengan demikian dipisahkan menjadi dua filter yang lebih kecil. Keterpisahan dapat menghasilkan penghematan waktu yang tepat. Misalkan filter nxn adalah dipisahkan menjadi dua filter ukuran Nx1 dan 1xN. Penerapan filter nxn membutuhkan perkalian n2, dan n2-1 tambahan untuk setiap pixel dalam gambar. Namun penerapan filter Nx1 hanya membutuhkan n perkalian dan n-1 penambahan. Karena ini harus dilakukan dua kali, jumlah perkalian dan penambahan yang 2n dan 2n-2 masing-masing.Jika n adalah besar simpanan dalam efisiensi mungkin besar. Semua filter rata-rata yang dipisahkan; Filter dipisahkan lain adalah laplacian yang

Contoh lain akan dipertimbangkan di bawah ini.

3.4 Frekuensi; filter lulus rendah dan tinggiIni akan mudah untuk memiliki beberapa terminologi standar yang kita bisa mendiskusikan efek filter akan memiliki pada gambar, dan untuk dapat memilih yang paling sesuai penyaring untuk tugas pengolahan gambar yang diberikan. Salah satu aspek penting dari suatu gambar yang memungkinkan kita untuk melakukan ini adalah gagasan tentang frekuensi. Secara kasar, frekuensi dari suatu gambar adalah ukuran jumlah dimana nilai-nilai abu-abu berubah dengan jarak. Konsep ini akan diberikan pengaturan yang lebih formal dalam bab 4 komponen frekuensi tinggi yang ditandai dengan perubahan besar dalam nilai-nilai abu-abu jarak kecil.; contoh komponen frekuensi tinggi tepi dan kebisingan. Komponen frekuensi rendah, di sisi laintangan, adalah bagian dari gambar yang ditandai dengan sedikit perubahan dalam nilai-nilai abu-abu. Ini mungkin termasuk latar belakang, tekstur kulit. Kami kemudian mengatakan bahwa filter adalah

Page 10: Terje Mahan alasnote

filter lolos tinggi jika "melewati" komponen frekuensi tinggi, dan mengurangi atau menghilangkan komponen frekuensi rendah,filter lolos rendah jika "melewati" komponen frekuensi rendah, dan mengurangi atau menghilangkan komponen frekuensi tinggi,

Sebagai contoh, filter 3x3 rata-rata adalah filter lolos rendah, karena cenderung mengaburkan tepi. Filter

adalah filter lolos tinggi. Kami mencatat bahwa jumlah dari koefisien (yaitu, jumlah dari semua elemen e dalam matriks), di filter lolos tinggi adalah nol. Ini berarti bahwa dalam frekuensi rendah bagian dari suatu gambar, di mana nilai-nilai abu-abu mirip, hasil dari penggunaan filter ini adalah bahwa nilai-nilai abu-abu yang sesuai dalam gambar baru akan mendekati nol. Untuk melihat ini, pertimbangkan blok 4x4 nilai-nilai piksel yang sama, dan menerapkan di atas filter lolos tinggi untuk empat pusat:

Nilai-nilai yang dihasilkan mendekati nol, yang merupakan hasil yang diharapkan dari penerapan pass filter tinggi untuk komponen frekuensi rendah. Kita akan melihat bagaimana berurusan dengan nilai-nilai negatif di bawah.filter lulus tinggi dari nilai tertentu dalam deteksi tepi dan peningkatan tepi (yang kita akan melihat lebih dalam bab 8). Tapi kita bisa memberikan sebuah film, menggunakan gambar kamera.

Page 11: Terje Mahan alasnote

Foto akan ditampilkan pada Gambar 3.5. Gambar (a) adalah hasil dari Laplacian filter; gambar (b) menunjukkan hasil dari Laplacian of Gaussian ("log") filter. Dalam setiap kasus, jumlah dari semua elemen filter adalah nol.

(a) filter Laplacian ( b) Laplacian of Gaussian ("log") penyaringan

Gambar 3.5:Lolos atas penyaringan

Nilai di luar jangkauan 0-255 Kita telah melihat bahwa untuk tampilan gambar, kami ingin nilai-nilai abu-abu dari pixel untuk berbohong antara 0 dan 255. Namun, hasil dari penerapan filter linear mungkin nilai-nilai yang berada di luar kisaran ini. Kita dapat mempertimbangkan cara-cara berurusan dengan nilai-nilai di luar ini "dapat ditampilkan" jangkauan. Membuat nilai negatif positif. Hal ini tentu akan berurusan dengan nilai-nilai negatif, tetapi tidak dengan nilai lebih besar dari 255 Oleh karena itu, ini hanya bisa digunakan dalam keadaan tertentu.; misalnya, ketika hanya ada beberapa nilai-nilai negatif, dan ketika nilai-nilai ini sendiri mendekati nol. Nilai klip. Kami menerapkan jenis thresholding operasi berikut untuk nilai x abu-abu yang dihasilkan oleh saringan untuk mendapatkan nilai y dapat ditampilkan

Ini akan menghasilkan gambar dengan semua nilai-nilai pixel dalam kisaran yang diperlukan, tetapi tidak cocok jika ada banyak nilai-nilai abu-abu di luar kisaran 0-255; khususnya, jika nilai-nilai abu-abu yang sama tersebar di kisaran yang lebih besar. Dalam kasus seperti itu operasi ini akan cenderung untuk menghancurkan hasil filter.

Skala transformasi. Misalkan nilai gray terendah dihasilkan oleh filter jika gLdan nilai tertinggi adalah gH. Kita dapat mengubah semua nilai dalam kisaran gL-gH ke kisaran 0-255 oleh transformasi linear digambarkan di bawah ini:

Page 12: Terje Mahan alasnote

Karena gradien garis adalah 225 / (GH-gL) kita dapat menulis persamaan garis sebagai

dan menerapkan transformasi ini untuk semua tingkatan x abu-abu yang dihasilkan oleh filter akan menghasilkan (setelah adanya pembulatan diperlukan) dalam sebuah gambar yang dapat ditampilkan.Sebagai contoh, mari kita menerapkan filter high pass yang diberikan dalam bagian 3.4 untuk gambar kamera:

Sekarang nilai-nilai maksimum dan minimum dari CF2 matriks adalah 593 dan -541 masing-masing. Fungsi mat2gray otomatis skala elemen matriks nilai-nilai dapat ditampilkan; untuk setiap matriks M, itu berlaku transformasi linear untuk elemen, dengan nilai pemetaan terendah 0,0, dan nilai pemetaan tertinggi 1,0. Ini berarti output dari mat2gray selalu bertipe ganda.Fungsi ini juga mensyaratkan bahwa jenis input ganda.

Untuk melakukan hal ini dengan tangan, sehingga untuk berbicara, menerapkan transformasi linear di atas, kita dapat menggunakan:

Hasilnya akan menjadi matriks tipe ganda, dengan entri di kisaran 0,0 - 1,0. Hal ini dapat dilihat dengan imshow. Kita bisa membuat gambar uint8 dengan mengalikan dengan 255 pertama. Hasilnya bisa dilihat pada gambar 3.6. Kita umumnya dapat memperoleh hasil yang lebih baik dengan membagi hasil penyaringan dengan konstan sebelum menampilkannya:

dan ini juga ditunjukkan dalam gambar 3.6.Filter lulus tinggi sering digunakan untuk deteksi tepi. Ini dapat terlihat cukup jelas pada gambar sebelah kanan gambar 3.6.

Page 13: Terje Mahan alasnote

(a) menggunakan mat2gray (b)menggunakan mat2gray Membagi dengan suatu konstantaGambar 3.6: Menggunakan filter lolos tinggi dan menampilkan hasilnya

3.5 Tepi ketajamanSpasial filtering dapat digunakan untuk membuat tepi dalam gambar sedikit lebih tajam dan lebih renyah, yang umumnya menghasilkan gambar yang lebih menyenangkan bagi mata manusia. Operasi ini berbagai cara yang disebut "ujung peningkatan", "ujung crispening", atau "masking unsharp". Istilah terakhir ini berasal dari industri percetakan.masking UnsharpIde masking unsharp adalah untuk mengurangkan berskala versi "unsharp" gambar dari aslinya. Dalam prakteknya, kita dapat mencapai hal ini mempengaruhi dengan mengurangi gambar kabur skala dari aslinya. Skema untuk masking unsharp ditunjukkan pada Gambar 3.7.

Gambar 3.7: Skema untuk masking unsharp

Misalkan gambar x adalah tipe uint8. The masking unsharp dapat diterapkan dengan urutan perintah berikut:

Perintah terakhir skala hasil sehingga imshow menampilkan gambar yang sesuai; nilai tersebut mungkin perlu disesuaikan dengan citra masukan. Misalkan x adalah gambar yang ditampilkan pada Gambar 3.8 (a), maka hasil masking unsharp diberikan pada Gambar 3.8 (b). Hasilnya tampaknya menjadi citra yang lebih baik dari pada yang asli; ujung-ujungnya tajam dan lebih jelas.

Page 14: Terje Mahan alasnote

(a) Gambar asli (b) Gambar setelah masking unsharp

Gambar 3.8: Contoh masking unsharp

Untuk melihat mengapa ini bekerja, kita dapat mempertimbangkan fungsi nilai abu-abu ketika kami melakukan perjalanan melintasi tepi, seperti yang ditunjukkan pada gambar 3.9. Sebagai blur skala dikurangi dari aslinya, hasilnya adalah bahwa tepi ditingkatkan, seperti yang ditunjukkan pada grafik (c) angka 3.9. Kami sebenarnya bisa melakukan filtering dan operasi mengurangkan dalam satu perintah, menggunakan linearitas filter, dan filter 3x3

adalah "filter identitas". Masking unsharp maka dapat diimplementasikan oleh filter formulir

di mana k adalah konstanta yang dipilih untuk memberikan hasil terbaik. Atau, masking unsharp filter yang dapat didefinisikan sebagai

sehingga kita berada dalam efek mengurangi blur dari versi skala dari aslinya; faktor skala juga dapat dibagi antara identitas dan kabur filter.

(a) nilai Pixel atas tepi

Page 15: Terje Mahan alasnote

(b) Tepi kabur

Gambar 3.9: masking Unsharp

Pilihan unsharp dari fspecial menghasilkan filter tersebut; filter dibuat memiliki bentuk

di mana a adalah parameter opsional yang defaultnya adalah 0,2. Jika a = 0,5 filter adalah

Gambar 3.10 dibuat menggunakan perintah Matlab

Gambar 3.10 (b), muncul lebih tajam dan "bersih" dari aslinya. Perhatikan khususnya batu dan pohon di latar belakang, dan riak-riak di atas air.

(a) original (b) Setelah masking unsharpGambar 3.10: peningkatan Ujung dengan masking unsharp

Page 16: Terje Mahan alasnote

Meskipun kami telah menggunakan filter perataan di atas, kita sebenarnya bisa menggunakan low pass filter untuk masking unsharp.

Meningkatkan tinggi penyaringan Bersekutu dengan filter unsharp masking adalah filter meningkatkan tinggi, yang diperoleh

meningkatkan tinggi = A(asli) –(lulus rendah).di mana A adalah "faktor amplifikasi". Jika A = 1, maka dorongan filter high pass filter menjadi tinggi biasa. Jika kita mengambil sebagai filter lulus rendah 3x3 perataan, maka dorongan filter yang tinggi akan memiliki bentuk

di mana z> 8. jika kita menempatkan z = 11, kita memperoleh penyaringan yang sangat mirip dengan filter unsharp di atas, kecuali untuk faktor skala. Jadi perintah:

akan menghasilkan gambar mirip dengan yang di gambar 3.8. Nilai 80 diperoleh dengan cara trial and error untuk menghasilkan gambar dengan intensitas yang mirip dengan aslinya. Kita juga dapat menulis rumus meningkatkan tinggi di atas sebagai

meningkatkan tinggi = A(asli) –(lulus rendah).= A(asli) –((asli)-(lulus tinggi))= (A-1)(asli)+ (lulus tingggi).

Hasil terbaik untuk meningkatkan tinggi penyaringan diperoleh jika kita kalikan persamaan dengan faktor w sehingga filter nilai sum ke 1?; ini membutuhkan

atau

Jadi rumus masking unsharp umum

versi lain dari formula adalah

di mana untuk hasil terbaik A diambil sehingga

Jika kita mengambil A = 3/5, formula menjadi

Page 17: Terje Mahan alasnote

Jika kita mengambil A = 5/6, kita memperoleh

Menggunakan identitas dan perataan filter, kita dapat memperoleh filter meningkatkan tinggi dengan:

Jika masing-masing filter HB1 dan HB2 diterapkan pada gambar dengan filter2, hasilnya akan telah meningkatkan tepi. Gambar dalam Gambar 3.11 menunjukkan hasil ini; mencari 3.11 (a) diperoleh dengan

dan mencari 3.11 (b) sama.

(a) meningkatkan Tinggi penyaringan dengan HB1 (b) meningkatkan Tinggi penyaringan dengan HB2Gambar 3.11: meningkatkan penyaringan Tinggi

Page 18: Terje Mahan alasnote

Dari dua filter, HB1 muncul untuk menghasilkan hasil yang terbaik; HB2 menghasilkan gambar tidak terlalu banyak rak dari aslinya.

3.6 filter Non - linearFilter linear , sebagaimana telah kita lihat dalam bagian sebelumnya , mudah untuk menggambarkan, dan dapat diterapkan dengan cepat dan efisien oleh Matlab .Sebuah linear Filter non diperoleh dengan fungsi non - linear dari nilai-nilai abu-abu dalam topeng . Contoh sederhana adalah filter maksimum , yang memiliki sebagai output nilai maksimum di bawah topeng , dan sesuai minimum filter, yang memiliki sebagai output nilai minimum di bawah topeng .Baik maksimum dan minimum filter adalah contoh rank -order filter . Dalam filter seperti itu , unsur-unsur di bawah topeng yang diperintahkan , dan nilai tertentu dikembalikan sebagai output . Jadi jika nilai-nilai yang diberikan dalam urutan yang meningkat , minimum filter filter rank -order yang elemen pertama dikembalikan , dan filter maksimum adalah filter urutan peringkat yang elemen terakhir dikembalikan Untuk menerapkan filter non linear umum di Matlab , fungsi untuk digunakan adalah nlfilter , yang berlaku filter untuk gambar sesuai dengan fungsi yang telah ditetapkan . Jika fungsi tersebut belum didefinisikan , kita harus membuat sebuah m - berkas yang mendefinisikan itu. Berikut adalah beberapa contoh ; pertama untuk menerapkan filter maksimum atas lingkungan 3x3 :

Fungsi nlfilter membutuhkan tiga argumen: matriks gambar, ukuran filter, dan fungsi yang akan diterapkan. Fungsi harus menjadi fungsi matriks yang mengembalikan nilai skalar. Hasil operasi ini ditunjukkan pada Gambar 3.12 (a). Implementasi yang sesuai dari minimum filter:

dan hasilnya ditunjukkan pada Gambar 3.12 (b).

(a) Dengan menggunakan filter maksimum (b) Menggunakan filter minimumGambar 3.12: Menggunakan filter non-linear

Page 19: Terje Mahan alasnote

Perhatikan bahwa dalam setiap kasus gambar telah kehilangan sebagian ketajaman, dan telah dicerahkan oleh filter maksimum, dan gelap oleh minimum filter. Fungsi nlfilter sangat lambat; secara umum ada sedikit panggilan untuk filter non-linear kecuali beberapa yang didefinisikan oleh perintah mereka sendiri. Kita akan menyelidiki ini di bab berikutnya. penyaringan non-linear menggunakan nlfilter bisa sangat lambat. Sebuah alternatif yang lebih cepat adalah dengan menggunakan colfilt yang fungsi, yang menyusun gambar ke dalam kolom pertama. Misalnya, untuk menerapkan filter maksimum ke gambar kamera, kita dapat menggunakan

Parameter geser menunjukkan bahwa tumpang tindih lingkungan yang digunakan (yang tentu saja halnya dengan penyaringan). Operasi khusus ini hampir seketika, dibandingkan dengan penggunaan nlfilter. Untuk menerapkan filter maksimum dan minimum sebagai peringkat-order filter, kita dapat menggunakan fungsi Matlab ordfilt2. Hal ini memerlukan tiga input: gambar, nilai indeks dari hasil diperintahkan untuk memilih sebagai output, dan definisi topeng. Jadi untuk menerapkan filter maksimum pada topeng 3x3, kita menggunakan

dan minimum filter dapat diterapkan dengan

sangat penting Filter urutan peringkat adalah median filter, yang mengambil nilai tengah dari daftar memerintahkan. Kita bisa menerapkan median filter dengan

Namun, median filter memiliki perintahnya, medfilt2 sendiri, yang akan kita bahas secara lebih rinci dalam Bab 5.Filter nonlinear lainnya adalah rata-rata saringan geometris, yang didefinisikan sebagai

dimana M adalah masker filter, dan | M | ukurannya; dan filter rata-rata alpha-dipangkas, yang perintah pertama nilai-nilai di bawah topeng, trims off elemen di kedua ujung daftar memerintahkan, dan mengambil rata-rata dari sisanya. Jadi, misalnya, jika kita memiliki topeng 3x3, dan kami memesan unsur-unsur sebagai

merapikan dari dua elemen di kedua ujung, hasil dari filter akan

Kedua filter ini memiliki kegunaan untuk restorasi citra; lagi lihat pasal 5 dan 6.


Top Related