Blog Archives
Pengenalan Warna Objek
Komponen Hue dari citra HSV (Hue, Saturation, Value) merupakan suatu komponen yang merepresentasikan warna dari panjang gelombang cahaya tampak (merah, jingga, kuning, hijau, biru, ungu). Oleh karena itu, komponen ini dapat digunakan sebagai acuan untuk melakukan pengenalan warna suatu objek pada citra digital.
Berikut ini merupakan contoh pengolahan citra digital untuk melakukan pengenalan warna suatu objek berdasarkan komponen Hue.
Langkah-langkah pengolahan citra dan pemrograman MATLAB yang dilakukan adalah sebagai berikut:
1. Membaca citra RGB asli
clc; clear; close all; I = imread('stabilo.jpg'); figure, imshow(I);
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.
Ekstraksi Ciri Citra Grayscale
Ekstraksi ciri merupakan tahapan yang sangat penting dalam pengenalan pola. Tahapan ini bertujuan untuk memperoleh informasi yang terkandung dalam suatu citra untuk kemudian dijadikan sebagai acuan untuk membedakan antara citra yang satu dengan citra yang lain.
Ekstraksi ciri dapat dilakukan setelah tahapan segmentasi citra (memisahkan antara objek dengan background) maupun tanpa segmentasi citra (objek adalah background dan background adalah objek).
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan ekstraksi ciri citra grayscale baik yang didahului dengan tahapan segmentasi maupun tidak.
Langkah-langkah pemrogramannya yaitu:
A. Ekstraksi ciri didahului dengan segmentasi
1. Membaca dan menampilkan citra RGB asli
clc; clear; close all; warning off all; I = imread('candy.png'); figure, imshow(I);
Jaringan Syaraf Tiruan untuk Identifikasi Jenis Bunga
Jaringan syaraf tiruan (neural network) merupakan algoritma yang mampu melakukan identifikasi suatu kelas berdasarkan ciri masukan yang diberikan. Algoritma ini akan melatihkan ciri masukan yang diberikan pada masing-masing kelas sehingga diperoleh suatu arsitektur jaringan dan bobot-bobot awal yang mampu memetakan ciri masukan ke dalam kelas keluaran.
Terdapat banyak jenis jaringan syaraf tiruan, di antaranya adalah backpropagation, perceptron, probablistik neural network, radial basis network, dll.
Berikut ini merupakan contoh aplikasi pemrograman matlab (menggunakan matlab r2015b) untuk mengidentifikasi jenis bunga menggunakan algoritma jaringan syaraf tiruan radial basis function (rbfnn). Pada proses pelatihan jaringan digunakan 100 citra latih yang terdiri dari 50 citra bunga dengan jenis kansas state flower dan 50 citra bunga berjenis marguerite daisy. Sedangkan pada proses pengujian digunakan 60 citra uji yang terdiri dari 30 citra bunga kansas state flower dan 50 citra bunga marguerite daisy.
Contoh citra bunga yang digunakan ditunjukkan pada gambar berikut.
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
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.
Jaringan Syaraf Tiruan Untuk Pengenalan Pola
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk mengklasifikasi bentuk suatu objek dalam citra digital menggunakan algoritma jaringan syaraf tiruan propagasi balik (backpropagation neural network).
Pada contoh ini dilakukan pengklasifikasian terhadap bentuk segi-3, segi-4, dan segi-5. Ciri yang digunakan untuk membedakan ketiga jenis bentuk tersebut adalah metric dan eccentricity.
Metric merupakan nilai perbandingan antara luas dan keliling objek. Sedangkan eccentricity merupakan nilai perbandingan antara jarak foci ellips minor dengan foci ellips mayor suatu objek. (Materi mengenai ekstraksi ciri lebih lanjut dapat dilihat pada laman berikut ini: Ekstraksi Ciri Citra).
Langkah-langkah pemrograman matlab untuk mengklasifikasi bentuk suatu objek dalam citra digital menggunakan matlab adalah sebagai berikut:
1. Menyiapkan data latih untuk proses pelatihan (training). Pada proses ini digunakan 45 citra data latih yang terdiri dari 15 citra segi-3, 15 citra segi-4, dan 15 citra segi-5.
Ekualisasi Histogram pada Citra Digital
Histogram Citra merupakan diagram yang menunjukkan distribusi nilai intensitas cahaya pada suatu citra. Pada histogram, sumbu-x menyatakan nilai intensitas piksel sedangkan sumbu-y menyatakan frekuensi kemunculan piksel. Dalam bidang pengolahan citra digital, terkadang perlu dilakukan pre-processing yang merupakan proses perbaikan kualitas citra dengan tujuan untuk memudahkan manusia atau komputer untuk merepresentasikan citra. Salah satu metode perbaikan kualitas citra adalah perataan histogram atau yang sering disebut sebagai histogram equalization.
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan ekualisasi histogram citra secara manual.
Langkah-langkahnya adalah:
1. Membaca citra grayscale
clc;clear;close all; I = imread('pout.tif'); figure, imshow(I); title('Original Image')
Algoritma k-means clustering dan Naive Bayes classifier untuk Pengenalan Pola Tesktur
K-means Clustering merupakan salah satu metode data clustering non hirarki yang berusaha mempartisi data yang ada ke dalam satu atau lebih cluster/kelompok. Metode ini mempartisi data ke dalam cluster/kelompok sehingga data yang memiliki karakteristik yang sama dikelompokkan ke dalam satu cluster yang sama dan data yang mempunyai karakteristik yang berbeda dikelompokkan ke dalam kelompok yang lain.
Sedangkan Naive Bayes Classifier merupakan salah satu metode machine learning yang memanfaatkan perhitungan probabilitas dan statistik. Metode ini dikemukakan oleh ilmuwan Inggris yaitu Thomas Bayes untuk memprediksi probabilitas di masa depan berdasarkan pengalaman di masa sebelumnya.
Berikut ini merupakan contoh aplikasi pemrograman matlab (menggunakan Matlab R2015b) mengenai pola tekstur citra menggunakan algoritma k-means clustering dan naive bayes classifier. Citra yang digunakan adalah citra tekstur Brodatz sejumlah 112 buah seperti tampak pada gambar di bawah ini: