Grabcut Image Segmentation [ MATLAB ]

A. GRABCUT

Grabcut adalah suatu metode pemrosesan citra yang bertujuan untuk memisahkan object pantau ( foreground ) dengan background-nya. ada bebrapa tools yang dibutuhkan untuk melakukan metode grabcut yakni : 1. Konversi ke Binary Image
                         2. Labeling Citra
                         3. Segmentasi Citra
                         4. Cropping Image

Berikut merupakan gambar hasil metode grabcut image :

Gambar I-1. Citra Asli.

Gambar I-2. Citra Hasil Grabcut.

B. TOOLS

- MATLAB
- Desktop / Laptop dengan RAM minimal 4 GB ( Spesifikasi Terendah untuk instalasi MATLAB )

C. MATLAB SOURCE CODE

clc, clear all

%Reading Img
A = imread('daun4.jpg');
figure, imshow(A);
title('Original image');
B = im2bw(255-A);
figure, imshow(B);
C = imfill(B,'Holes');
figure, imshow(C);

label = bwlabel(C);
max(max(label))
im1= (label==1);
figure, imshow(im1);

for j=1:max(max(label))
    [row,col]=find(label==j);
    len=max(row)-min(row)+2;
    breadth=max(col)-min(col)+2;
    target=uint8(zeros([len breadth]));
    sy = min(col)-1;
    sx=min(row)-1;
for i=1:size(row,1)
    x=row(i,1)-sx;
    y=col(i,1)-sy;
    target(x,y)=A(row(i,1),col(i,1));
end
mytitle=strcat('Object Number : ',num2str(j));
figure,imshow(target);title(mytitle);

end






                           



0 Response to "Grabcut Image Segmentation [ MATLAB ]"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel