Deteksi Titik Sudut Citra Untuk Identifikasi Bentuk


Proses identifikasi bentuk pada citra digital salah satunya dapat dilakukan dengan cara melakukan deteksi terhadap jumlah garis dan titik sudut penyusun objek dalam citra. Berikut ini merupakan contoh pemrograman matlab mengenai deteksi garis dan titik sudut menggunakan transformasi Hough.

Langkah-langkahnya adalah sebagai berikut:
1. Membaca, meresize, dan menampilkan citra

clc; clear; close all; warning off all;

% baca & resize citra
I = imread('bintang.jpg');
I = imresize(I,0.2);

% menampilkan citra asli
figure,imshow(I);
title('Citra Asli');

2. Melakukan segmentasi citra dengan metode thresholding


% segmentasi citra
bw = im2bw(I,.82);
bw2 = bwperim(bw);

% menampilkan citra hasil segmentasi
figure,imshow(bw);
title('Hasil Segmentasi');


3. Melakukan deteksi garis menggunakan transformasi hough

% deteksi garis dengan transformasi hough
[H,theta,s] = hough(bw2,'Theta',-90:0.5:89);
P = houghpeaks(H,100,'threshold',ceil(0.3*max(H(:))));
lines = houghlines(bw2,theta,s,P,'FillGap',10,'MinLength',2);

% menampilkan citra hasil deteksi garis
figure,imshow(I);
title('Hasil Deteksi Garis');

hold on
xy2 = [];
for k = 1:length(lines)
    xy = [lines(k).point1; lines(k).point2];
    xy2 = [xy2;xy];
    plot(xy(:,1),xy(:,2),'LineWidth',5,'Color','y');
end
hold off

4. Melakukan deteksi titik sudut

% deteksi titik sudut
xy3 = sortrows(xy2);
for k = 1:length(lines)
    bbox = xy3(k*2,:)-10;
    I = insertText(I,bbox, num2str(k),'FontSize',20);
end

% menampilkan citra hasil deteksi titik sudut
figure, imshow(I);
title('Hasil Deteksi Titik Sudut');

Hasil deteksi garis dan titik sudut pada citra yang lain ditunjukkan pada tabel berikut ini

No Bentuk Deteksi Garis Deteksi Titik Sudut
1 Segi Tiga
2 Segi Lima
3 Segi Enam
4 Persegi
5 Belah Ketupat

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

Posted on July 8, 2018, in Pengenalan Pola, Pengolahan Citra and tagged , , , , , , , . Bookmark the permalink. 2 Comments.

  1. mas adi, untuk pelatihan dan pengujian jst supaya akurasinya bisa tinggi bgmana ??

    • Bisa memvariasikan parameter2 yg mempengaruhi performansi jst seperti jumlah neuron, jumlah hidden layer, jenis fungsi aktivasi, learning rate, error goal, dan jumlah epoch
      Jika parameter2 tsb sdh divariasikan dan akurasi masih rendah maka perlu diperiksa kembali metode ekstraksi ciri yg digunakan apakah sdh tepat atau belum
      Jika belum tepat maka perlu dilakukan penggantian metode ekstraksi ciri

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 )

w

Connecting to %s

%d bloggers like this: