Sabtu, 11 Oktober 2014

Menghitung Gradient Citra - Operator Sobel



Penentuan gradient citra dapat menggunakan operator sobel, Untuk lebih jelas nya ke




Penulis tidak akan menerangkan lagi dalam bentuk artikel dalam postingan disini, tapi berusaha untuk mengimplementasikan dalam bentuk code yang siap pakai dan menggunakan function dasar yang ada di matlab. Berikut menggunakan operator sobel



Kemudian penulis mengimplementasikannya akan menghasilkan citra berikut



 
code nya berikut




clc;clear all;close all;
%% lebih lanjut
%% http://www.generation5.org/content/2002/im01.asp
%% http://en.wikipedia.org/wiki/Sobel_operator
I = imread('D:/citra fft.jpg');
if ndims(I)==3
    I = rgb2gray(I);
end


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

conv_x = (conv2(double(I),hx));
conv_y = (conv2(double(I),hy));
figure,
subplot(1,2,1),imshow(uint8(conv_x)),title('Gradient arah X -- www.softscients.web.id');
subplot(1,2,2),imshow(uint8(conv_y)),title('Gradient arah Y -- www.softscients.web.id');
%% gradient vektor
% hitung_gradient_vektor = abs(conv_x)+abs(conv_y);
%% gradient magnitude
hitung_gradient_magnitude = sqrt(conv_x.^2 + conv_y.^2);
%% hitung arah gradient
hitung_arah_gradient = atan2(conv_x,conv_y);

figure,imshow((uint8(hitung_gradient_magnitude)))title('Gradient Magnitude -- www.softscients.web.id');
 





Posting Komentar