Blog Archives
Mendeteksi Objek yang Berbentuk Lingkaran
Bentuk merupakan salah satu ciri yang dapat diekstrak dari suatu objek. Ciri ini dapat digunakan untuk membedakan antara objek yang satu dengan lainnya. Berikut ini merupakan contoh aplikasi pengolahan citra untuk mendeteksi objek yang berbentuk lingkaran. Salah satu parameter yang dapat digunakan untuk mendefinisikan bentuk lingkaran adalah metric. Metric merupakan nilai perbandingan antara luas dan keliling suatu objek. Nilai metric berkisar antara 0 s.d 1. Objek yang berbentuk lingkaran, nilai metric nya mendekati angka satu. Materi lebih lanjut mengenai nilai metric dapat dilihat pada halaman berikut ini: Ekstraksi Ciri
Langkah-langkah pengolahan citra dan pemrograman MATLAB yang dilakukan untuk mendeteksi objek yang berbentuk lingkaran adalah:
1. Membaca citra RGB asli
clc; clear; close all; I = imread('shape object.jpg'); figure, imshow(I);

Pencocokan Citra
Pencocokan citra (image matching) merupakan salah satu bagian dari pengolahan citra yang dilakukan untuk mencari citra lain yang sejenis atau memiliki kemiripan. Salah satu parameter yang merepresentasikan tingkat kemiripan antara dua buah citra adalah jarak euclidean. Semakin kecil jarak euclidean antara dua buah citra maka akan semakin mirip kedua citra tersebut. Persamaan untuk menghitung jarak euclidean adalah sebagai berikut:
Jarak euclidean dapat dihitung berdasarkan ciri khusus yang dimiliki oleh suatu citra. Ciri tersebut di antaranya adalah ciri warna, ciri tekstur, ciri bentuk, ciri geometri, dan ciri ukuran.
Berikut ini merupakan contoh aplikasi sistem pencocokan citra menggunakan jarak euclidean berdasarkan pada ciri warna. Ciri warna dihitung pada ruang warna HSV yang terdiri dari komponen Hue, Saturation, dan Value. Sistem pencocokan citra diimplementasikan dalam bentuk tampilan GUI menggunakan bahasa pemrograman MATLAB.
Langkah-langkah pemrogramannya adalah sebagai berikut:
1. Mempersiapkan data base citra
Thresholding Citra
Citra digital merupakan representasi dari fungsi intensitas cahaya dalam bidang dua dimensi. Berdasarkan jenis warnanya, citra dapat dikelompokkan menjadi tiga jenis yaitu citra RGB, citra grayscale, dan citra biner.
Citra RGB |
Citra Grayscale |
Citra Biner |
![]() |
![]() |
![]() |
Citra RGB merupakan citra yang tersusun oleh tiga kanal warna yaitu kanal merah, kanal hijau, dan kanal biru. Pada citra RGB 24-bit, masing-masing kanal warna memiliki nilai intensitas piksel dengan kedalaman bit sebesar 8-bit yang artinya memiliki variasi warna sebanyak 2^8 = 256 derajat warna (0 s.d 255). Setiap piksel pada citra RGB memiliki nilai intensitas yang merupakan kombinasi dari nilai R, G, dan B. Variasi warna pada setiap piksel pada citra RGB adalah sebanyak 256 x 256 x 256 = 16.777.216.
Segmentasi Citra dengan Metode Thresholding
Thresholding merupakan salah satu metode segmentasi citra yang memisahkan antara objek dengan background dalam suatu citra berdasarkan pada perbedaan tingkat kecerahannya atau gelap terang nya. Region citra yang cenderung gelap akan dibuat semakin gelap (hitam sempurna dengan nilai intensitas sebesar 0), sedangkan region citra yang cenderung terang akan dibuat semakin terang (putih sempurna dengan nilai intensitas sebesar 1). Oleh karena itu, keluaran dari proses segmentasi dengan metode thresholding adalah berupa citra biner dengan nilai intensitas piksel sebesar 0 atau 1. Setelah citra sudah tersegmentasi atau sudah berhasil dipisahkan objeknya dengan background, maka citra biner yang diperoleh dapat dijadikan sebagai masking utuk melakukan proses cropping sehingga diperoleh tampilan citra asli tanpa background atau dengan background yang dapat diubah-ubah.
Berikut ini merupakan contoh pemrograman matlab mengenai aplikasi dari metode thresholding untuk melakukan segmentasi terhadap citra digital. Setelah objek berhasil disegmentasi, proses selanjutnya adalah mengganti-ganti background citra rgb asli
Langkah pemrogramannya adalah sebagai berikut:
1. Membaca dan menampilkan citra asli
clc; clear; close all; % Object Img = imread('the mario bros.jpg'); figure, imshow(Img);
Pengolahan Citra untuk Ekstraksi Ciri Objek
Ekstraksi ciri citra merupakan tahapan mengekstrak ciri atau informasi yang dimiliki oleh suatu objek dalam citra. Ciri atau informasi tersebut dapat digunakan untuk membedakan antara objek yang satu dengan objek lainnya.
Ekstraksi ciri citra merupakan tahapan yang sangat penting dalam sebuah sistem visi komputer. Tahapan ini menentukan baik tidaknya tingkat pengenalan objek yang dilakukan oleh komputer.
Dalam pemilihan ciri hendaknya memperhatikan hal-hal sebagai berikut:
- Secara visual, ciri apakah yang membedakan antara objek satu dengan lainnya. Apakah bentuknya, warnanya, teksturnya, ukurannya, atau geometrinya.
- Parameter apakah yang mewakili ciri tersebut. Misalnya secara visual antara objek satu dengan lainnya tampak berbeda ukurannya, maka parameter yang dapat digunakan untuk mengenali objek adalah luas.
- Menentukan jumlah parameter yang akan digunakan. Semakin banyak parameter pada umumnya tingkat pengenalan semakin baik. Namun harus dipastikan bahwa parameter-parameter yang digunakan benar-benar dapat membedakan antar objek.
Ciri yang diekstrak dalam tahapan ekstraksi ciri kemudian digunakan sebagai masukan dalam tahapan klasifikasi objek. Tahapan klasifikasi dapat menggunakan berbagai jenis algoritma ataupun dapat juga menggunakan aturan if else sederhana.
Berikut ini merupakan contoh aplikasi pemrograman komputer menggunakan bahasa pemrograman MATLAB untuk melakukan ekstraksi ciri objek dalam citra digital. Citra yang digunakan adalah citra ‘sand play set.jpg’ yang ditunjukkan pada gambar di bawah ini:
Pengolahan Citra untuk Deteksi Warna Kulit (Skin Detection)
Deteksi warna kulit (skin color detection) merupakan salah satu proses segmentasi yang memisahkan region objek dalam citra berdasarkan pada perbedaan warna. Objek yang memiliki warna tertentu dipisahkan dengan objek yang memiliki warna lainnya. Hasil segmentasi dapat digunakan untuk proses selanjutnya seperti ekstraksi ciri atau klasifikasi citra. Pada contoh ini, warna kulit didefiniskan dalam ruang warna YCbCr dengan nilai Cb antara 77 s.d 127 dan nilai Cr antara 133 s.d 173.
Deteksi warna kulit merupakan salah satu tahapan awal dalam computer vision untuk mendeteksi hal-hal yang berkaitan dengan manusia (people detection). Deteksi warna kulit dapat dijadikan sebagai metode segmentasi untuk pengenalan wajah (face recognition) maupun pengenalan organ tubuh lainnya. Sistem tersebut dapat dikembangkan lebih lanjut untuk sistem biometrik.
Langkah-langkah proses segmentasi warna kulit adalah sebagai berikut:
1. Melakukan penyeimbangan warna RGB (Color Balanced 24-bit RGB Image)
2. Melakukan transformasi ruang warna RGB menjadi YCbCr
3. Melakukan segmentasi warna kulit berdasarkan nilai Cb antara 77 s.d 127 dan nilai Cr antara 133 s.d 173
4. Menampilkan hasil segmentasi
Hasil segmentasi ditunjukkan pada gambar berikut:
No | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Citra Asli | Â Â Â Â Hasil Deteksi Warna Kulit |
1 | ![]() |
![]() |
2 | ![]() |
![]() |
3 | ![]() |
![]() |
4 | ![]() |
![]() |