Aplikasi Pengolahan Citra Digital dengan Algoritma Pendeteksian Tepi.
ABSTRAK
Aplikasi pengolahan citra digital dengan menggunakan algoritma pendeteksian tepi dibuat dengan tujuan memberikan teknik penerapan algoritma pendeteksian tepi dalam mendeteksi tepi objek di dalam citra. Algoritma yang digunakan dalam aplikasi yaitu, operator Laplace, operator Compass, dan algoritma turunan pertama dengan operator Sobel, Prewitt dan Roberts. Aplikasi ini memudahkan penggunanya dalam mengakses algoritma yang optimal untuk mencari tepi suatu citra, mencari perbandingan citra pada setiap operator dan memisahkan objekobjek pada citra. Aplikasi ini mendukung kinerja pengolahan citra dalam meningkatkan kualitas gambar agar lebih baik.
Algoritma pendeteksian tepi dalam aplikasi ini mempunyai kelebihan masingmasing. Teknik operator turunan kedua dapat mendeteksi lokasi tepi lebih akurat khususnya pada tepi yang curam. Teknik operator kompas digunakan untuk mendeteksi tepi dari delapan macam arah mata angin di dalam citra. Operator ini juga dapat mendeteksi tepi secara horizontal dan vertical. Operator Sobel, Prewitt dan Roberts menghitung turunan pertama menggunakan konstanta dan bobot matriksnya masingmasing.
Penerapan pendeteksian tepi objek di dalam citra dapat diimplementasikan dalam berbagai bidang. Bidang otomotif, untuk pengenalan nomor polisi suatu kendaraan bermotor. Bidang militer, dapat digunakan untuk pengenalan bentuk suatu pesawat pada radar. Penerapan dalam berbagai bidang lainnya yang mendukung kinerja pengolahan citra digital.
Kata kunci : pendeteksi tepi, operator Laplace, operator Compass, operator Sobel, operator Prewitt, operator Roberts.
(2)
ABSTRACT
Digital image processing application using edge detector algorithm was created to provide implementation techniques of edge detection algorithm for object edge detection on image. Algorithms used in this application are Laplacian’s operator, Compass operators, and first derivative techniques with Sobel, Prewitt and Roberts’s operator. These applications simplify users to access optimal algorithm to find edge of image, to find out image comparison for every operators, and to separate objects in image. This application support image processing performance to increase image quality.
These Edge detector algorithms have its own advantage. Laplacian’s operator could detect accurate edge location especially on sharp edge. Compass operator used eight directions to detect image edges. This operator also can be used to detect an edge horizontally and vertically. Sobel, Prewitt and Roberts’s operator calculate first derivative using its own constant and matrix value.
Image object edge detection application can be implemented to a lot of areas. In automotive, could be used to vehicle identification number recognition. In military, useable for plane shape recognition on radar. Application on diverse areas that supports digital image processing.
Keyword: edge detector, operator Laplace, operator Compass, operator Sobel, operator Prewitt, operator Roberts.
(3)
DAFTAR ISI
ABSTRAK ...i
ABSTRACT ...ii
KATA PENGANTAR ...iii
DAFTAR ISI ...v
DAFTAR GAMBAR ...x
DAFTAR TABEL ...xii
DAFTAR SIMBOL ...xiii
BAB I. PERSYARATAN PRODUK ...1
1.1. Pendahuluan ...1
1.1.1. Tujuan ...2
1.1.2. Ruang Lingkup ...3
1.1.3. Definisi, Akronim, dan Singkatan ...3
1.1.4. Overview ...4
1.2. Gambaran Keseluruhan ...5
1.2.1. Perspektif Produk ...5
1.2.1.1. Antarmuka Sistem ...6
1.2.1.2. Antarmuka dengan Pengguna ...6
1.2.1.3. Antarmuka Perangkat Keras ...7
1.2.1.4. Antarmuka Perangkat Lunak ...7
1.2.1.5. Antarmuka Komunikasi ...7
1.2.1.6. Batasan Memori ...7
1.2.2. Fungsi Produk ...8
1.2.3. Karakteristik Pengguna ...8
1.2.4. Batasan ...9
1.2.5. Asumsi dan Ketergantungan ...9
1.2.6. Penundaan Persyaratan ...9
BAB II. SPESIFIKASI PRODUK ...10
2.1. Persyaratan Antarmuka Eksternal ...10
2.1.1. Antarmuka dengan Pengguna ...10
2.1.2. Antarmuka Perangkat Keras ...12
2.1.3. Antarmuka Perangkat Lunak ...12
2.2. Fiturfitur Produk Perangkat Lunak ...12
2.2.1. Fitur 1 – Pendeteksian Tepi Citra dengan Teknik Operator Turunan Kedua ...12
2.2.1.1. Tujuan ...12
2.2.1.2. Urutan Stimulus/Respon ...12
2.2.1.3. Persyaratan Fungsional yang Berhubungan ...13
2.2.1.3.1. Persyaratan Fungsionalitas ...13
2.2.1.3.1.1. Pendahuluan ...13
2.2.1.3.1.2. Masukan ...13
2.2.1.3.1.3. Pemrosesan ...13
2.2.1.3.1.4. Keluaran ...14
2.2.2. Fitur 2 – Pendeteksian Tepi Citra dengan Teknik Operator Kompas ..14
(4)
2.2.2.2. Urutan Stimulus/Respon ...14 2.2.2.3. Persyaratan Fungsional yang Berhubungan ...14 2.2.2.3.1. Persyaratan Fungsionalitas ...14 2.2.2.3.1.1. Pendahuluan ...14 2.2.2.3.1.2. Masukan ...15 2.2.2.3.1.3. Pemrosesan ...15 2.2.2.3.1.4. Keluaran ...15
2.2.3. Fitur 3 – Pendeteksian Tepi Citra dengan Teknik Operator Gradien Pertama Algoritma Sobel ...15 2.2.3.1. Tujuan ...15 2.2.3.2. Urutan Stimulus/Respon ...15 2.2.3.3. Persyaratan Fungsional yang Berhubungan ...16 2.2.3.3.1. Persyaratan Fungsionalitas ...16 2.2.3.3.1.1. Pendahuluan ...16 2.2.3.3.1.2. Masukan ...16 2.2.3.3.1.3. Pemrosesan ...16 2.2.3.3.1.4. Keluaran ...16
2.2.4. Fitur 4 – Pendeteksian Tepi Citra dengan Teknik Operator Gradien Pertama Algoritma Prewitt ...17
2.2.4.1. Tujuan ...17
2.2.4.2. Urutan Stimulus/Respon ...17 2.2.4.3. Persyaratan Fungsional yang Berhubungan ...17 2.2.4.3.1. Persyaratan Fungsionalitas ...17 2.2.4.3.1.1. Pendahuluan ...17 2.2.4.3.1.2. Masukan ...18 2.2.4.3.1.3. Pemrosesan ...18 2.2.4.3.1.4. Keluaran ...18
2.2.5. Fitur 5 – Pendeteksian Tepi Citra dengan Teknik Operator Gradien Pertama Algoritma Roberts ...18 2.2.5.1. Tujuan ...18 2.2.5.2. Urutan Stimulus/Respon ...18 2.2.5.3. Persyaratan Fungsional yang Berhubungan ...19 2.2.5.3.1. Persyaratan Fungsionalitas ...19 2.2.5.3.1.1. Pendahuluan ...19 2.2.5.3.1.2. Masukan ...19 2.2.5.3.1.3. Pemrosesan ...19 2.2.5.3.1.4. Keluaran ...19
2.2.6. Fitur 6 –Zoom ...20
2.2.6.1. Tujuan ...20 2.2.6.2. Urutan Stimulus/Respon ...20 2.2.6.3. Persyaratan Fungsional yang Berhubungan ...20 2.2.6.3.1. Persyaratan Fungsionalitas ...20 2.2.6.3.1.1. Pendahuluan ...20 2.2.6.3.1.2. Masukan ...21 2.2.6.3.1.3. Pemrosesan ...21 2.2.6.3.1.4. Keluaran ...21
(5)
2.2.7. Fitur 7 – Gaussian Blur ...21 2.2.7.1. Tujuan ...21 2.2.7.2. Urutan Stimulus/Respon ...21 2.2.7.3. Persyaratan Fungsional yang Berhubungan ...21 2.2.7.3.1. Persyaratan Fungsionalitas ...22 2.2.7.3.1.1. Pendahuluan ...22 2.2.7.3.1.2. Masukan ...22 2.2.7.3.1.3. Pemrosesan ...22 2.2.7.3.1.4. Keluaran ...22
2.2.8. Fitur 8 –Brightness ...22
2.2.8.1. Tujuan ...22 2.2.8.2. Urutan Stimulus/Respon ...22 2.2.8.3. Persyaratan Fungsional yang Berhubungan ...23 2.2.8.3.1. Persyaratan Fungsionalitas ...23 2.2.8.3.1.1. Pendahuluan ...23 2.2.8.3.1.2. Masukan ...23 2.2.8.3.1.3. Pemrosesan ...23
2.2.8.3.1.4. Keluaran ...23
2.2.9. Fitur 9 – Contrast ...24
2.2.9.1. Tujuan ...24 2.2.9.2. Urutan Stimulus/Respon ...24 2.2.9.3. Persyaratan Fungsional yang Berhubungan ...24 2.2.9.3.1. Persyaratan Fungsionalitas ...24 2.2.9.3.1.1. Pendahuluan ...24 2.2.9.3.1.2. Masukan ...24 2.2.9.3.1.3. Pemrosesan ...25 2.2.9.3.1.4. Keluaran ...25
2.2.10. Fitur 10 – Gamma ...25
2.2.10.1. Tujuan ...25 2.2.10.2. Urutan Stimulus/Respon ...25 2.2.10.3. Persyaratan Fungsional yang Berhubungan ...25 2.2.10.3.1. Persyaratan Fungsionalitas ...25 2.2.10.3.1.1. Pendahuluan ...25 2.2.10.3.1.2. Masukan ...26 2.2.10.3.1.3. Pemrosesan ...26 2.2.10.3.1.4. Keluaran ...26
2.2.11. Fitur 11 –Reload...26
2.2.11.1. Tujuan ...26 2.2.11.2. Urutan Stimulus/Respon ...26 2.2.11.3. Persyaratan Fungsional yang Berhubungan ...26 2.2.11.3.1. Persyaratan Fungsionalitas ...27 2.2.11.3.1.1. Pendahuluan ...27 2.2.11.3.1.2. Masukan ...27 2.2.11.3.1.3. Pemrosesan ...27 2.2.11.3.1.4. Keluaran ...27
(6)
2.2.12.1. Tujuan ...27 2.2.12.2. Urutan Stimulus/Respon ...28 2.2.12.3. Persyaratan Fungsional yang Berhubungan ...28 2.2.12.3.1. Persyaratan Fungsionalitas ...28 2.2.12.3.1.1. Pendahuluan ...28 2.2.12.3.1.2. Masukan ...28 2.2.12.3.1.3. Pemrosesan ...28 2.2.12.3.1.4. Keluaran ...29
2.2.13. Fitur 13 –Auto Save ...29
2.2.13.1. Tujuan ...29 2.2.13.2. Urutan Stimulus/Respon ...29 2.2.13.3. Persyaratan Fungsional yang Berhubungan ...29 2.2.13.3.1. Persyaratan Fungsionalitas ...29 2.2.13.3.1.1. Pendahuluan ...29 2.2.13.3.1.2. Masukan ...30 2.2.13.3.1.3. Pemrosesan ...30 2.2.13.3.1.4. Keluaran ...30 2.3. Persyaratan Performa ...30 2.4. Batasan Desain ...30 2.5. Atribut Sistem Perangkat Lunak ...31 2.5.1. Kehandalan ...31 2.5.2. Ketersediaan ...31 2.5.3. Keamanan ...31 2.5.4. Pemeliharaan ...31 2.5.5. Portabilitas ...31 2.6. Persyaratan Database Logis ...32 BAB III. DESAIN PERANGKAT LUNAK ...33 3.1. Pendahuluan ...33 3.1.1. Identifikasi Kebutuhan Sistem ...33
3.1.2. OverviewSistem ...34
3.1.3. Pengolahan Citra Digital ...34
3.1.4. Operator Turunan Kedua (Laplacian) ...36
3.1.5. Operator Kompass (Compass Operator) ...40
3.1.6. Operator Gradien Pertama (differential gradient) dengan Algoritma Sobel ...42
3.1.7. Operator Gradien Pertama (differential gradient) dengan Algoritma Prewitt ...45
3.1.8. Operator Gradien Pertama (differential gradient) dengan Algoritma Roberts ...47 3.1.9. Grayscale ...48 3.2. Desain Perangkat Lunak Secara Keseluruhan ...49 3.3. Desain Arsitektur Perangkat Lunak ...50 3.3.1. Komponen Perangkat Lunak ...50 3.3.2. Konsep Eksekusi ...51 3.3.3. Desain Antarmuka ...54
(7)
BAB IV. PENGEMBANGAN SISTEM ...60
4.1. Perencanaan Tahap Implementasi ...60
4.1.1. PembagianClass Implementasi ...60
4.1.2. Class Diagram ...62
4.1.3. Keterkaitan Antar Class ...71
4.2. Perjalanan Tahap Implementasi ...71
4.2.1. Top Down Implementasi ...71
4.2.2. Debugging ...72
4.3. Ulasan Realisasi Fungsionalitas ...73
4.4. Ulasan RealisasiUser Interface Design ...74
BAB V. TESTING DAN EVALUASI SISTEM ...79
5.1. Rencana Pengujian Sistem Terimplementasi ...79
5.1.1. Test Case ...79
5.1.2. Uji Fungsionalitas Modul ...80
5.2. Perjalanan Metodologi Pengujian ...82
5.2.1. White Box ...82
5.2.2. Black Box ...82
5.2.3. Survey / Wawancara dengan Target Pengguna Aplikasi ...89
5.3. Ulasan Hasil Evaluasi ...89
BAB VI. KESIMPULAN DAN SARAN ...90
6.1. Keterkaitan antara Kesimpulan dengan Hasil Evaluasi ...90
6.2. Keterkaitan antara Saran dengan Hasil Evaluasi ...92
6.3. Rencana Perbaikan/Implementasi terhadap Saran yang Diberikan ...92
(8)
DAFTAR TABEL
Tabel 5.1. TabelTest Case Aplikasi Pendeteksian Tepi ...79
Tabel 5.2. Tabel Citra HasilTest Case Aplikasi Pendeteksian Tepi ...83
Tabel 5.3. Tabel Citra Matriks Test Case Aplikasi Pendeteksian Tepi ...87
Tabel 6.1. Tabel perbandingan hasil citra algoritma Sobel ...90
Tabel 6.2. Tabel perbandingan hasil citra algoritma Prewitt ...91
Tabel 6.3. Tabel perbandingan hasil citra algoritma Roberts ...91
Tabel 6.4. Tabel perbandingan hasil citra algoritma Compass ...91
(9)
DAFTAR GAMBAR
Gambar 3.1. Diagram Fungsi Gaussian ...39
Gambar 3.2. Use Case Diagram ...49
Gambar 3.3. Aktifitas pendeteksian tepi ...51
Gambar 3.4. Aktifitas meningkatkan kualitas citra ...51
Gambar 3.5. Aktifitas mengembalikan kondisi citra (reload) ...52
Gambar 3.6. Aktifitas menampilkan citra ...52
Gambar 3.7. Aktifitas menyimpan citra ...53
Gambar 3.8. Aktifitas memperbesar tampilan citra (zoom) ...53
Gambar 3.9. Aktifitas menduplikasi citra (clone) ...54
Gambar 3.10. Form Welcome ...54
Gambar 3.11. Form Utama ...55
Gambar 3.12. Form Image ...55
Gambar 3.13. Form Algoritma ...56
Gambar 3.14. Form Brightness ...56
Gambar 3.15. Form Contrast ...57
Gambar 3.16. Form Gamma ...57
Gambar 3.17. Form Konfigurasi Algoritma ...58
Gambar 3.18. Desain proses ...58
Gambar 4.1. Class Welcome ...62
Gambar 4.2. Class Main ...62
Gambar 4.3. Class Image ...63
Gambar 4.4. Class ImageFilter ...64
Gambar 4.5. Class RGBColor ...64
Gambar 4.6. Class Sobel ...64
Gambar 4.7. Class Prewitt ...65
Gambar 4.8. Class Roberts ...65
Gambar 4.9. Class Compass ...66
Gambar 4.10. Class Laplace ...66
Gambar 4.11. Class Brightness ...67
Gambar 4.12. Class Contrast ...67
Gambar 4.13. Class Gamma ...67
Gambar 4.14. Class ColorToGrayscale ...68
Gambar 4.15. Class ColorToConvolution ...68
Gambar 4.16. Class Grayscale ...69
Gambar 4.17. Class GrayscaleMD ...69
Gambar 4.18. Class Gaussian ...69
Gambar 4.19. Class Correlation ...70
Gambar 4.20. Class GaussianBlur ...70
Gambar 4.21. Keterkaitan Antar Class ...71
Gambar 4.22. Struktur menu aplikasi pendeteksian tepi ...73
Gambar 4.23. Welcome ...74
Gambar 4.24. Main ...74
Gambar 4.25. Image ...75
(10)
Gambar 4.27. Algorithm ...76
Gambar 4.28. Brightness ...76
Gambar 4.29. Contrast ...77
Gambar 4.30. Gamma ...77
(11)
BAB I
PERSYARATAN PRODUK
Pemrosesan gambar secara digital telah berkembang dengan cepat. Pengolahan gambar ini didukung dengan kemajuan teknologi perangkat keras yang signifikan. Produkproduk pengolah gambar sudah semakin canggih dengan adanya aplikasi multimedia seperti Corel Draw X3, Macromedia Flash 8.0, Adobe Photoshop CS2, dan perangkat lunak lainnya yang mendukung pemrosesan citra.
Produk yang digunakan penulis untuk menghasilkan aplikasi pengolahan citra yaitu Visual Studio .Net 2005 dengan bahasa pemrograman C#. Produk dari Microsoft ini sangat kompleks dengan canggihnya fitur yang diberikan, sehingga penulis dapat menghasilkan aplikasi dengan baik. Aplikasi yang dibuat penulis berguna untuk mendeteksi tepi (edge) dari suatu objek di dalam citra. Pendeteksian tepi akan menggunakan algoritma tertentu untuk menghasilkan citra yang lebih halus, sederhana, bahkan menghasilkan citra dengan segmentasi tertentu.
1.1.Pendahuluan
Perkembangan komputer dan perangkat lunak digital berkembang sesuai dengan semakin canggihnya teknologi. Hal ini memberikan kemudahan bagi penggunanya dengan adanya berbagai macam fitur dan desain user interface yang nyaman sehingga menimbulkan minat seseorang dalam bidang gambar, film dokumentasi, fotografi, multimedia dan sebagainya.
Pengolahan citra adalah salah satu kajian bidang multimedia yang memegang peranan cukup penting. Pengolahan citra dapat berupa penyederhanaan gambar (image simplification) dengan melakukan pendeteksian tepi objek yang berada di dalam gambar. Pendeteksian tepi objek merupakan salah satu klasifikasi dari pengolahan citra yang berupa
(12)
penganalisisan citra (image analysis). Penerapan pengolahan citra dengan pendeteksian tepi ini dapat berupa pengenalan objek yang terpisah, pengenalan suatu objek yang bergerak, dan pengenalan objek diantara objek yang lain. Contohnya, robotrobot digunakan untuk merakit badan mobil, mengidentifikasi jenis pesawat musuh, pengenalan huruf/angka pada suatu formulir secara otomatis, dan sebagainya.
Citra sebagai representasi informasi dua dimensi yang diciptakan dengan melihat atau merasakan sebuah gambar atau pemandangan. Citra memberikan informasi yang tidak dapat diungkapkan secara eksplisit. Informasi dari suatu citra dapat berupa dokumentasi kejadian, gambar pemandangan, aktivitas seseorang, bahkan informasi tersebut tidak dapat langsung diungkapkan sedemikian rupa.
Penulis membahas teknik pengolahan citra ini dengan menggunakan beberapa algoritma. Penekanan algoritma pada pengolahan tepi (edge) dari objek di dalam citra. Algoritma yang penulis gunakan dapat mereduksi citra menjadi region atau daerahdaerah dari suatu objek. Algoritma ini dapat diimplementasikan pada aplikasi pengenalan (recognition) objek dari suatu citra, selain itu dapat juga diimplementasikan untuk meningkatkan penampakan garis batas suatu objek di dalam citra.
Aplikasi yang mendukung kinerja pengolahan citra sangat diperlukan untuk meningkatkan kualitas gambar agar lebih baik. Aplikasi yang memudahkan penggunanya dalam mengakses algoritma secara optimal untuk mencari tepi suatu citra, mencari perbandingan citra, memisahkan objek pada citra. Aplikasi yang digunakan sebagai suatu fungsi dimana memberikan kenyaman pengolahan citra digital.
1.1.1. Tujuan
Pembuatan aplikasi ini memiliki beberapa tujuan yang berguna untuk memproses suatu citra digital diantaranya :
1. Melakukan pencocokan citra awal dengan dimensi tertentu terhadap citra yang mengalami perubahan.
(13)
2. Menggunakan teknik operator turunan kedua (Laplacian), operator kompas (compass operator), dan operator gradien pertama (differential gradient) dengan algoritma Sobel, Prewitt, Roberts, untuk mendeteksi tepi dari objek suatu citra.
3. Mendeteksi tepi pada citra secara signifikan dengan menghilangkan informasi yang tidak terpakai.
4. Membandingkan kecepatan proses dari setiap operator edge detector dan ukuran file suatu citra awal dengan citra akhir yang telah mengalami pendeteksian tepi.
1.1.2. Ruang Lingkup
Aplikasi ini memiliki beberapa manfaat yang dapat digunakan untuk memproses citra, antara lain :
· peningkatan kualitas citra dengan menggunakan beberapa filter
terhadap citra
· pendeteksian tepi pada citra
· pengguna dapat mengetahui algoritma yang diterapkan pada suatu
teknik pengolahan citra
· Aplikasi ini memberikan informasi kecepatan proses dari setiap
operator yang digunakan dan informasi ukuran file citra awal dengan citra akhir yang telah mengalami pendeteksian tepi.
Penulis membuat aplikasi ini supaya nyaman digunakan (user friendly). Aplikasi yang akan mengolah citra untuk meningkatkan penampakan garis batas suatu daerah di dalam citra. Aplikasi ini akan digolongkan menurut teknik dan algoritma yang penulis gunakan, sehingga pengguna dapat mengetahui perbedaan setiap citra serta bagaimana penggunaan algoritma tersebut.
1.1.3. Definisi, Akronim, dan Singkatan
1. algoritma = urutan suatu kejadian atau metode tertentu.
(14)
3. brightness = pencahayaan.
4. citra = gambar pada bidang dua dimensi. 5. contrast = kontras.
6. darkness = gelap.
7. differential gradient = perbedaan gradien/garis temu. 8. edge detector = pendeteksi tepi.
9. file = berkas.
10. GIF = Graphics Interchange Format. 11.grayscale = keabuan (hitam putih).
12.image analysis = penganalisisan citra. 13.image sharpening = penajaman gambar. 14.image simplification = penyederhanaan gambar.
15. JPEG = Joint Photographic Experts Group. 16.lightness = terang.
17.mask = penutup/matriks.
18. MDI = Multiple Document Interface. 19.neighbourhood = tetangga. Matriks tetangga. 20. PNG = Portable Network Graphics.
21.recognition = pengenalan suatu objek terhadap citra. 22. tepi (edge) = perubahan nilai intensitas derajat keabuan
yang mendadak besar dalam jarak yang singkat. 23. TIFF = Tag Image File Format.
24.user friendly = penggunaan secara mudah/nyaman.
1.1.4. Overview
Penulis membahas mengenai pembuatan produk diantaranya bab satu membahas persyaratan produk seperti tujuan pembuatan produk, ruang lingkup produk, definisi, akronim, singkatan, referensi yang digunakan, perspektif produk, gambaran antarmuka sistem, fungsi produk, batasan, serta spesifikasi komputer dalam menggunakan produk ini. Bab dua membahas spesifikasi produk diantaranya persyaratan antarmuka eksternal, antarmuka
(15)
dengan pengguna dan fiturfitur perangkat lunak produk. Bab tiga membahas desain perangkat lunak produk seperti desain perangkat lunak secara keseluruhan dan desain arsitektur perangkat lunak. Bab empat membahas pengembangan sistem seperti perjalanan tahap implementasi (coding) dan rancangan antarmuka produk. Bab lima membahas testing dan evaluasi sistem antara lain uji fungsionalitas modul dan test case yang berupa black box dan white box. Bab enam berisi kesimpulan, saran dan rencana perbaikan terhadap saran yang diberikan.
1.2.Gambaran Keseluruhan
Penulis menggunakan Visual Studio .Net 2005 dengan bahasa pemrograman C# untuk membuat aplikasi pengolahan citra. Aplikasi ini menggunakan model MDI (Multiple Document Interface) dan toolbox yang menarik agar pengguna mudah mengoperasikannya. Penulis tidak menggunakan database pada aplikasi ini untuk menyimpan citra yang akan diproses. Pengguna dapat menggunakan citra apapun untuk mengaplikasikannya. Aplikasi dapat mengolah citra dengan penggunaan beberapa algoritma sehingga pengguna dapat membandingkan setiap citra yang dihasilkan. Aplikasi ini juga memiliki fitur untuk menampilkan algoritma dari operator yang digunakan.
Aplikasi pengolahan citra memerlukan perangkat keras yang dapat mendukung kinerja perangkat lunaknya. Penulis menggunakan processor PIII 800 Mhz, RAM 256 Mb, Hard Disk 20 Gb, dan VGA 32 Mb sebagai minimum requirement untuk membuat aplikasi ini. Pengolahan citra membutuhkan gambar dengan ukuran minimal 256 x 256, dalam satuan pixel, sehingga pengguna tidak terlalu kecil untuk melihat perbandingan setiap citra yang dihasilkan.
1.2.1. Perspektif Produk
Aplikasi pendeteksian tepi ini merupakan penerapan algoritma dari operator yang telah ada sehingga pengguna dapat mengolah citra sesuai
(16)
metode/teknik yang diberikan. Tampilan form secara user friendly sehingga pengguna dapat mudah menggunakannya. Penulis membuat aplikasi dengan bahasa pemrograman C# dengan berorientasi objek sehingga source code dapat lebih mudah dipahami. Aplikasi pengolah citra yang biasa digunakan, seperti Adobe Photoshop CS2, Corel Draw X3, dan sebagainya hanya memberikan efek pada citra secara langsung tanpa memberikan penerapan secara khusus, sedangkan aplikasi yang penulis buat memberikan penerapan beberapa algoritma untuk diolah pada suatu citra.
1.2.1.1. Antarmuka Sistem
Penulis menggunakan Visual Studio .Net 2005 dengan .Net Framework 2.0, sehingga diperlukan sistem operasi Windows XP SP2 agar dapat menjalankan produk dari Microsoft ini. Aplikasi yang penulis buat dapat digunakan pada sistem operasi Windows versi 9x keatas. Hal ini memudahkan pengguna untuk dapat menjalankan aplikasi pada sistem Windows. Penulis tidak membuat aplikasi ini untuk dijalankan pada sistem Linux dikarenakan terbatasnya kemampuan penulis untuk membuat perangkat lunak di setiap sistem operasi. Aplikasi ini tidak akan menimbulkancrash dan dapat digunakan bersamaan dengan aplikasi lainnya.
1.2.1.2. Antarmuka dengan Pengguna
Aplikasi pengolahan citra dengan pendeteksian tepi memerlukan adanya interaksi dengan pengguna dalam menggunakan algoritma yang ada. Pengguna dapat menggunakan formform pada aplikasi ini dengan nyaman. Aplikasi ini menggunakan Multiple Document Interface sehingga pengguna dapat membedakan pendeteksian citra yang dihasilkan dari setiap algoritma. Desain form yang menarik membuat pengguna menggunakan aplikasi ini. Penulis menggunakan form welcome pada saat pertama kali aplikasi ini dijalankan. Aplikasi ini dibuat dengan memfokuskan pada algoritma sehingga terdapat form algoritma yang menampilkan setiap teknik pendeteksian tepi.
(17)
1.2.1.3. Antarmuka Perangkat Keras
Perangkat keras yang direkomendasikan untuk menjalankan aplikasi ini adalah CPU dengan processor Pentium III keatas, RAM 256 Mb dan VGA 32 Mb. Penulis merekomendasikan graphic card 32 Mb dikarenakan aplikasi ini digunakan untuk pengolahan citra sehingga memerlukan adanya perangkat keras yang mendukung. Kemampuan monitor yang baik juga mendukung citra agar terlihat lebih jelas. Penulis dalam pembuatan aplikasi ini menggunakan perangkat keras dengan spesifikasi processor Pentium III 800 Mhz, RAM 256 Mb, Hard Disk 20 Gb, dan VGA 32 Mb.
1.2.1.4. Antarmuka Perangkat Lunak
Perangkat lunak yang digunakan dalam pengolahan aplikasi ini yaitu Visual Studio .Net 2005 dengan .Net Framework 2.0. Penulis menggunakan bahasa pemrograman C# untuk menyelesaikan aplikasi ini dikarenakan pemahaman penulis dalam pemrograman berorientasi objek C#. Aplikasi dibuat berorientasi objek sehingga source code dapat lebih dimengerti apabila terdapat pengembangan program lebih lanjut. Aplikasi ini tidak mengganggu perangkat lunak lainnya dalam melakukan kinerjanya.
1.2.1.5. Antarmuka Komunikasi
Aplikasi pendeteksian tepi ini tidak berbasiskan client server dan database, sehingga tidak ada komunikasi data baik menggunakan protokol maupundataset pada saat aplikasi dijalankan.
1.2.1.6. Batasan Memori
Aplikasi besar seperti Visual Studio .Net 2005 memerlukan penggunaan memori yang cukup banyak, baik untuk menyimpan data maupun pemakaian RAM. Penulis merekomendasikan Hard Disk 20 Gb dan RAM 256 Mb sebagai batasan memori sehingga dapat menyimpan data serta menjalankan aplikasi ini.
(18)
1.2.2. Fungsi Produk
Pengolahan citra digital dengan melakukan pendeteksian tepi menggunakan beberapa algoritma memerlukan aplikasi yang mudah digunakan, nyaman, dan lengkapnya error checking dalam mengatasi pengguna yang baru pertama kali menggunakan aplikasi ini. Aplikasi ini memiliki beberapa fungsi utama diantaranya :
1. Melakukan pencocokan citra awal dengan dimensi tertentu terhadap citra yang mengalami perubahan.
2. Menggunakan teknik operator turunan kedua (Laplacian), operator kompas (compass operator), dan operator gradien pertama (differential gradient) dengan algoritma Sobel, Prewitt, Roberts, untuk mendeteksi tepi dari objek suatu citra.
3. Mendeteksi tepi pada citra secara signifikan dengan menghilangkan informasi yang tidak terpakai.
4. Membandingkan kecepatan proses dari setiap operator edge detector dan ukuran file suatu citra awal dengan citra akhir yang telah mengalami pendeteksian tepi.
1.2.3. Karakteristik Pengguna
Aplikasi ini memerlukan adanya pengguna yang dapat menggunakan komputer, mengerti dalam mengoperasikan menumenu dalam aplikasi, memiliki pengalaman memasukkan gambar, mengerti perubahan citra dengan mengolah nilainilai variabel dalam suatu algoritma, mengetahui pengolahan citra digital, mengenal image recognition serta mengetahui penerapan algoritma dalam mengolah citra digital.
Pengguna tidak memerlukan login untuk masuk ke dalam aplikasi ini, sehingga pengguna tidak perlu memahami adanya perbedaan tingkatan hak akses. Karakteristik pengguna lainya yaitu diperlukannya pengguna yang memahami pendeteksian tepi untuk suatu implementasi citra digital.
(19)
1.2.4. Batasan
Pada tugas akhir ini penulis akan merancang dan membuat aplikasi Pendeteksian Tepi Citra dengan Menggunakan Beberapa Algoritma. Batasan masalah dalam aplikasi ini adalah :
· Ketelitian perbandingan kualitas setiap citra hasil dari pendeteksian
tepi menggunakan suatu algoritma hanya akan dibandingkan oleh mata manusia secara visual saja.
· Aplikasi untuk pendeteksian tepi menggunakan Visual Studio .Net
2005 dengan bahasa pemrograman C#.
· Hardware yang direkomendasikan yaitu PC dengan Pentium III
800Mhz, RAM 256 Mb, Hard Disk 20 Gb, VGA 32 Mb, sistem operasi Windows XP SP2.
· Aplikasi tidak berbasiskanclient server.
· Aplikasi tidak menggunakandatabase untuk menyimpan citra.
1.2.5. Asumsi dan Ketergantungan
Penulis membuat aplikasi pendetesian tepi citra, sehingga diperlukan adanya citra yang jelas agar mendukung kinerja aplikasi ini. Citra yang digunakan berformat .BMP, .JPG, .TIF, .PNG, .GIF. Citra pada aplikasi ini dapat disimpan dengan format .BMP, .JPG, .PNG.
1.2.6. Penundaan persyaratan
Aplikasi ini tidak adanya penundaan persyaratan. Pengguna dapat menggunakan aplikasi ini untuk pendeteksian tepi citra dengan menggunakan beberapa algoritma.
(20)
BAB VI
KESIMPULAN DAN SARAN
6.1. Keterkaitan antara Kesimpulan dengan Hasil Evaluasi
Setelah melakukan evaluasi dengan test case dan mencoba
mengaplikasikannya dengan berbagai macam citra, aplikasi pendeteksian tepi dapat mendeteksi tepi sesuai operator algoritma yang digunakan. Maka dari hasil evaluasi dapat ditarik beberapa kesimpulan antara lain :
· Aplikasi pendeteksian tepi citra dapat mendeteksi tepi objek yang
berada pada citra sesuai algoritma tertentu.
· Perbandingan kecepatan proses algoritma dan ukuran file citra juga
tergantung kecepatan suatu processor pada komputer pengguna
· Pendeteksian tepi citra dengan operator Roberts menggunakan
matriks 2x2 sehingga tepi citra yang terdeteksi lebih tipis dari pada operator algoritma lainnya.
· pendeteksian tepi dengan matriks 2x2 dan 3x3 tidak akan dapat
mendeteksi tepi citra pada pixel ujung.
· Aplikasi dapat membandingkan hasil dari citra terhadap setiap
algoritma yang digunakan. Perbandingan kecepatan dan ukuranfile
citra dilakukan dengan spesifikasi komputer sebagai berikut : 1. Pentium III 800 Mhz
2. RAM 256 Mb 3. Hard Disk 20 Gb 4. VGA 32 Mb
Tabel perbandingan hasil citra algoritma Sobel
Nama citra Ukuran
dimensi Citra
Ukuranfile citra
awal (bytes)
Kecepatan proses (ms)
Ukuranfile citra
hasil (bytes)
Wtc1.jpg 400 x 474 30263 190 62882
(21)
sample.jpg 400 x 300 49554 120 24195
East Rd.05.jpg 400 x 360 70745 140 48427
sample20x20.jpg 20 x 20 22774 10 950
Tabel 6.1. Tabel perbandingan hasil citra algoritma Sobel Tabel perbandingan hasil citra algoritma Prewitt
Nama citra Ukuran
dimensi Citra
Ukuranfile citra
awal (bytes)
Kecepatan proses (ms)
Ukuranfile citra
hasil (bytes)
Wtc1.jpg 400 x 474 30263 190 58193
Lena_Orig.jpg 352 x 352 88407 120 37708
sample.jpg 400 x 300 49554 120 22597
East Rd.05.jpg 400 x 360 70745 140 44154
sample20x20.jpg 20 x 20 22774 10 949
Tabel 6.2. Tabel perbandingan hasil citra algoritma Prewitt Tabel perbandingan hasil citra algoritma Roberts
Nama citra Ukuran
dimensi Citra
Ukuranfile citra
awal (bytes)
Kecepatan proses (ms)
Ukuranfile citra
hasil (bytes)
Wtc1.jpg 400 x 474 30263 130 42444
Lena_Orig.jpg 352 x 352 88407 70 25577
sample.jpg 400 x 300 49554 70 14912
East Rd.05.jpg 400 x 360 70745 90 31572
sample20x20.jpg 20 x 20 22774 10 939
Tabel 6.3. Tabel perbandingan hasil citra algoritma Roberts Tabel perbandingan hasil citra algoritma Compass
Nama citra Ukuran
dimensi Citra
Ukuranfile citra
awal (bytes)
Kecepatan proses (ms)
Ukuranfile citra
hasil (bytes)
Wtc1.jpg 400 x 474 30263 160 54537
Lena_Orig.jpg 352 x 352 88407 100 32462
sample.jpg 400 x 300 49554 90 19836
(22)
sample20x20.jpg 20 x 20 22774 10 948
Tabel 6.4. Tabel perbandingan hasil citra algoritma Compass Tabel perbandingan hasil citra algoritma Laplace
Nama citra Ukuran
dimensi Citra
Ukuranfile citra
awal (bytes)
Kecepatan proses (ms)
Ukuranfile citra
hasil (bytes)
Wtc1.jpg 400 x 474 30263 170 72645
Lena_Orig.jpg 352 x 352 88407 100 26569
sample.jpg 400 x 300 49554 100 63490
East Rd.05.jpg 400 x 360 70745 120 58599
sample20x20.jpg 20 x 20 22774 10 931
Tabel 6.5. Tabel perbandingan hasil citra algoritma Laplace
6.2. Keterkaitan antara Saran dengan Hasil Evaluasi
Saran yang didapatkan setelah hasil evaluasi untuk pengembangan ataupun perbaikan aplikasi dimasa yang akan datang. Saran tersebut antara lain adalah :
· Pendeteksian tepi citra dapat mendeteksi tepi citra pada pixel
ujung.
· Penghilangan tepi palsu sehingga tepi citra lebih akurat.
· Aplikasi dapat menghasilkan pendeteksian tepi citra berwarna
sehingga tampak citra berupa warna aslinya.
· Aplikasi dapat menentukan warna tepi yang digunakan dalam
membatasi tepi objek di dalam citra.
· Aplikasi dapat mendeteksi tepi citra hanya pada area yang di zoom
atau di seleksi.
6.3. Rencana Perbaikan / Implementasi terhadap Saran yang
Diberikan
(23)
· Rencana membuat matriks dengan bobot kecil sehingga tepi citra pada pixel ujung dapat terdeteksi.
· Perbaikan dengan membuat rumus untuk memperjelas bobot tepi
sehingga tepi palsu dapat dihilangkan.
· Pendeteksian tepi akan mencoba untuk tidak melakukan proses
grayscale sehingga citra akan memiliki warna aslinya dengan tepi yang terdeteksi.
· Rencana membuat warna tepi yang digunakan dalam membatasi
tepi objek di dalam citra dapat disesuaikan dengan pilihan.
6.4. Penerapan Pendeteksian Tepi Citra pada Dunia Nyata
Pendeteksian tepi citra dapat diterapkan pada dunia nyata. Penerapan ini dapat digunakan dalam berbagai bidang antara lain :
· Bidang otomotifà sebagai pengenalan nomor kendaraan bermotor
· Bidang militer à untuk pengenalan bentuk pesawat pada radar
· Bidang industrià sebagai pengenalan suatu benda oleh robot
(1)
1.2.2. Fungsi Produk
Pengolahan citra digital dengan melakukan pendeteksian tepi menggunakan beberapa algoritma memerlukan aplikasi yang mudah digunakan, nyaman, dan lengkapnya error checking dalam mengatasi pengguna yang baru pertama kali menggunakan aplikasi ini. Aplikasi ini memiliki beberapa fungsi utama diantaranya :
1. Melakukan pencocokan citra awal dengan dimensi tertentu terhadap citra yang mengalami perubahan.
2. Menggunakan teknik operator turunan kedua (Laplacian), operator kompas (compass operator), dan operator gradien pertama (differential gradient) dengan algoritma Sobel, Prewitt, Roberts, untuk mendeteksi tepi dari objek suatu citra.
3. Mendeteksi tepi pada citra secara signifikan dengan menghilangkan informasi yang tidak terpakai.
4. Membandingkan kecepatan proses dari setiap operator edge detector dan ukuran file suatu citra awal dengan citra akhir yang telah mengalami pendeteksian tepi.
1.2.3. Karakteristik Pengguna
Aplikasi ini memerlukan adanya pengguna yang dapat menggunakan komputer, mengerti dalam mengoperasikan menumenu dalam aplikasi, memiliki pengalaman memasukkan gambar, mengerti perubahan citra dengan mengolah nilainilai variabel dalam suatu algoritma, mengetahui pengolahan citra digital, mengenal image recognition serta mengetahui penerapan algoritma dalam mengolah citra digital.
Pengguna tidak memerlukan login untuk masuk ke dalam aplikasi ini, sehingga pengguna tidak perlu memahami adanya perbedaan tingkatan hak akses. Karakteristik pengguna lainya yaitu diperlukannya pengguna yang memahami pendeteksian tepi untuk suatu implementasi citra digital.
(2)
1.2.4. Batasan
Pada tugas akhir ini penulis akan merancang dan membuat aplikasi Pendeteksian Tepi Citra dengan Menggunakan Beberapa Algoritma. Batasan masalah dalam aplikasi ini adalah :
· Ketelitian perbandingan kualitas setiap citra hasil dari pendeteksian tepi menggunakan suatu algoritma hanya akan dibandingkan oleh mata manusia secara visual saja.
· Aplikasi untuk pendeteksian tepi menggunakan Visual Studio .Net 2005 dengan bahasa pemrograman C#.
· Hardware yang direkomendasikan yaitu PC dengan Pentium III 800Mhz, RAM 256 Mb, Hard Disk 20 Gb, VGA 32 Mb, sistem operasi Windows XP SP2.
· Aplikasi tidak berbasiskanclient server.
· Aplikasi tidak menggunakandatabase untuk menyimpan citra. 1.2.5. Asumsi dan Ketergantungan
Penulis membuat aplikasi pendetesian tepi citra, sehingga diperlukan adanya citra yang jelas agar mendukung kinerja aplikasi ini. Citra yang digunakan berformat .BMP, .JPG, .TIF, .PNG, .GIF. Citra pada aplikasi ini dapat disimpan dengan format .BMP, .JPG, .PNG.
1.2.6. Penundaan persyaratan
Aplikasi ini tidak adanya penundaan persyaratan. Pengguna dapat menggunakan aplikasi ini untuk pendeteksian tepi citra dengan menggunakan beberapa algoritma.
(3)
BAB VI
KESIMPULAN DAN SARAN
6.1. Keterkaitan antara Kesimpulan dengan Hasil Evaluasi
Setelah melakukan evaluasi dengan test case dan mencoba mengaplikasikannya dengan berbagai macam citra, aplikasi pendeteksian tepi dapat mendeteksi tepi sesuai operator algoritma yang digunakan. Maka dari hasil evaluasi dapat ditarik beberapa kesimpulan antara lain :
· Aplikasi pendeteksian tepi citra dapat mendeteksi tepi objek yang berada pada citra sesuai algoritma tertentu.
· Perbandingan kecepatan proses algoritma dan ukuran file citra juga tergantung kecepatan suatu processor pada komputer pengguna · Pendeteksian tepi citra dengan operator Roberts menggunakan
matriks 2x2 sehingga tepi citra yang terdeteksi lebih tipis dari pada operator algoritma lainnya.
· pendeteksian tepi dengan matriks 2x2 dan 3x3 tidak akan dapat mendeteksi tepi citra pada pixel ujung.
· Aplikasi dapat membandingkan hasil dari citra terhadap setiap algoritma yang digunakan. Perbandingan kecepatan dan ukuranfile citra dilakukan dengan spesifikasi komputer sebagai berikut :
1. Pentium III 800 Mhz 2. RAM 256 Mb 3. Hard Disk 20 Gb 4. VGA 32 Mb
Tabel perbandingan hasil citra algoritma Sobel Nama citra Ukuran
dimensi Citra
Ukuranfile citra awal (bytes)
Kecepatan proses (ms)
Ukuranfile citra hasil (bytes)
Wtc1.jpg 400 x 474 30263 190 62882
(4)
sample.jpg 400 x 300 49554 120 24195
East Rd.05.jpg 400 x 360 70745 140 48427
sample20x20.jpg 20 x 20 22774 10 950
Tabel 6.1. Tabel perbandingan hasil citra algoritma Sobel Tabel perbandingan hasil citra algoritma Prewitt Nama citra Ukuran dimensi Citra Ukuranfile citra awal (bytes) Kecepatan proses (ms) Ukuranfile citra hasil (bytes)
Wtc1.jpg 400 x 474 30263 190 58193
Lena_Orig.jpg 352 x 352 88407 120 37708
sample.jpg 400 x 300 49554 120 22597
East Rd.05.jpg 400 x 360 70745 140 44154
sample20x20.jpg 20 x 20 22774 10 949
Tabel 6.2. Tabel perbandingan hasil citra algoritma Prewitt Tabel perbandingan hasil citra algoritma Roberts Nama citra Ukuran dimensi Citra Ukuranfile citra awal (bytes) Kecepatan proses (ms) Ukuranfile citra hasil (bytes)
Wtc1.jpg 400 x 474 30263 130 42444
Lena_Orig.jpg 352 x 352 88407 70 25577
sample.jpg 400 x 300 49554 70 14912
East Rd.05.jpg 400 x 360 70745 90 31572
sample20x20.jpg 20 x 20 22774 10 939
Tabel 6.3. Tabel perbandingan hasil citra algoritma Roberts Tabel perbandingan hasil citra algoritma Compass Nama citra Ukuran dimensi Citra Ukuranfile citra awal (bytes) Kecepatan proses (ms) Ukuranfile citra hasil (bytes)
Wtc1.jpg 400 x 474 30263 160 54537
Lena_Orig.jpg 352 x 352 88407 100 32462
sample.jpg 400 x 300 49554 90 19836
(5)
sample20x20.jpg 20 x 20 22774 10 948 Tabel 6.4. Tabel perbandingan hasil citra algoritma Compass Tabel perbandingan hasil citra algoritma Laplace
Nama citra Ukuran dimensi Citra
Ukuranfile citra awal (bytes)
Kecepatan proses (ms)
Ukuranfile citra hasil (bytes)
Wtc1.jpg 400 x 474 30263 170 72645
Lena_Orig.jpg 352 x 352 88407 100 26569
sample.jpg 400 x 300 49554 100 63490
East Rd.05.jpg 400 x 360 70745 120 58599
sample20x20.jpg 20 x 20 22774 10 931
Tabel 6.5. Tabel perbandingan hasil citra algoritma Laplace
6.2. Keterkaitan antara Saran dengan Hasil Evaluasi
Saran yang didapatkan setelah hasil evaluasi untuk pengembangan ataupun perbaikan aplikasi dimasa yang akan datang. Saran tersebut antara lain adalah :
· Pendeteksian tepi citra dapat mendeteksi tepi citra pada pixel ujung.
· Penghilangan tepi palsu sehingga tepi citra lebih akurat.
· Aplikasi dapat menghasilkan pendeteksian tepi citra berwarna sehingga tampak citra berupa warna aslinya.
· Aplikasi dapat menentukan warna tepi yang digunakan dalam membatasi tepi objek di dalam citra.
· Aplikasi dapat mendeteksi tepi citra hanya pada area yang di zoom atau di seleksi.
6.3. Rencana Perbaikan / Implementasi terhadap Saran yang
Diberikan
(6)
· Rencana membuat matriks dengan bobot kecil sehingga tepi citra pada pixel ujung dapat terdeteksi.
· Perbaikan dengan membuat rumus untuk memperjelas bobot tepi sehingga tepi palsu dapat dihilangkan.
· Pendeteksian tepi akan mencoba untuk tidak melakukan proses grayscale sehingga citra akan memiliki warna aslinya dengan tepi yang terdeteksi.
· Rencana membuat warna tepi yang digunakan dalam membatasi tepi objek di dalam citra dapat disesuaikan dengan pilihan.
6.4. Penerapan Pendeteksian Tepi Citra pada Dunia Nyata
Pendeteksian tepi citra dapat diterapkan pada dunia nyata. Penerapan ini dapat digunakan dalam berbagai bidang antara lain :
· Bidang otomotifà sebagai pengenalan nomor kendaraan bermotor
· Bidang militer à untuk pengenalan bentuk pesawat pada radar
· Bidang industrià sebagai pengenalan suatu benda oleh robot