• Tidak ada hasil yang ditemukan

BAB 4 PERANCANGAN DAN IMPLEMENTASI

2.4 Image Processing

Image Processing atau pengolahan citra adalah bidang tersendiri yang sudah cukup berkembang sejak orang mengerti bahwa computer tidak hanya dapat menangani data teks, tetapi juga citra (Ahmad, 2005). Teknik-teknik pengolahan citra biasanya digunakan untuk melakukan transformasi dari suatu citra kepada citra yang lain, sementara tugas perbaikan informasi terletak pada manusia melalui penyusunan algoritmanya.

Pengolahan citra merupakan bagian penting yang mendasari berbagai aplikasi nyata, seperti pengenalan pola, penginderaan jarak-jauh melalui satelit atau pesawat udara, dan machine vision (Kadir & Susanto, 2013). Pada pengenalan pola, pengolahan citra antara lain berperan untuk memisahkan objek dari latar belakang secara otomatis. Selanjutnya, objek

30 | P a g e akan diproses oleh pengklasifikasi pola. Sebagai contoh, sebuah objek buah bisa dikenali sebagai jeruk, apel, atau pepaya. Pada penginderaan jarak jauh, tekstur atau warna pada citra dapat dipakai untuk mengidentifikasi objek-objek yang terdapat di dalam citra. Pada machine vision (sistem yang dapat “melihat” dan “memahami” yang dilihatnya), pengolahan citra berperan dalam mengenali bentuk-bentuk khusus yang dilihat oleh mesin. Penggunaan kamera pemantau ruangan merupakan contoh bagian aplikasi pemrosesan citra. Perubahan gerakan yang ditangkap melalui citra dapat menjadi dasar untuk melakukan pelaporan situasi yang terekam. Beberapa teknik pengolahan citra adalah sebagai berikut (Kadir, 2013) :

2.4.1. Membaca Citra

Untuk kepentingan memudahkan dalam memahami hasil proses pengolahan citra, Anda perlu mengenal perintah yang berguna untuk membaca citra yang tersimpan dalam bentuk file. Proses ini diperlukan untuk dapat membaca citra agar dapat dilakukan proses selanjutnya. 2.4.2. Operasi Geometrik

Operasi geometrik adalah operasi pada citra yang dilakukan secara geometris seperti translasi, rotasi, dan penyekalaan. Pada operasi seperti ini terdapat pemetaan geometrik, yang menyatakan hubungan pemetaan antara piksel pada citra masukan dan piksel pada citra keluaran. Salah satu proses pada operasi geometric adalah “Memperkecil Citra”. Secara prinsip, pengecilan citra berarti mengurangi jumlah piksel pada citra yang akan diproses.

31 | P a g e 2.4.3. Segmentasi Citra

Segmentasi citra merupakan proses yang ditujukan untuk mendapatkan objek-objek yang terkandung di dalam citra atau membagi citra ke dalam beberapa daerah dengan setiap objek atau daerah memiliki kemiripan atribut. Pada citra yang mengandung hanya satu objek, objek dibedakan dari latar belakangnya. Segmentasi juga biasa dilakukan sebagai langkah awal untuk melaksanakan klasifikasi objek.

Teknik segmentasi citra didasarkan pada dua properti dasar nilai aras keabuan: ketidaksinambungan dan kesamaan antarpiksel. Pada bentuk yang pertama, pemisahan citra didasarkan pada perubahan mendadak pada aras keabuan. Contoh yang menggunakan pendekatan seperti itu adalah detektor garis dan detektor tepi pada citra.

Segmentasi Citra Ekstraksi Fitur Pengklasifikasi Citra masukan Objek daun Fitur-fitur pada daun Jenis tanaman

32 | P a g e 2.4.4. Konversi Citra Berskala Keabuan

Dalam praktik, seringkali diperlukan utuk mengonversi citra berwarna ke dalam bentuk citra berskala keabuan mengingat banyak pemrosesan citra yang bekerja pada skala keabuan. Namun, terkadang citra berskala keabuan pun perlu dikonversikan ke citra biner, mengingat beberapa operasi dalam pemrosesan citra berjalan pada citra biner. Secara umum citra berwarna dapat dikonversikan ke citra berskala keabuan melalui rumus:

I=a x R+b x G+c x B, a+b+c=1 (2.1)

dengan R menyatakan nilai komponen merah, G menyatakan nilai komponen hijau, dan B menyatakan nilai komponen biru. Misalnya, sebuah piksel mempunyai komponen R, G, B sebagai berikut:

R = 50 G = 70 B = 61

Jika a, b, dan c pada Persamaan 2.1 dibuat sama, akan diperoleh hasil seperti berikut:

I = (50 + 70 + 60) / 3 = 60

Salah satu contoh rumus yang biasa dipakai untuk mengubah ke skala keabuan yaitu:

33 | P a g e 2.4.5. Ekstraksi Fitur

Sebelum membahas fitur-fitur tersebut, dua pengertian dasar akan dibahas, yaitu bentuk, deskriptor dan fitur. Definisi bentuk menurut D.G. Kendall (Stegmann dan Gomez, 2002) adalah infomasi geometris yang tetap ketika efek lokasi, skala, pemutaran dilakukan terhadap sebuah objek. Deskriptor adalah seperangkat parameter yang mewakili karakteristik tertentu objek, yang dapat digunakan untuk menyatakan fitur objek. Adapun fitur dinyatakan dengan susunan bilangan yang dapat dipakai untuk mengidentifikasi objek.

Fitur-fitur suatu objek mempunyai peran yang penting untuk berbagai aplikasi berikut.

 Pencarian citra: Fitur dipakai untuk mencari objek-objek tertentu yang berada di dalam database.

 Penyederhanaan dan hampiran bentuk: Bentuk objek dapat dinyatakan dengan representasi yang lebih ringkas.

 Pengenalan dan klasifikasi: Sejumlah fitur dipakai untuk menentukan jenis objek. Sebagai contoh, fitur citra daun digunakan untuk menentukan nama tanaman.

Untuk kepentingan aplikasi yang telah disebutkan, fitur hendaknya efisien. Fitur yang efisien perlu memenuhi sifat-sifat penting berikut (Mingqiang, dkk., 2008).

34 | P a g e  Teridentifikasi: Fitur berupa nilai yang dapat digunakan untuk

membedakan antara suatu objek dengan objek lain. Jika kedua fitur tersebut didampingkan, dapat ditemukan perbedaan yang hakiki. Hal ini sama seperti kalau dilakukan oleh manusia secara visual.

 Tidak dipengaruhi oleh translasi, rotasi, dan penyekalaan: Dua objek yang sama tetapi berbeda dalam lokasi, arah pemutaran, dan ukuran tetap dideteksi sama.

 Tidak bergantung pada affine: Idealnya, efek affine tidak mempengaruhi fitur.

 Tahan terhadap derau: Fitur mempunyai sifat yang andal terhadap derau atau cacat data. Sebagai contoh, daun yang sama tetapi salah satu sedikit robek tetap dikenali sebagai objek yang sama.

 Tidak bergantung pada tumpang-tindih: Apabila objek sedikit tertutupi oleh objek lain, fitur bernilai sama dengan kalau objek itu terpisah.

 Tidak bergantung secara statistis: Dua fitur harus tidak bergantung satu dengan yang lain secara statistik.

Salah satu bentuk ekstraksi fitur adalah ekstraksi tepi objek (deteksi tepi). Deteksi tepi berfungsi untuk memperoleh tepi objek. Deteksi tepi memanfaatkan perubahan nilai intensitas yang drastis pada batas dua area. Definisi tepi di sini adalah “himpunan piksel yang terhubung yang

35 | P a g e terletak pada batas dua area” (Gonzalez & Woods, 2002). Perlu diketahui, tepi sesungguhnya mengandung informasi yang sangat penting. Informasi yang diperoleh dapat berupa bentuk maupun ukuran objek.

Umumnya, deteksi tepi menggunakan dua macam detektor, yaitu detektor baris (Hy) dan detektor kolom (Hx). Beberapa contoh yang tergolong jenis ini adalaah operator Roberts, Prewitt, Sobel, dan Frei-Chen.

Deteksi tepi dapat dibagi menjadi dua golongan. Golongan pertama disebut deteksi tepi orde pertama, yang bekerja dengan menggunakan turunan atau diferensial orde pertama. Termasuk kelompok ini adalah operator Roberts, Prewitt, dan Sobel. Golongan kedua dinamakan deteksi tepi orde kedua, yang menggunakan turunan orde kedua. Contoh yang termasuk kelompok ini adalah Laplacian of Gaussian (LoG).

2.4.6. Deteksi Tepi Canny

Operator Canny, yang dikemukakan oleh John Canny pada tahun 1986, terkenal sebagai operator deteksi tepi yang optimal. Algoritma ini memberikan tingkat kesalahan yang rendah, melokalisasi titik-titik tepi (jarak piksel-piksel tepi yang ditemukan deteksi dan tepi yang sesungguhnya sangat pendek), dan hanya memberikan satu tanggapan untuk satu tepi.

36 | P a g e Terdapat enam langkah yang dilakukan untuk mengimplementasikan deteksi tepi Canny (Green, 2002). Keenam langkah tersebut dijabarkan berikut ini.

Langkah 1:

Pertama-tama dilakukan penapisan terhadap citra dengan tujuan untuk menghilangkan derau.

Langkah 2:

Setelah penghalusan gambar terhadap derau dilakukan, dilakukan proses untuk mendapatkan kekuatan tepi (edge strength). Hal ini dilakukan dengan menggunakan operator Gaussian.

Selanjutnya, gradien citra dapat dihitung melalui rumus:

GGxGy (2.2)

Langkah 3:

Langkah ketiga berupa penghitungan arah tepi. Rumus yang digunakan untuk keperluan ini:

theta = tan-1(Gy, Gx) (2.3) Langkah 4:

Setelah arah tepi diperoleh, perlu menghubungkan antara arah tepi dengan sebuah arah yang dapat dilacak dari citra. Sebagai contoh, terdapat susunan piksel berukuran 5 x 5 seperti terlihat pada Gambar 2.7. Dengan melihat piksel “a” tampak bahwa a hanya memiliki 4 arah berupa 0o, 45o, 90o, dan 135o.

37 | P a g e

X X X X X

X X X X X

X X a X X

X X X X X

X X X X X

Gambar 2.7 Matriks piksel berukuran 5x5

Selanjutnya, arah tepi yang diperoleh akan dimasukkan ke dalam salah satu kategori dari keempat arah tadi berdasarkan area yang tertera pada Gambar 2.8. Berikut adalah aturan konversi yang berlaku:

        135 90 45 0 arah    

j H j TH ij T i j j HI ij H H i y w f y x w f y ) ( ) ( ) ( ) ( ) ( ) ( (2.4)

45o

135o

90o

Gambar 2.8Area untuk mengonversi arah tepi ke dalam kategori salah satu dari arah 0o, 45o, 90o, dan 135o

38 | P a g e Semua arah tepi yang berkisar antara 0 dan 22,5 serta 157,5 dan 180 derajat (warna biru) diubah menjadi 0 derajat. Semua arah tepi yang berkisar antara 22,5 dan 67,5 derajat (warna kuning) diubah menjadi 45 derajat. Semua arah tepi yang berkisar antara 67,5 dan 112,5 derajat (warna merah) diubah menjadi 90 derajat. Semua arah tepi yang berkisar antara 112,5 dan 157,5 derajat (warna hijau) diubah menjadi 135 derajat.

Langkah 5:

Setelah arah tepi diperoleh, penghilangan non-maksimum dilaksanakan. Penghilangan non-maksimum dilakukan di sepanjang tepi pada arah tepi dan menghilangkan piksel-piksel (piksel diatur menjadi 0) yang tidak dianggap sebagai tepi. Dengan cara seperti itu, diperoleh tepi yang tipis.

Langkah 6:

Langkah keenam berupa proses yang disebut hysteresis. Proses ini menghilangkan garis-garis yang seperti terputus-putus pada tepi objek. Caranya adalah dengan menggunakan dua ambang T1 dan T2. Lalu, semua piksel citra yang bernilai lebih besar daripada T1 dianggap sebagai piksel tepi. Selanjutnya, semua piksel yang terhubung dengan piksel tersebut dan memiliki nilai lebih besar dari T2 juga dianggap sebagai piksel tepi.

Bagian penting yang perlu dijelaskan adalah penghilangan non

-maksimum dan peng-ambangan histeresis. Penghilangan non

-maksimum dilakukan dengan mula-mula menyalin isi larik Grad

(yang berisi besaran gradien) ke Non_max. Selanjutnya, penghilangan

non-maksimum dilaksanakan dengan memperhatikan dua titik tetangga

yang terletak pada arah tepi (yang tersimpan dalam Theta). Misalnya, arah tepi adalah 0. Apabila titik yang menjadi perhatian mempunyai koordinat (r, c), dua titik tetangga berupa (r, c-1) dan (r, c+1). Apabila gradien titik perhatian lebih besar daripada gradien kedua tetangga, nilainya akan dipertahankan. Sebaliknya, jika nilai titik perhatian lebih

39 | P a g e kecil daripada nilai salah satu atau kedua gradien tetangga, nilainya akan diabaikan (diubah menjadi nol). Seluruh kemungkinan proses seperti itu dijabarkan dalam Gambar 2.9.

Arah tepi 135o: if (Grad(i,j) <= Grad(i+1,j+1)) || ... (Grad(i,j) <= Grad(i-1,j-1)) Non_max(i,j) = 0; end Arah tepi 45o: if (Grad(i,j) <= Grad(i-1,j+1)) || ... (Grad(i,j) <= Grad(i+1,j-1)) Non_max(i,j) = 0; end i+1, j-1 i, j i-1, j+1 i, j i-1, j-1 i, j+1 Arah tepi 90o: if (Grad(i,j) <= Grad(i+1,j) ) || ... (Grad(i,j) <= Grad(i-1,j)) Non_max(i,j) = 0; end i, j i-1, j i, j+1 Arah tepi 0o: if (Grad(i,j) <= Grad(i,j+1)) || ... (Grad(i,j)<= Grad(i,j-1)) Non_max(i,j) = 0; end i, j-1 i, j i, j+1

Gambar 2.9 Penghilangan non-maksimum

Peng-ambangan histeresis dilakukan dengan melibatkan dua ambang T1 (ambang bawah) dan ambang T2 (ambang atas). Nilai yang kurang dari T1 akan diubah menjadi hitam (nilai 0) dan nilai yang lebih dari T2 diubah menjadi putih (nilai 255). Lalu, bagaimana nilai yang lebih dari atau sama dengan T1 tetapi kurang dari T2? Oleh karena itu, untuk sementara nilai pada posisi seperti itu diberi nilai 128, yang menyatakan nilai abu-abu atau belum jelas, akan dijadikan 0 atau 255.

Selanjutnya, dilakukan pengujian untuk mendapatkan kondisi seperti tercantum pada Gambar 2.10. Apabila kondisi seperti itu terpenuhi, angka 128 diubah menjadi 255. Proses pengujian seperti itu dilakukan sampai tidak ada lagi perubahan dari nilai 128 menjadi 255. Tahap selanjutnya, semua piksel yang bernilai 128 yang tersisa diubah menjadi nol.

40 | P a g e 255 255 255 128 255 255 255 255 255 255 255 255 255 255 255 255 255 255 j-1 j j+1 i-1 i i+1

Gambar 2.10Pengujian untuk mengubah nilai 128 menjadi 255 2.4.7. Mengetahui Ukuran Citra

Citra digital dibentuk oleh kumpulan titik yang dinamakan piksel (pixel atau “picture element”). Setiap piksel digambarkan sebagai satu kotak kecil. Setiap piksel mempunyai koordinat posisi. Sistem koordinat yang dipakai untuk menyatakan citra digital ditunjukkan pada Gambar 2.11.

0 N-1

M-1 0

x

y

Posisi sebuah piksel

Gambar 2.11 Sistem koordinat citra berukuran M x N (M baris dan N kolom)

41 | P a g e Dengan sistem koordinat yang mengikuti asas pemindaian pada layar TV standar itu, sebuah piksel mempunyai koordinat berupa

(x, y) Dalam hal ini,

 x menyatakan posisi kolom;  y menyatakan posisi baris;

 piksel pojok kiri-atas mempunyai koordinat (0, 0) dan piksel pada pojok kanan-bawah mempunyai koordinat (N-1, M-1). 2.4.8. Konversi Citra Biner

Strategi yang dipakai yaitu dengan menerapkan suatu nilai yang dikenal sebagai nilai ambang (threshold). Nilai tersebut dipakai untuk menentukan suatu intensitas akan dikonversikan menjadi 0 atau menjadi 1. Secara matematis, konversi dinyatakan dengan rumus:

� = { , � ≥, � < (2.5)

Dokumen terkait