Pengolahan Citra Digital untuk Deteksi Tepi Obyek


Berikut ini merupakan contoh aplikasi pemrograman matlab untuk mendeteksi objek dalam citra digital menggunakan metode deteksi tepi roberts.

Langkah-langkah pemrogramannya adalah sebagai berikut:

1. Membaca citra asli

2. Mengkonversi ruang warna citra RGB menjadi grayscale

3. Melakukan operasi konvolusi matriks menggunakan kernel roberts horizontal

4. Melakukan operasi konvolusi matriks menggunakan kernel roberts vertikal

5. Mencari resultan citra antara roberts horizontal dan roberts vertikal

6. Melakukan operasi thresholding

7. Melakukan operasi morfologi berupa filling holes dan area opening

8. Menampilkan hasil akhir deteksi objek

Materi deteksi tepi citra digital lebih lanjut dapat dilihat pada laman berikut:
1. Deteksi tepi citra digital
2. Pemrograman GUI Matlab untuk deteksi tepi citra digital

File source code lengkap beserta citra untuk untuk deteksi tepi pada materi di atas dapat diperoleh pada halaman berikut ini: Source Code

Sedangkan tampilan kodingnya  adalah:

clc; clear; close all; warning off all;

% membaca citra rgb
Img = imread('candy.jpg');
figure,imshow(Img);

% mengkonversi citra rgb menjadi grayscale
I = rgb2gray(Img);
figure, imshow(I,[]);

% Konvolusi dengan operator Roberts
robertshor = [0 1; -1 0];
robertsver = [1 0; 0 -1];
Ix = convolution(I,robertshor,'same');
Iy = convolution(I,robertsver,'same');
J = sqrt((Ix^2)+(Iy^2));

% Menampilkan citra hasil konvolusi
figure,imshow(Ix);
figure,imshow(Iy);
figure,imshow(J);

% melakukan thresholding citra
K = uint8(J);
L = im2bw(K);
figure, imshow(L);

% melakukan operasi morfologi
M = imfill(L,'holes');
N = bwareaopen(M,10000);
figure, imshow(N);

% mengambil bounding box masing2 objek hasil segmentasi
[labeled, numObjects] = bwlabel(N,8);
stats = regionprops(labeled,'BoundingBox');
bbox = cat(1, stats.BoundingBox);

% menampilkan citra rgb hasil segmentasi
figure, imshow(Img);
hold on;
for idx = 1 : numObjects
    h = rectangle('Position',bbox(idx,:),'LineWidth',2);
    set(h,'EdgeColor',[.75 0 0]);
    hold on;
end

% menampilkan jumlah objek hasil segmentasi
title(['There are ', num2str(numObjects),...
    ' objects in the image!']);
hold off;

Save

Penerapan metode deteksi tepi bisa dilihat pada video berikut ini:

Posted on July 2, 2016, in Pengolahan Citra and tagged , , , , , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink. 6 Comments.

  1. mas adakah aplikasi atau program untuk mendeteksi hal tersebut ?

  2. bro maaf mau tanya nih…
    dimana jarak ukuran di kedua object?

  3. mas mau nanya kalau untuk pentuan objek pendekataanya bagimana ya kalau misalkan menentukan mobil yang pada dijalan raya? biar objeknya lebih jelas dapatnya

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 )

Facebook photo

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

Connecting to %s

%d bloggers like this: