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:
Langkah-langkah pemrogramannya adalah sebagai berikut:
1. Membaca dan menampilkan citra asli
clc; clear; close all; I = imread('sand play set.jpg'); figure, imshow(I);
2. Mengkonversi citra rgb asli menjadi grayscale
J = rgb2gray(I); figure, imshow(J);
3. Mengkonversi citra grayscale menjadi citra biner
K = im2bw(J,.9); figure, imshow(K);
4. Melakukan komplemen citra agar objek berwarna putih sedangkan background berwarna hitam
L = imcomplement(K); figure, imshow(L);
5. Melakukan operasi morfologi pengisian lubang (filling holes) agar bentuk objek menjadi utuh
M = imfill(L,'holes'); figure, imshow(M);
6. Melakukan ekstraksi ciri berdasarkan parameter area, panjang axis mayor, dan panjang axis minor
cc = bwconncomp(M); num = cc.NumObjects; s = regionprops(cc,'all'); bbox = zeros(num,4); centroid = zeros(num,2); area = zeros(num,1); MajorAxisLength = zeros(num,1); MinorAxisLength = zeros(num,1); for n = 1:num bbox(n,:) = s(n).BoundingBox; area(n) = s(n).Area; MajorAxisLength(n) = s(n).MajorAxisLength; MinorAxisLength(n) = s(n).MinorAxisLength; crop_im = imcrop(I,bbox(n,:)); figure, imshow(crop_im); title({strcat(['Object Number ',num2str(n)]);... strcat(['Area = ',num2str(area(n))]);... strcat(['MajorAxisLength = ',num2str(MajorAxisLength(n))]);... strcat(['MinorAxisLength = ',num2str(MinorAxisLength(n))])}) end
sehingga diperoleh tampilan sebagai berikut
7. Menampilkan objek yang memiliki luas maksimum, luas minimum, panjang axis mayor terpanjang, panjang axis minor terpendek
File source code lengkap beserta citra pada pemrograman di atas dapat diperoleh melalui halaman berikut ini: Source Code
Posted on February 10, 2017, in Pengolahan Citra and tagged aplikasi matlab, aplikasi pengolahan citra, citra adalah, citra biner adalah, Citra Digital, citra grayscale adalah, citra rgb adalah, contoh koding ekstraksi ciri, contoh pengolahan citra, contoh program ekstraksi ciri, ekstraksi ciri adalah, ekstraksi ciri bentuk matlab, ekstraksi ciri citra, pengolahan citra, pengolahan citra adalah, pengolahan citra digital adalah, pengolahan citra sederhana. Bookmark the permalink. 5 Comments.
saya mau nanya.. kalo mau mencari panjang dan lebar sebuah objek citra bagaimana ya?
panjang dapat dicari menggunakan persamaan xmax-xmin, sedangkan lebar dicari menggunakan persamaan ymax-ymin, di mana (xmax, ymax) adalah koordinat piksel penyusun objek yang bernilai maksimal dan (xmiin, ymin) adalah koordinat piksel penyusun objek yang bernilai minimal
pertanyaan saya sama dengan mbak nia mas ady ? apakah ada contoh code untuk mencari panjang dan lebar objek citra ?
dalam menentukkan koordinat piksel tersebut, apakah citra harus dalam bentuk biner?
dalam menentukan koordinat piksel objek secara otomatis, citra harus dalam bentuk biner