Top Banner
Perbandingan Algoritma Smoothing: Isotropic Diffusion dan Anisotropic Diffusion Ahmad Faishol Huda Institut Teknologi Bandung, Bandung, Indonesia [email protected] Abstract. Kebanyakan citra yang beredar sekarang ini tidak memiliki kualitas yang bagus. Banyak citra yang di dalamnya mengandung noise sehingga menurunkan kualitas dari citra tersebut. Noise itu juga akan menambah informasi tidak berguna dalam citra. Untuk itu perlu adanya metode untuk meminimalisir noise yang ada dalam sebuah citra, mengingat kita tidak bisa menghapus noise secara total. Algoritma untuk meminimalisir noise ini disebut juga dengan algoritma Smoothing. Algoritma ini dapat dibagi menjadi 2 jenis, yaitu algoritma smoothing yang mengimplementasikan metode isotropic diffusion dan metode anisotropic diffusion. Perlu diketahui keunggulan masing masing metode dalam penggunaan algoritma ini. 1. Latar Belakang Citra tidak selalu memiliki kualitas yang bagus. Faktanya kebanyakan citra memiliki kualitas yang buruk. Sebuah citra bisa menurun kualitasnya akibat adanya noise dalam citra tersebut. Noise dalam citra selain akan mengurangi kualitas dari citra juga merupakan informasi yang tidak berguna dan tidak kita inginkan dari tersebut. Untuk itu kita perlu cara untuk menghilangkan noise di dalam citra tersebut. Cara tersebut dapat dilakukan dengan mengolah citra untuk mengatasi masalah noise tersebut. Salah satu solusinya adalah algoritma smoothing ini, algoritma ini meminimalisir dampak noise dalam sebuah citra. Cara kerja dari algoritma ini adalah dengan menyebarkan nilai yang dianggap noise ke piksel sekitarnya. Penyebaran itu sendiri akan mengikuti aturan sesuai dengan metode yang dipakai. Algoritma smoothing dalam citra bisa menggunakan metode difusi secara isotropik atau anisotropik.Kedua jenis metode ini sangat berbeda dalam melakukan smoothing dalam sebuah citra. Pada difusi isotropik penyebaran akan berlangsung ke segala arah tanpa memikirkan daerah maupun sisi dari sebuah. Sedangkan pada metode anisotropik penyebaran dilakukan dengan melihat daerah dan sisi yang ada pada citra. Pendekatan dengan metode ini tidak hanya menghasilkan citra yang bagus. Untuk mengetahui algoritma smoothing mana yang lebih baik diantara kedua jenis metode smoothing ini kita akan melakukan perbandingan hasil performa dan juga waktu komputasi dari algoritma ini. 2. Dasar Teori 2.1. Algoritma Smoothing Algoritma smoothing sendiri bisa dibagi menjadi 2 jenis, yaitu algoritma smoothing yang memanfaatkan konsep isotropic diffusion dan anisotropic diffusion. Perbedaan utama kedua algoritma ini adalah persebaran pada proses smoothing. Pada algoritma yang menggunakan isotropic diffusion tidak akan bisa mengenali sisi (edge) dari objek dalam gambar, namun pada algoritma anisotropic sisi
8

P e r b an d i n gan A l gor i tma S mooth i n g: I s otr ...rinaldi.munir/Citra/2019-2020/... · dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai

Nov 01, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: P e r b an d i n gan A l gor i tma S mooth i n g: I s otr ...rinaldi.munir/Citra/2019-2020/... · dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai

      

Perbandingan Algoritma Smoothing: Isotropic Diffusion dan Anisotropic Diffusion

Ahmad Faishol Huda

Institut Teknologi Bandung, Bandung, Indonesia [email protected] Abstract. Kebanyakan citra yang beredar sekarang ini tidak memiliki kualitas yang bagus. Banyak citra yang di

dalamnya mengandung noise sehingga menurunkan kualitas dari citra tersebut. Noise itu juga akan menambah informasi tidak berguna dalam citra. Untuk itu perlu adanya metode untuk meminimalisir noise yang ada dalam sebuah citra, mengingat kita tidak bisa menghapus noise secara total. Algoritma untuk meminimalisir noise ini disebut juga dengan algoritma Smoothing. Algoritma ini dapat dibagi menjadi 2 jenis, yaitu algoritma smoothing yang mengimplementasikan metode isotropic diffusion dan metode anisotropic diffusion. Perlu diketahui keunggulan masing masing metode dalam penggunaan algoritma ini.

1. Latar Belakang Citra tidak selalu memiliki kualitas yang bagus. Faktanya kebanyakan citra memiliki kualitas yang buruk. Sebuah citra bisa menurun kualitasnya akibat adanya noise dalam citra tersebut. Noise dalam citra selain akan mengurangi kualitas dari citra juga merupakan informasi yang tidak berguna dan tidak kita inginkan dari tersebut. Untuk itu kita perlu cara untuk menghilangkan noise di dalam citra tersebut. Cara tersebut dapat dilakukan dengan mengolah citra untuk mengatasi masalah noise tersebut. Salah satu solusinya adalah algoritma smoothing ini, algoritma ini meminimalisir dampak noise dalam sebuah citra. Cara kerja dari algoritma ini adalah dengan menyebarkan nilai yang dianggap noise ke piksel sekitarnya. Penyebaran itu sendiri akan mengikuti aturan sesuai dengan metode yang dipakai. Algoritma smoothing dalam citra bisa menggunakan metode difusi secara isotropik atau anisotropik.Kedua jenis metode ini sangat berbeda dalam melakukan smoothing dalam sebuah citra. Pada difusi isotropik penyebaran akan berlangsung ke segala arah tanpa memikirkan daerah maupun sisi dari sebuah. Sedangkan pada metode anisotropik penyebaran dilakukan dengan melihat daerah dan sisi yang ada pada citra. Pendekatan dengan metode ini tidak hanya menghasilkan citra yang bagus. Untuk mengetahui algoritma smoothing mana yang lebih baik diantara kedua jenis metode smoothing ini kita akan melakukan perbandingan hasil performa dan juga waktu komputasi dari algoritma ini.

2. Dasar Teori

2.1. Algoritma Smoothing Algoritma smoothing sendiri bisa dibagi menjadi 2 jenis, yaitu algoritma smoothing yang memanfaatkan konsep isotropic diffusion dan anisotropic diffusion. Perbedaan utama kedua algoritma ini adalah persebaran pada proses smoothing. Pada algoritma yang menggunakan isotropic diffusion tidak akan bisa mengenali sisi (edge) dari objek dalam gambar, namun pada algoritma anisotropic sisi

Page 2: P e r b an d i n gan A l gor i tma S mooth i n g: I s otr ...rinaldi.munir/Citra/2019-2020/... · dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai

      

akan dikenali dan tidak akan ikut terdifusi sehingga menjadi sisi tersebut sama seperti sebelum dilakukan smoothing. Pada algoritma ini hanya bagian dalam dan luar sisi yang akan terkena proses smoothing.

2.1.1. Isotropic Diffusion Isotropic diffusion (difusi isotropik) biasanya memiliki persamaan seperti pada heat equation. Heat equation sendiri bisa digambarkan dengan menyebarnya panas dari yang nilainya lebih tinggi ke bagian sekitarnya yang nilainya lebih rendah. Pengaliran ini bisa disebut distribusi nilai terhadap daerah sekitarnya. Isotropic diffusion sendiri dalam pengolahan citra merupakan sebuah contoh heat equation dalam persamaan turunan parsial. Bisa ditulis dalam rumus berikut: I ∂I

∂T =∇ 2 = ∂x 2∂ I2

+ ∂y 2∂ I2

[1]

dimana I adalah citra dan t adalah waktu perubahan. Contoh algoritma yang menggunakan isotropic diffusion adalah Gaussian smoothing. Pada gaussian smoothing, penghalusan noise dilakukan dengan mengalikan citra dengan lapisan konvolusi yang dihasilkan dari fungsi gaussian. Fungsi tersebut dapat ditulis dengan :

(x) e G = 1√2πσ 2

− x 22σ 2 [2]

Pada fungsi dengan dimensi 1, sedangkan pada bidang 2 dimensi adalah:

(x, y) e G = 1√2πσ 2

−2σ 2

x + y 2 2

[3]

dimana x dan y adalah titik lokasi dari titik pusat dan adalah standar deviasi dari distribusi gaussian .σ

2.1.2. Anisotropic Diffusion Anisotropic Diffusion (difusi anisotropik) merupakan algoritma yang diperkenalkan oleh Perona & Malik. Dalam algoritma ini diusulkan fungsi flux sebagai batas dari penyebaran difusi hanya pada daerah yang homogen (sama), tapi tidak melewati batas daerah. Untuk itu heat equation nya dimodifikasi menjadi:

c(x, y, t)ΔI ∇c.∇I∂I∂T = + [4]

dimana c adalah fungsi flux yang digunakan untuk mengontrol laju difusi di titik manapun pada citra. Fungsi matrix yang diusulkan oleh Perona & Malik adalah:

( ⋁ ) c || I || = e −( ∇I /K) || || 2 

( ⋁ ) c || I || = 11 + ( ∇I /K) || || 2 [5] 

Solusi numerik secara diskrit bisa didapatkan dengan menurunkan kasus anisotropic dengan metode Forward-Time Central-Space (FTCS).

λ(c . ∇ I . ∇ I c . ∇ I c . ∇ I)I i, jt+1 = I t

i, j + N N + c S S + W W + E E [6] Hasil dari smoothing dengan anisotropic diffusion biasanya cenderung bagus karena selain mengurangi noise yang ada pada citra, juga akan meningkatkan ketajaman edge pada citra.

2.2. Peak Noise to Signal Ratio (PSNR) Peak Signal to Noise Ratio (PSNR) adalah sebuah istilah untuk rasio antara nilai maksimum sinyal dengan nilai noise yang merusak sinyal tersebut. PSNR biasanya dituliskan dalam bentuk desibel (db) karena banyaknya jenis sinyal. PSNR biasanya dapat didapatkan dengan menghitung Mean Squared Error (MSE). Rumus dari MSE sendiri adalah:

Page 3: P e r b an d i n gan A l gor i tma S mooth i n g: I s otr ...rinaldi.munir/Citra/2019-2020/... · dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai

      

SE [I(i , ) (i, j)] M = 1mn ∑

m−1

i=0∑

n−1

j=0j − K 2 [7]

dimana I dan K masing-masing adalah sinyal dan noise pada sinyal. Sedangkan untuk menghitung PSNR (dalam db) adalah:

PSNR 10.log ( )= 10 MSEMAX I

2

20.log ( )= 10 MSEMAX I

20.log (MAX ) 0.log (MSE) = 10 I − 1 10 [8] dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai MAX adalah 255. PSNR biasanya digunakan untuk mengukur kualitas dari sebuah citra hasilan dari sebuah kompresi dengan teknik lossy. PSNR juga bisa digunakan untuk mengukur kualitas citra hasil smoothing. Nilai PSNR makin tinggi berarti kualitas dari gambar tersebut juga makin tinggi. Begitu pula sebaliknya.

2.3. Structural Similarity (SSIM) Structural Similarity (SSIM) adalah sebuah algoritma yang digunakan untuk memprediksi kualitas dari sebuah citra digital. Algoritma ini dibuat model dasarnya di Laboratory for Image and Video Engineering (LIVE) di The University of Texas, Austin dan dikembangkan lebih lanjut bekerja sama dengan Laboratory for Computational Vision (LCV) di New York University. Perbedaan algoritma ini dengan algoritma PSNR dalam mengukur kualitas citra adalah jika pada algoritma PSNR menghitung MSE atau absolute error pada citra, algoritma ini menghitung degradasi citra sebagai perubahan citra dalam informasi strukturnya, dan juga menghitung fenomena perseptual seperti masking luminans dan masking kontras citra. Algoritma ini bisa ditulis seperti berikut:

SSIM x, y) ( = (2μ μ + c )(2σ + c )x y 1 xy 2

(μ + μ + c )(σ + σ + c )x2 2

y 1 x2 2

y 2 [9]

dimana : - adalah nilai rata-rata dari x; μ x - adalah nilai rata-rata dari y; μ y - adalah nilai variansi dari x; σ x

2 - adalah nilai variansi dari y; σ 2

y - adalah nilai kovarians dari x dan y; σ

xy - ; dua variabel untuk menstabilkan nilai jika penyebut (k L) ; dan c (k L) c 1 = 1

2 2 = 22

bernilai kecil; - L bernilai dinamis dengan rentang nilai piksel; - dan secara default. 0.01; k 1 = 0.03; k 2 =

Komponen dari formula diatas bisa dibagi menjadi 3 yaitu, luminance (l), contrast (c), dan structure(s). Rumus masing masing komponen adalah:

(x, y) l = 2μ μ + c x y 1

μ + μ + c x2 2

y 1 [10]

(x, y) c = 2σ σ + c x y 2

σ +σ + c x2 2

y 2 [11]

(x, y) s = σ + c xy 3 σ σ + c x y 3

[12] dimana nilai ; c /2 c 3 = 2 SSIM adalah kombinasi dari nilai ketiganya

SIM [l(x, y)) (x, y) (x, y) ] S = · c β · s γ Dengan mengubah nilai menjadi 1 akan didapatkan fungsi [9]., β, γ α

Page 4: P e r b an d i n gan A l gor i tma S mooth i n g: I s otr ...rinaldi.munir/Citra/2019-2020/... · dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai

      

Nilai SSIM ada pada rentang -1 sampai 1, nilai 1 artinya citra hasil smoothing identik dengan citra asli sebelum noise diberikan. Nilai mendekati 1 artinya hasil smoothing secara struktur lebih dekat dengan struktur asli citra awal.

3. Eksperimen

Implementasi Kode:

Pada eksperimen kali ini, bahasa yang digunakan adalah matlab. Alasannya adalah telah tersedianya library yang dibutuhkan untuk melakukan eksperimen beserta tools tambahan seperti menghitung waktu jalannya sebuah fungsi.

# Baca image originalImageRGB= imread('D:\Pengcit\tes3.png'); # Ubah Image ke Grayscale originalImage = rgb2gray(originalImageRGB); imwrite(originalImage , 'D:\Pengcit\originalImage .jpg'); # Tambahkan Noise kedalam image noisyImage = imnoise(originalImage ,'gaussian',0,0.005); # Hitung SSIM dari noisy image n = ssim(originalImage, noisyImage ); disp(['The SSIM value of the noisy image is ',num2str(n),'.']) # Hitung PSNR dari noisy image [peaksnr, snr] = psnr(noisyImage , originalImage ); disp(['The Peak-SNR value is ', num2str(peaksnr)]); imwrite(noisyImage , 'D:\Pengcit\noisyImage .jpg'); # Smoothing dengan Anisotropic diffusion (perona malik) [gradThresh, numIter] = imdiffuseest(noisyImage ,'ConductionMethod','quadratic'); anisoImage = imdiffusefilt(noisyImage ,'ConductionMethod','quadratic', 'GradientThreshold', gradThresh, 'NumberOfIterations', numIter); # Hitung SSIM dari gambar yang sudah di smoothing nC = ssim(originalImage, anisoImage ); disp(['The SSIM value using quadratic anisotropic diffusion is ',num2str(nC),'.']) # Hitung PSNR dari gambar yang sudah di smoothing [peaksnr, snr] = psnr(anisoImage , originalImage);

# Baca image originalImageRGB= imread('D:\Pengcit\tes3.png'); # Ubah Image ke Grayscale originalImage = rgb2gray(originalImageRGB); imwrite(originalImage , 'D:\Pengcit\originalImage .jpg'); # Tambahkan Noise kedalam image noisyImage = imnoise(originalImage ,'gaussian',0,0.005); # Hitung SSIM dari noisy image n = ssim(originalImage, noisyImage ); disp(['The SSIM value of the noisy image is ',num2str(n),'.']) # Hitung PSNR dari noisy image [peaksnr, snr] = psnr(noisyImage , originalImage ); disp(['The Peak-SNR value is ', num2str(peaksnr)]); imwrite(noisyImage , 'D:\Pengcit\noisyImage .jpg'); # Smoothing dengan Isotropic diffusion (gaussian) gaussianImage = imgaussfilt(noisy_lenna, 5); # Hitung SSIM dari gambar yang sudah di smoothing nC = ssim(originalImage, gaussianImage); disp(['The SSIM value using isotropic diffusion is ',num2str(nC),'.']) # Hitung PSNR dari gambar yang sudah di smoothing [peaksnr, snr] = psnr(gaussianImage, originalImage); disp(['The Peak-SNR value is ', num2str(peaksnr)]);

Page 5: P e r b an d i n gan A l gor i tma S mooth i n g: I s otr ...rinaldi.munir/Citra/2019-2020/... · dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai

      

disp(['The Peak-SNR value is ', num2str(peaksnr)]); imwrite(aniso_lenna, 'D:\Pengcit\anisoImage .jpg'); # Hitung waktu yang dibutuhkan untuk melakukan fungsi smoothing f = @()imdiffusefilt(noisyImage, 'ConductionMethod', 'quadratic', 'GradientThreshold', gradThresh, 'NumberOfIterations',numIter); timeit(f)

imwrite(gaussianImage, 'D:\Pengcit\gaussianImage.jpg'); # Hitung waktu yang dibutuhkan untuk melakukan fungsi smoothing f = @()imgaussfilt(noisyImage, 5); timeit(f)

Kode 1. Kode Implementasi anisotropic diffusion

Kode 2. Kode Implementasi isotropic diffusion

3.1. Isotropic vs Anisotropic - Test Gambar 1

Gambar 1. Gambar Asli Lenna Gambar 2. Gambar yang telah diberi Noise

Gambar 3. Gambar yang dilakukan smoothing dengan isotropic diffusion

(Gaussian smoothing)

Figure 4. Gambar yang dilakukan smoothing dengan anisotropic diffusion

(Perona Malik)

Page 6: P e r b an d i n gan A l gor i tma S mooth i n g: I s otr ...rinaldi.munir/Citra/2019-2020/... · dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai

      

- Test Gambar 2

Gambar 1. Gambar Asli Lenna Gambar 2. Gambar yang telah diberi Noise

Gambar 3. Gambar yang dilakukan smoothing dengan isotropic diffusion

(Gaussian smoothing)

Figure 4. Gambar yang dilakukan smoothing dengan anisotropic diffusion

(Perona Malik)

- Test Gambar 3

Gambar 1. Gambar Asli Lenna Gambar 2. Gambar yang telah diberi Noise

Page 7: P e r b an d i n gan A l gor i tma S mooth i n g: I s otr ...rinaldi.munir/Citra/2019-2020/... · dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai

      

Gambar 3. Gambar yang dilakukan smoothing dengan isotropic diffusion

(Gaussian smoothing)

Figure 4. Gambar yang dilakukan smoothing dengan anisotropic diffusion

(Perona Malik)

3.2. Peak Signal to Noise Ratio (PSNR) Table 1. Perbandingan Nilai PSNR

Tes Gambar 1 Tes Gambar 2 Tes Gambar 3

Gambar bernoise 23.031 23.0263 23.237 Isotropic Diffusion 26.7352 25.653 26.7517 Anisotropic Diffusion 29.3159 26.0334 30.1086

3.3. Structure Similarity (SSIM) Table 3. Perbandingan Nilai SSIM

Tes Gambar 1 Tes Gambar 2 Tes Gambar 3

Gambar bernoise 0.37729 0.65785 0.3823 Isotropic Diffusion 0.8099 0.77847 0.52842 Anisotropic Diffusion 0.5409 0.74784 0.80573

3.4. Waktu operasi Table 4. Perbandingan Lama Waktu Komputasi(s)

Tes Gambar 1 Tes Gambar 2 Tes Gambar 3

Isotropic Diffusion 0.0040 0.0045 0.0214 Anisotropic Diffusion 0.0047 0.0069 0.0566

4. Analisis Eksperimen Pada eksperimen yang telah dilakukan, telah didapat perbandingan perbandingan antara kedua metode difusi dalam algoritma smoothing ini. Pada perbandingan awal secara kasat mata, terlihat bahwa hasil smoothing dengan perona-malik (anisotropic diffusion) lebih tajam dibanding dengan smoothing dengan gaussian smoothing (isotropic diffusion). Hal ini dikarenakan pada proses smoothing, perona-malik akan mengikuti edge dalam penyebarannya. Karena itulah edge pada citra menjadi tetap

Page 8: P e r b an d i n gan A l gor i tma S mooth i n g: I s otr ...rinaldi.munir/Citra/2019-2020/... · dimana MAX adalah nilai maksimum pixel dalam citra, misal jika citra 8 bit maka nilai

      

dan tidak rusak. Pada smoothing menggunakan gaussian, penyebaran dilakukan ke segala arah tanpa mengenal adanya region dan edge, hal inilah yang nantinya akan membuat gambar menjadi kelihatan tidak jelas (blur). Pada hasil perbandingan lain dengan perbandingan nilai PSNR, terlihat bahwa nilai PSNR citra hasil smoothing menggunakan perona-malik memiliki nilai PSNR yang secara konsisten lebih tinggi dari hasil smoothing dengan metode gaussian. Seperti yang sudah dijelaskan sebelumnya bahwa nilai PSNR berbanding lurus dengan kualitas dari citra. Jadi citra yang dihasilkan dengan smoothing perona-malik memiliki kualitas yang lebih tinggi dibandingkan dengan hasil smoothing citra dari gaussian. Pada hasil perbandingan terakhir dengan perbandingan nilai SSIM, terlihat bahwa nilai SSIM citra hasil smoothing menggunakan perona-malik lebih mendekati nilai 1 dibandingkan dengan citra hasil smoothing gaussian. Citra yang memiliki nilai SSIM semakin mendekati 1 berarti memiliki struktur yang lebih dekat dengan citra asli sebelum ditambahkannya noise. Jadi citra hasil smoothing menggunakan perona-malik memiliki struktur lebih dekat dengan citra asli dibandingkan citra hasil gaussian. Pada perbandingan waktu komputasi, algoritma perona malik membutuhkan waktu yang lebih lama dibandingkan dengan algoritma gaussian. Hal ini dikarenakan perhitungan pada algoritma perona-malik yang juga menghitung dan menghindari batas-batas region dalam penyebarannya. Hal inilah yang akhirnya memperlambat kecepatan komputasi dari algoritma in. Algoritma gaussian smoothing lebih unggul karena rumus yang digunakan jauh lebih mudah dari perona-malik.

5. Kesimpulan Dari hasil analisis yang sudah kita lakukan, terlihat bahwa dari ketiga perbandingan smoothing dengan metode anisotropic diffusion (perona-malik) lebih unggul secara performa dibandingkan dengan metode isotropic (gaussian). Metode anisotropic menghasilkan citra yang lebih tajam, lebih berkualitas (diukur dengan PSNR), dan juga mempunyai struktur yang lebih dekat dengan struktur citra awal sebelum diberi noise. Tapi jika kita menginginkan sebuah algoritma yang memiliki waktu komputasi yang cepat maka kita bisa memilih algoritma gaussian smoothing. Algoritma ini meskipun performanya jauh dari performa yang dihasilkan oleh algoritma perona-malik tapi waktu komputasinya lumayan cepat dan mudah dimengerti. Algoritma ini dirasa lebih cocok untuk digunakan oleh pemula yang ingin menggunakan fitur smoothing ini tanpa membutuhkan hasil yang sangat bagus. Daftar Pustaka [1] Perona, P., and J. Malik. "Scale-space and edge detection using anisotropic diffusion." IEEE®

Transactions on Pattern Analysis and Machine Intelligence. 1990. [2] Wang, Zhou; Bovik, A.C.; Sheikh, H.R.; Simoncelli, E.P. "Image quality assessment: from error

visibility to structural similarity". IEEE Transactions on Image Processing. 2004. Ucapan Terima Kasih Terima kasih penulis panjatkan kepada Allah SWT karena berkat rahmat dan anugerahnya lah penulis dapat menyelesaikan makalah ini dengan baik. Penulis berterima kasih kepada keluarga yang selalu memberikan dukungan dan doa. Penulis juga berterima kasih kepada Bapak Dr. Ir. Rinaldi Munir S.T. M.T. selaku dosen pengampu mata kuliah IF4073-Interpretasi dan Pengolahan Citra atas ilmu yang telah diberikan sehingga penulis bisa memahami materi dengan baik. Tidak lupa juga penulis berterima kasih kepada teman-teman penulis atas bantuan dan dukungannya sehingga makalah ini bisa selesai.