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:

  1. Secara visual, ciri apakah yang membedakan antara objek satu dengan lainnya. Apakah bentuknya, warnanya, teksturnya, ukurannya, atau geometrinya.
  2. 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.
  3. 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 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);

sehingga diperoleh tampilan

2. Mengkonversi citra rgb asli menjadi grayscale

J = rgb2gray(I);
figure, imshow(J);

hasil yang diperoleh

3. Mengkonversi citra grayscale menjadi citra biner

K = im2bw(J,.9);
figure, imshow(K);

Citra biner yang diperoleh

4. Melakukan komplemen citra agar objek berwarna putih sedangkan background berwarna hitam

L = imcomplement(K);
figure, imshow(L);

Citra hasil komplemen

5. Melakukan operasi morfologi pengisian lubang (filling holes) agar bentuk objek menjadi utuh

M = imfill(L,'holes');
figure, imshow(M);

Citra hasil operasi morfologi

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

Source code dan citra pada pemrograman di atas dapat diperoleh pada halaman berikut ini: Source Code

Posted on February 10, 2017, in Pengolahan Citra and tagged , , , , , , , , , , , , , , , , . Bookmark the permalink. 5 Comments.

  1. 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 ?

  2. dalam menentukkan koordinat piksel tersebut, apakah citra harus dalam bentuk biner?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: