Saturday 5 August 2017

Moving average image processing


Panduan Ilmuwan dan Insinyur untuk Pengolahan Sinyal Digital Oleh Steven W. Smith, Ph. D. Bab 1: Keluaran dan Kedalaman Gambar DSP adalah sinyal dengan karakteristik khusus. Pertama, mereka adalah ukuran parameter di atas ruang (jarak), sementara sebagian besar sinyal merupakan ukuran parameter dari waktu ke waktu. Kedua, mereka mengandung banyak informasi. Misalnya, lebih dari 10 megabyte dapat diminta untuk menyimpan satu detik video televisi. Ini lebih dari seribu kali lebih besar daripada sinyal suara panjang yang serupa. Ketiga, hakim akhir kualitas seringkali merupakan evaluasi manusia subjektif, bukan kriteria objektif. Karakteristik khusus ini membuat pengolahan citra menjadi subkelompok yang berbeda dalam DSP. Medical Pada tahun 1895, Wilhelm Conrad Rntgen menemukan bahwa sinar-x bisa melewati sejumlah besar materi. Pengobatan direvolusi oleh kemampuan untuk melihat ke dalam tubuh manusia yang hidup. Sistem x-ray medis menyebar ke seluruh dunia hanya dalam beberapa tahun. Terlepas dari keberhasilannya yang nyata, pencitraan x-ray medis dibatasi oleh empat masalah sampai DSP dan teknik terkait muncul di tahun 1970an. Pertama, tumpang tindih struktur dalam tubuh bisa saling bersembunyi. Misalnya, bagian jantung mungkin tidak terlihat di balik tulang rusuk. Kedua, tidak selalu memungkinkan untuk membedakan antara jaringan serupa. Misalnya, mungkin bisa memisahkan tulang dari jaringan lunak, namun tidak membedakan tumor dari hati. Ketiga, gambar rontgen menunjukkan anatomi. Struktur bodys, dan bukan fisiologi. Operasi bodys. Gambar x-ray dari orang yang hidup terlihat persis seperti gambar x-ray yang mati. Forth, paparan x-ray dapat menyebabkan kanker, yang memerlukannya digunakan dengan hemat dan hanya dengan pembenaran yang tepat. Masalah struktur yang tumpang tindih diselesaikan pada tahun 1971 dengan diperkenalkannya pemindai tomografi pertama yang dihitung (sebelumnya disebut computed axial tomography, atau CAT scanner). Computed tomography (CT) adalah contoh klasik Digital Signal Processing. Sinar-X dari banyak arah dilewatkan melalui bagian tubuh pasien yang diperiksa. Alih-alih hanya membentuk gambar dengan sinar-x yang terdeteksi, sinyalnya diubah menjadi data digital dan disimpan di komputer. Informasi tersebut kemudian digunakan untuk menghitung gambar yang nampak seperti irisan di seluruh tubuh. Gambar-gambar ini menunjukkan detail yang jauh lebih besar daripada teknik konvensional, yang memungkinkan diagnosis dan perawatan secara signifikan lebih baik. Dampak CT hampir sama besarnya dengan pengenalan awal pencitraan x-ray itu sendiri. Hanya dalam beberapa tahun, setiap rumah sakit besar di dunia memiliki akses ke pemindai CT. Pada tahun 1979, dua kontributor utama CTs, Godfrey N. Hounsfield dan Allan M. Cormack, berbagi Hadiah Nobel dalam Kedokteran. DSP yang baik Tiga masalah sinar-x terakhir telah dipecahkan dengan menggunakan energi penetrasi selain sinar-x, seperti gelombang radio dan suara. DSP memainkan peran kunci dalam semua teknik ini. Misalnya, Magnetic Resonance Imaging (MRI) menggunakan medan magnet bersamaan dengan gelombang radio untuk menyelidiki bagian dalam tubuh manusia. Dengan benar menyesuaikan kekuatan dan frekuensi medan menyebabkan inti atom di wilayah lokal tubuh beresonansi antara keadaan energi kuantum. Resonansi ini menghasilkan emisi gelombang radio sekunder, yang dideteksi dengan antena yang ditempatkan di dekat bodi. Kekuatan dan karakteristik lain dari sinyal yang terdeteksi ini memberikan informasi tentang daerah yang dilokalisasi dalam resonansi. Penyesuaian medan magnet memungkinkan daerah resonansi dipindai ke seluruh tubuh, memetakan struktur internal. Informasi ini biasanya disajikan sebagai gambar, seperti pada computed tomography. Selain memberikan diskriminasi yang sangat baik antara berbagai jenis jaringan lunak, MRI dapat memberikan informasi tentang fisiologi, seperti aliran darah melalui arteri. MRI bergantung sepenuhnya pada teknik Digital Signal Processing, dan tidak dapat diimplementasikan tanpa mereka. Ruang Terkadang, Anda hanya perlu memaksimalkan gambaran buruk. Hal ini sering terjadi dengan gambar yang diambil dari satelit tak berawak dan kendaraan eksplorasi luar angkasa. Tidak ada yang akan mengirim tukang reparasi ke Mars hanya untuk men-tweak tombol pada kamera DSP dapat memperbaiki kualitas gambar yang diambil dengan kondisi yang sangat tidak baik dengan beberapa cara: penyesuaian kecerahan dan kontras, deteksi tepi, pengurangan kebisingan, penyesuaian fokus, blur gerak Reduksi, dll. Gambar yang memiliki distorsi spasial, seperti yang ditemui saat gambar datar diambil dari planet bulat, juga bisa dilipat menjadi representasi yang benar. Banyak gambar individu juga dapat digabungkan menjadi database tunggal, sehingga informasi dapat ditampilkan dengan cara yang unik. Misalnya, sekuens video yang mensimulasikan penerbangan udara di atas permukaan planet yang jauh. Produk Pencitraan Komersial Isi informasi yang besar dalam gambar merupakan masalah bagi sistem yang dijual dalam jumlah banyak kepada masyarakat umum. Sistem komersil harus murah. Dan ini tidak sesuai dengan ingatan besar dan kecepatan transfer data yang tinggi. Salah satu jawaban untuk dilema ini adalah kompresi gambar. Sama seperti sinyal suara, gambar berisi sejumlah besar informasi yang berlebihan, dan dapat dijalankan melalui algoritma yang mengurangi jumlah bit yang dibutuhkan untuk mewakili mereka. Televisi dan gambar bergerak lainnya sangat sesuai untuk kompresi, karena sebagian besar gambar tetap sama dari frame-to-frame. Produk pencitraan komersial yang memanfaatkan teknologi ini antara lain: telepon video, program komputer yang menampilkan gambar bergerak, dan televisi digital. Tutorial ini membahas bagaimana menggunakan MATLAB untuk pemrosesan gambar. Beberapa keakraban dengan MATLAB diasumsikan (Anda harus tahu bagaimana menggunakan matriks dan menulis file M). Akan sangat membantu jika memiliki Toolbox Pengolahan Gambar MATLAB, tapi untungnya, tidak ada kotak peralatan yang dibutuhkan untuk sebagian besar operasi. Perintah yang membutuhkan Image Toolbox ditunjukkan dengan Image Toolbox. Representasi gambar Ada lima jenis gambar dalam MATLAB. Grayscale. Gambar grayscale M piksel tinggi dan lebar N piksel direpresentasikan sebagai matriks tipe datatype ganda dengan ukuran M N. Nilai elemen (mis., MyImage (m, n)) menunjukkan intensitas piksel grayscale dalam 0,1 dengan 0black dan 1white. RGB truecolor. Gambar truecolor red-green-blue (RGB) diwakili sebagai matriks ganda M-3 tiga dimensi. Setiap piksel memiliki komponen merah, hijau, biru di sepanjang dimensi ketiga dengan nilai 0,1, misalnya komponen warna piksel (m, n) adalah MyImage (m, n, 1) merah, MyImage (m, n, 2) hijau, MyImage (m, n, 3) biru. Indeks. Gambar indeks (paletted) diwakili dengan matriks indeks dengan ukuran M N dan matriks colormap dengan ukuran K3. Colormap memegang semua warna yang digunakan pada gambar dan matriks indeks mewakili piksel dengan mengacu pada warna pada colormap. Misalnya, jika warna ke 22 adalah magenta MyColormap (22, :) 1,0,1. Maka MyImage (m, n) 22 adalah piksel berwarna magenta. Citra biner diwakili oleh matriks logika M N dimana nilai pikselnya adalah 1 (true) atau 0 (false).uint8. Jenis ini menggunakan sedikit memori dan beberapa operasi menghitung lebih cepat dibandingkan dengan tipe ganda. Untuk kesederhanaan, tutorial ini tidak membahas uint8 lebih jauh. Grayscale biasanya merupakan format yang disukai untuk pemrosesan gambar. Dalam kasus yang membutuhkan warna, gambar warna RGB dapat didekomposisi dan ditangani sebagai tiga gambar grayscale yang terpisah. Gambar terindeks harus dikonversi menjadi grayscale atau RGB untuk sebagian besar operasi. Berikut adalah beberapa manipulasi dan konversi yang umum. Beberapa perintah memerlukan Image Toolbox dan ditunjukkan dengan Image Toolbox. Membaca dan menulis file gambar MATLAB bisa membaca dan menulis gambar dengan imft dan imwrite commands. Meskipun cukup banyak format file yang didukung, ada juga yang tidak. Gunakan imformats untuk melihat apa yang didukung oleh pemasangan Anda: Saat membaca gambar, masalah yang tidak menguntungkan adalah imver mengembalikan data gambar pada datatype uint8, yang harus dikonversi menjadi dua kali lipat dan diganti ulang sebelum digunakan. Jadi alih-alih memanggil imread secara langsung, saya menggunakan fungsi M-file berikut untuk membaca dan mengubah gambar: Klik kanan dan simpan getimage. m untuk menggunakan fungsi M ini. Jika gambar baboon. png ada di direktori saat ini (atau di suatu tempat di jalur pencarian MATLAB), Anda dapat membacanya dengan MyImage getimage (baboon. png). Anda juga bisa menggunakan jalur parsial, misalnya jika gambar berada pada direktori saat ini dengan getimage (imagesbaboon. png). Untuk menulis gambar grayscale atau RGB, gunakan Berhati-hatilah bahwa MyImage adalah matriks ganda dengan elemen dalam 0,1 jika tidak bersesuaian, file yang tersimpan mungkin akan kosong. Saat menulis file gambar, saya sangat menyarankan penggunaan format file PNG. Format ini adalah pilihan yang andal karena lossless, mendukung truecolor RGB, dan kompres dengan cukup baik. Gunakan format lain dengan hati-hati. Operasi dasar Berikut adalah beberapa operasi dasar pada gambar grayscale u. Perintah yang membutuhkan Image Toolbox ditunjukkan dengan Image Toolbox. (Catatan: Untuk array apapun, sintaks u (:) berarti membuka gulungan u ke vektor kolom. Misalnya, jika u 1,50,2, maka u (:) adalah 1052). Misalnya, kekuatan sinyal gambar digunakan pada Menghitung rasio signal-to-noise (SNR) dan rasio signal-to-noise (PSNR) puncak. Diberikan citra bersih uclean dan gambar yang terkontaminasi kebisingan u, hati-hati dengan norma. Perilaku adalah norma (v) pada vektor v menghitung sqrt (jumlah (v.2)). Tapi norma (A) pada matriks A menghitung norma matriks L2 induksi, Jadi norma (A) tentu tidak sqrt (jumlah (A (:) 2)). Bagaimanapun, ini merupakan kesalahan yang mudah untuk menggunakan norma (A) di mana seharusnya menjadi norma (A (:)). Linear filter Linear filtering adalah teknik dasar pemrosesan sinyal. Untuk memperkenalkan secara singkat, filter linier adalah operasi dimana pada setiap piksel x m, n dari sebuah gambar, fungsi linear dievaluasi pada pixel dan tetangganya untuk menghitung nilai piksel baru y m, n. Sebuah filter linear dalam dua dimensi memiliki bentuk umum dimana x adalah input, y adalah outputnya, dan h adalah respon impuls filter. Pilihan h yang berbeda mengarah ke filter yang menghaluskan, mempertajam, dan mendeteksi tepinya, untuk memberi beberapa aplikasi. Sisi kanan dari persamaan di atas dilambangkan ringkas seperti h x dan disebut konvolusi h dan x. Penyaringan domain spasial Pemilahan linear dua dimensi diterapkan pada MATLAB dengan conv2. Sayangnya, conv2 hanya bisa menangani penyaringan di dekat batas gambar dengan zero-padding, yang berarti hasil penyaringan biasanya tidak sesuai untuk piksel yang dekat dengan batas. Untuk mengatasi hal ini, kita bisa memberi masukan pada gambar masukan dan gunakan opsi yang valid saat memanggil conv2. Fungsi M berikut melakukan ini. Klik kanan dan simpan conv2padded. m untuk menggunakan fungsi M ini. Berikut adalah beberapa contohnya: Filter 2D h dikatakan terpisah jika dapat dinyatakan sebagai produk luar dari dua filter 1D h1 dan h2. Yaitu, h h1 (:) h2 (:). Lebih cepat lewat h1 dan h2 daripada h. Seperti yang dilakukan di atas untuk jendela rata-rata bergerak dan filter Gaussian. Sebenarnya, sobel filter hx dan hy juga separablewhat adalah h1 dan h2 Penyaring domain empatier Penyaringan domain spasial dengan conv2 dengan mudah merupakan operasi yang sangat mahal. Untuk filter K K pada gambar M N, biaya tambahan dan multiplikasi V2 (MNK 2), atau O (N 4) seandainya M N K. Untuk filter besar, penyaringan di domain Fourier lebih cepat karena biaya komputasi dikurangi menjadi O (N 2 log N). Dengan menggunakan sifat perkalian konvolusi dari transformasi Fourier, konvolusi dihitung secara ekivalen oleh Hasilnya setara dengan conv2padded (x, h) kecuali di dekat batas, di mana perhitungan di atas menggunakan perpanjangan batas periodik. Penyaringan berbasis Fourier juga dapat dilakukan dengan perpanjangan batas simetris dengan memantulkan masukan ke setiap arah: (Catatan: Metode yang lebih efisien lagi adalah penyaringan tumpang tindih FFT. Toolbox Pemrosesan Sinyal menerapkan tumpang tindih FFT-satu dimensi dalam fftfilt .) Filter nonlinier Filter nonlinier adalah operasi dimana masing-masing piksel pixel disaring, n adalah fungsi nonlinear xm, n dan tetangganya. Disini kita secara singkat membahas beberapa jenis filter nonlinier. Filter statistik pesanan Jika Anda memiliki Image Toolbox, filter statistik pesanan dapat dilakukan dengan ordfilt2 dan medfilt2. Filter statistik pesanan memilah nilai piksel di atas lingkungan dan memilih nilai terbesar k. Filter min, max, dan median adalah kasus khusus. Filter morfologi Jika Anda memiliki Image Toolbox, bwmorph menerapkan berbagai operasi morfologi pada gambar biner, seperti erosi, pelebaran, terbuka, dekat, dan kerangka. Ada juga perintah yang tersedia untuk morfologi gambar grayscale: imerode. Imdilate dan imtophat. diantara yang lain. Buat filter Anda sendiri Terkadang kita ingin menggunakan filter baru yang tidak dimiliki MATLAB. Kode di bawah ini adalah template untuk menerapkan filter. (Catatan: Klaim yang sering salah arah adalah bahwa loop di MATLAB lambat dan harus dihindari. Ini pernah benar, kembali ke MATLAB 5 dan lebih awal, tapi loop dalam versi modern cukup cepat.) Misalnya, filter mean alpha-trimmed Mengabaikan d 2 terendah dan d 2 nilai tertinggi di jendela, dan rata-rata nilai sisa (2 r 1) 2 d. Filter adalah keseimbangan antara filter median dan filter rata-rata. Filter mean alpha-trimmed dapat diimplementasikan dalam template sebagai contoh lainnya, filter bilateral adalah The Scientist and Engineers Guide to Digital Signal Processing Oleh Steven W. Smith, Ph. D. Bab 25: Teknik Pencitraan Khusus Pengolahan Citra Morfologis Identifikasi benda dalam gambar bisa menjadi tugas yang sangat sulit. Salah satu cara untuk menyederhanakan masalahnya adalah dengan mengubah gambar grayscale menjadi gambar biner. Di mana setiap piksel dibatasi pada nilai 0 atau 1. Teknik yang digunakan pada gambar biner ini dengan nama seperti: analisis gumpalan. Analisis konektivitas Dan pengolahan citra morfologi (dari kata Yunani morph) yang berarti bentuk atau bentuk). Landasan proses morfologis ada di dalam bidang teori set yang matematis, namun tingkat kecanggihan ini jarang dibutuhkan. Kebanyakan algoritma morfologi adalah operasi logika sederhana dan sangat ad hoc. Dengan kata lain, setiap aplikasi memerlukan solusi khusus yang dikembangkan oleh trial-and-error. Ini biasanya lebih merupakan seni daripada sains. Sekantong trik digunakan daripada algoritma standar dan sifat matematika formal. Berikut adalah beberapa contohnya. Gambar 25-10a menunjukkan contoh gambar biner. Ini mungkin merupakan tangki musuh dalam gambar inframerah, sebuah asteroid dalam foto ruang angkasa, atau tumor yang diduga ada dalam rontgen medis. Setiap piksel di latar belakang ditampilkan sebagai warna putih, sementara setiap piksel pada objek ditampilkan sebagai warna hitam. Seringkali, gambar biner dibentuk oleh thresholding piksel gambar grayscale dengan nilai lebih besar dari ambang batas yang ditetapkan ke 1, sedangkan piksel dengan nilai di bawah ambang batas ditetapkan ke 0. Adalah umum untuk gambar grayscale yang akan diproses dengan teknik linier. Sebelum thresholding Misalnya, pencahayaan merata (dijelaskan di Bab 24) sering dapat meningkatkan kualitas citra biner awal. Angka (b) dan (c) menunjukkan bagaimana gambar diubah oleh dua operasi morfologi yang paling umum, erosi dan pelebaran. Dalam erosi, setiap piksel objek yang menyentuh piksel latar belakang diubah menjadi piksel latar belakang. Dalam pelebaran, setiap piksel latar belakang yang menyentuh piksel objek diubah menjadi piksel objek. Erosi membuat objek lebih kecil, dan bisa mematahkan satu objek menjadi beberapa objek. Dilatasi membuat objek lebih besar, dan bisa menggabungkan beberapa objek menjadi satu. Seperti ditunjukkan pada (d), pembukaan didefinisikan sebagai erosi diikuti oleh pelebaran. Gambar (e) menunjukkan operasi penutup yang berlawanan. Didefinisikan sebagai pelebaran yang diikuti oleh erosi. Seperti yang diilustrasikan dengan contoh-contoh ini, pembukaan akan menyingkirkan pulau-pulau kecil dan filamen tipis dari piksel objek. Demikian juga, penutupan menghilangkan pulau dan filamen tipis dari piksel latar belakang. Teknik ini berguna untuk menangani gambar yang bising dimana beberapa piksel memiliki nilai biner yang salah. Misalnya, mungkin diketahui bahwa sebuah benda tidak dapat berisi lubang, atau bahwa batas-batas benda harus mulus. Gambar 25-11 menunjukkan contoh pengolahan morfologi. Gambar (a) adalah citra biner sidik jari. Algoritma telah dikembangkan untuk menganalisis pola-pola ini, yang memungkinkan sidik jari individu dicocokkan dengan yang ada dalam database. Langkah umum dalam algoritma ini ditunjukkan pada (b), operasi yang disebut skeletonisasi. Ini menyederhanakan gambar dengan menghapus piksel berlebih yaitu mengubah piksel yang sesuai dari warna hitam ke putih. Hal ini menyebabkan setiap punggungan berubah menjadi garis yang hanya memiliki satu piksel lebar. Tabel 25-1 dan 25-2 menunjukkan program skeletonisasi. Meskipun gambar sidik jari adalah biner, ini dipegang dalam sebuah array di mana setiap piksel dapat berjalan dari 0 sampai 255. Sebuah piksel hitam dilambangkan dengan 0, sementara piksel putih dilambangkan dengan 255. Seperti ditunjukkan pada Tabel 25-1, Algoritma terdiri dari 6 iterasi yang secara bertahap mengikis pantat menjadi garis tipis. Jumlah iterasi dipilih dengan trial and error. Alternatif lain adalah berhenti saat sebuah iterasi tidak membuat perubahan. Selama iterasi, setiap piksel dalam gambar dievaluasi karena dilepas, piksel memenuhi seperangkat kriteria untuk diubah dari hitam ke putih. Baris 200-240 loop melalui setiap piksel pada gambar, sedangkan subrutin pada Tabel 25-2 membuat evaluasi. Jika piksel yang sedang dipertimbangkan tidak dapat dilepas, subrutin tidak melakukan apa-apa. Jika pixel dilepas, subrutin akan mengubah nilainya dari 0 menjadi 1. Ini menunjukkan bahwa pixel masih hitam, namun akan berubah menjadi putih pada akhir iterasi. Setelah semua piksel dievaluasi, garis 260-300 mengubah nilai piksel yang ditandai dari 1 menjadi 255. Proses dua tahap ini menghasilkan kemiringan tebal yang terkikis sama dari semua arah, dan bukan pola berdasarkan pada bagaimana baris Dan kolom dipindai. Keputusan untuk menghapus piksel didasarkan pada empat aturan, seperti yang terdapat dalam subrutin yang ditunjukkan pada Tabel 25-2. Semua aturan ini harus dipuaskan agar piksel diubah dari warna hitam ke putih. Tiga aturan pertama agak sederhana, sedangkan yang keempat cukup rumit. Seperti ditunjukkan pada Gambar. 25-12a, pixel di lokasi R, C memiliki delapan tetangga. Keempat tetangga di arah horizontal dan vertikal (diberi label 2,4,6,8) sering disebut tetangga dekat. Pixel diagonal (diberi label 1,3,5,7) disebut sebagai tetangga jauh. Keempat aturan tersebut adalah sebagai berikut: Aturan satu: pixel yang sedang dipertimbangkan saat ini harus hitam. Jika pixel sudah putih, tidak ada tindakan yang perlu dilakukan. Aturan dua: Paling tidak satu piksel tetangga dekat harus berwarna putih. Ini menjamin bahwa erosi pegunungan tebal terjadi dari luar. Dengan kata lain, jika sebuah pixel berwarna hitam, dan benar-benar dikelilingi oleh piksel hitam, maka dibiarkan sendirian pada iterasi ini. Mengapa hanya menggunakan tetangga dekat. Daripada semua tetangga Jawabannya sederhana: menjalankan algoritma kedua cara menunjukkan bahwa ia bekerja lebih baik. Ingat, hal ini sangat umum dalam pengolahan citra morfologi trial and error yang digunakan untuk mengetahui apakah satu teknik berkinerja lebih baik dari yang lain. Aturan tiga: pixel harus memiliki lebih dari satu tetangga hitam. Jika hanya memiliki satu, maka itu harus menjadi akhir dari sebuah garis, dan karena itu seharusnya tidak dihapus. Aturan empat: Sebuah piksel tidak dapat dihapus jika menghasilkan tetangganya terputus. Ini jadi setiap punggungan berubah menjadi garis kontinyu, bukan sekelompok segmen yang terganggu. Seperti ditunjukkan oleh contoh pada Gambar. 25-12, terhubung berarti semua tetangga hitam saling bersentuhan. Demikian juga, yang tidak berhubungan berarti bahwa tetangga hitam membentuk dua atau lebih kelompok. Algoritma untuk menentukan apakah tetangga terhubung atau tidak terhubung didasarkan pada penghitungan transisi hitam-ke-putih antara piksel tetangga yang berdekatan, dalam arah searah jarum jam. Misalnya, jika pixel 1 hitam dan pixel 2 berwarna putih, ini dianggap sebagai transisi hitam-ke-putih. Demikian juga, jika pixel 2 berwarna hitam dan kedua pixel 3 dan 4 berwarna putih, ini juga merupakan transisi hitam-ke-putih. Secara total, ada delapan lokasi di mana transisi hitam-ke-putih dapat terjadi. Untuk mengilustrasikan definisi ini lebih jauh, contoh di (b) dan (c) memiliki tanda bintang yang ditempatkan oleh setiap transisi hitam-ke putih. Kunci untuk algoritma ini adalah bahwa akan ada transisi satu warna hitam-ke-putih jika tetangga terhubung. Lebih dari satu transisi semacam itu mengindikasikan bahwa tetangga tidak terhubung. Sebagai contoh tambahan pengolahan citra biner, perhatikan jenis algoritma yang mungkin berguna setelah sidik jari dilapisi. Kerugian dari algoritma skeletonisasi khusus ini adalah bahwa ia meninggalkan banyak fuzz. Cabang pendek yang menonjol dari sisi segmen yang lebih panjang. Ada beberapa pendekatan yang berbeda untuk menghilangkan artefak ini. Misalnya, sebuah program mungkin melompati gambar yang menghapus piksel di akhir setiap baris. Pixel ini diidentifikasi hanya memiliki satu tetangga hitam. Lakukan ini beberapa kali dan bulu dihapus dengan mengorbankan masing-masing garis yang benar lebih pendek. Metode yang lebih baik akan mengulang gambar yang mengidentifikasi piksel cabang (piksel yang memiliki lebih dari dua tetangga). Dimulai dengan setiap piksel cabang, hitung jumlah piksel di masing-masing cabang. Jika jumlah piksel dalam sebuah cabang kurang dari beberapa nilai (katakanlah, 5), nyatakan itu menjadi fuzz, dan ubah piksel di cabang dari hitam ke putih. Algoritma lain mungkin mengubah data dari bitmap ke format vektor yang dipetakan. Ini melibatkan pembuatan daftar punggung yang terkandung dalam gambar dan piksel yang ada di masing-masing punggungan. Dalam bentuk vektor yang dipetakan, masing-masing ridge di sidik jari memiliki identitas individual, berlawanan dengan gambar yang terdiri dari banyak piksel yang tidak terkait. Hal ini dapat dilakukan dengan perulangan melalui gambar mencari titik akhir dari setiap garis, piksel yang hanya memiliki satu tetangga hitam. Mulai dari titik akhir, setiap baris dilacak dari pixel ke pixel penghubung. Setelah akhir baris tercapai, semua piksel yang dilacak dinyatakan sebagai objek tunggal. Dan diperlakukan sesuai algoritma masa depan.

No comments:

Post a Comment