Minggu, 01 Maret 2015

Algoritma segmentasi citra


Penulis sangat yakin menentukan algoritma segmentasi adalah sangat pelik!
Mengapa? Karena banyak sekali variasi!
Anda bisa saja menggunakan otsu tapi akan tetap terkendala!
Bisa juga menggunakan adaptiv threshold!
Nah hal yang  kamu hadapi bisa dibantu dengan teknik gradient!
Yups! 



Kontras adalah kunci utama dalam algoritma ini!
Kita akan mendesain suatu filter yang cukup kuat untuk menghitung tingkat konstras antar nilai tetangganya! Seperti berikut

Kamu bisa hitung ada berapa warna? Biru, hijau, kuning, abu-abu, hitam, dan putih
Lumayan banyak! Tapi tetap saja filter tersebut cukup tahan alias robust asalkan semua dalam warna yang solid! Bukan blur









 

Bagaimana?

Lumayan cukup robust!
clc;clear all;close all;
I = imread('2013-03-01 20.24.28-2.jpg');
if ndims(I)==3
    gray = rgb2gray(I);
else
    gray = I;
end

% % hx = [3 10 3;
%         0 0 0;
%         -3 -10 -3];
% hx = [  -1 0 +1;
%         -2 0 +2;
%         -1 0 +1];
hx = [  -0.1 0 +0.1;
        -0.1 0 +0.1;
        -0.1 0 +0.1];
hy = transpose(hx);

conv_x = (conv2(double(gray),hx,'same'));
conv_y = (conv2(double(gray),hy,'same'));
hitung_gradient_magnitude = uint8(sqrt(conv_x.^2 + conv_y.^2));
imshow(im2bw(hitung_gradient_magnitude,5/255))
Posting Komentar