Blog Archives
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
Segmentasi Citra Grayscale dengan Metode K-Means Clustering
K-means clustering merupakan salah satu algoritma yang dapat mempartisi data menjadi beberapa region kluster. Proses partisi data didasarkan pada jarak terdekat antara data dengan centroid masing-masing kluster. Berikut ini merupakan salah satu contoh aplikasi pemrograman matlab mengenai segmentasi citra grayscale dengan metode k-means clustering. File citra yang digunakan adalah ‘cat.jpg’ di mana objek yang ingin disegmentasi adalah berupa hewan kucing, sedangkan background adalah berupa rumput.
Langkah-langkah segmentasi citra adalah sebagai berikut:
1. Membaca citra rgb asli
Pengolahan Video untuk Mendeteksi Warna
Deteksi warna dapat dilakukan dengan cara melakukan transformasi ruang warna citra. Berikut ini merupakan contoh aplikasi pemrograman matlab mengenai deteksi warna merah pada ruang warna HSV yang terdiri dari Hue (H), Saturation (S), dan Value (V). Langkah-langkah pemrogramannya adalah sebagai berikut:
1. Membaca video asli
2. Mengekstrak setiap frame pada video asli
3. Melakukan transformasi ruang warna yang semula berada pada ruang warna RGB menjadi ruang warna HSV
4. Melakukan segmentasi warna merah pada ruang warna HSV berdasarkan nilai H (0.8 s.d 1), S (0.5 s.d 1) dan V (0.1 s.d 1)
5. Menjalankan seluruh frame hasil pengolahan secara sekuensial dalam bentuk video
Pada contoh ini digunakan video dengan spesifikasi:
Property | Nilai |
Title | August Rush 2007.mp4 |
Durasi | 5 detik |
Panjang frame | 640 |
Lebar frame | 480 |
Frame rate | 23 frame/ detik |
Jumlah frame | 119 |
Segmentasi Pola Tekstur menggunakan Filter Gabor
Kemampuan sistem visual manusia dalam membedakan pola tekstur didasarkan pada kapabilitas dalam mengidentifikasikan berbagai frekuensi dan orientasi spasial dari tekstur yang diamati.
Filter Gabor merupakan salah satu filter yang mampu mensimulasikan karakteristik sistem visual manusia dalam mengisolasi frekuensi dan orientasi tertentu dari citra.
Karakteristik ini membuat filter Gabor sesuai untuk aplikasi pengenalan tekstur dalam bidang computer vision.
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan segmentasi pola tekstur dari suatu citra menggunakan filter Gabor. Koding dapat dijalankan minimal menggunakan Matlab R2015b.
Langkah-langkah pemrogramannya yaitu:
1. Membaca dan menampilkan citra asli
clc;clear;close all; % Read the image I = imread('metal texture.jpg'); figure,imshow(I); title('Original Image');
sehingga diperoleh tampilan
Segmentasi Warna menggunakan Algoritma Fuzzy C-Means Clustering
Fuzzy c-means clustering merupakan algoritma klustering yang mempartisi data berdasarkan pada jarak antara data masukan dengan pusat kluster terdekat. Sama seperti pada algoritma k-means clustering, pusat cluster selalu diupdate berulang-ulang hingga dihasilkan pembagian kluster yang optimal. Pada algoritma ini, perulangan didasarkan pada minimisasi fungsi objektif.
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan segmentasi warna suatu citra digital menggunakan algoritma fuzzy c-means clustering. Citra yang digunakan adalah citra sky-grass.jpg yang memuat dua buah objek yaitu langit dan rumput seperti 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 | ![]() |
![]() |