Perbandingan Deteksi Tepi Dengan Metode Robert, Prewitt, Sobel, Canny dan Laplacian

Ini merupakan perbandingan metode deteksi tepi antara metode Robert, Prewitt, Sobel, Canny dan Laplacian
function [ output_args ] = tepideteksi( input_args )
clear all;
gmbr = imread('Elephant_256x256.jpg');
abu2=rgb2gray(gmbr);
%abu2=gmbr;
rbt = edge(abu2,'robert');
pwt = edge(abu2,'prewitt');
sbl = edge(abu2,'sobel');
cny = edge(abu2,'canny');
lap =fspecial('log',5);
lap_log=uint8(round(filter2(lap,abu2)));

clf(subplot(2,3,1),imshow(gmbr));
title('Gambar Asli');
hold on;
%subplot(2,3,2), imshow(hp)
%title('Gambar Hitam Putih');

subplot(2,3,2), imshow(rbt)
title('Gambar Metode Robert');
subplot(2,3,3), imshow(pwt)
title('Gambar Metode Prewitt');
subplot(2,3,4), imshow(sbl)
title('Gambar Metode Sobel');
subplot(2,3,5), imshow(cny);
title('Gambar Metode Canny');
subplot(2,3,6), imshow(lap_log);
title('Gambar Metode Laplacian');

end

Dari hasil tersebut didapatkan bahwa canny merupakan hasil yang terbaik karena Canny mendeteksi tepi dengan mengidentifikasi maksima local dari gradien pada citra. Metode ini menggunakan dua nilai ambang/nilai batas (threshold) untuk mendeteksi tepi yang lemah dan yang kuat. Tepi yang lemah akan dihasilkan pada keluaran hanya jika ia terhubung denga tepi yang kuat. Oleh karena itu metode ini kemudian menjadi lebih diandalkan dari metode yang lain dari segi kehandalannya dalam membedakan ‘noise’ pada citra sekaligus mempunyai kemungkinan yang lebih besar dalam mendeteksi tepi-tepi yang lemah.
Read more.....

merubah RGB ke HSI dengan matlab

Contoh perbahan model warna lainnya yaitu dari RGB ke HSI
function rgbtohsi(x)
F=imread('baboon24.bmp');
F=im2double(F);
%F=double(x);
r=F(:,:,1);
g=F(:,:,2);
b=F(:,:,3);
th=acos((0.5*((r-g)+(r-b)))./((sqrt((r-g).^2+(r-b).*(g-b)))+eps));
H=th;
H(b>g)=2*pi-H(b>g);
H=H/(2*pi);
S=1-3.*(min(min(r,g),b))./(r+g+b+eps);
I=(r+g+b)/3;
hsi=cat(3,H,S,I);
HE=H*2*pi;
HE=histeq(HE);
HE=HE/(2*pi);
SE=histeq(S);
IE=histeq(I);
choice=input('1:RGB to HSI\n2:Display Hue, Saturation and Intensity Images\n3:HSI to RGB\n4:Hue-Equalization\n5:Saturation-Equalization\n6:Intensity-Equalization\n7:HSI-Equalization\n Enter your choice :');
switch choice
case 1
figure,imshow(F),title('RGB Image');
figure, imshow(hsi),title('HSI Image');
case 2
figure,imshow(F),title('RGB Image');
figure, imshow(H),title('Hue Image');
figure, imshow(S),title('Saturation Image');
figure, imshow(I),title('Intensity Image');
case 3
C=hsitorgb(hsi);
figure,imshow(hsi),title('HSI Image');
figure, imshow(C),title('RGB Image');
case 4
RV=cat(3,HE,S,I);
C=hsitorgb(RV);
figure,imshow(hsi),title('HSI Image');
figure,imshow(F),title('RGB Image');
figure, imshow(C),title('RGB Image-Hue Equalized');
case 5
RV=cat(3,H,SE,I);
C=hsitorgb(RV);
figure,imshow(hsi),title('HSI Image');
figure,imshow(F),title('RGB Image');
figure, imshow(C),title('RGB Image-Saturation Equalized');
case 6
RV=cat(3,H,S,IE);
C=hsitorgb(RV);
figure,imshow(hsi),title('HSI Image');
figure,imshow(F),title('RGB Image');
figure, imshow(C),title('RGB Image-Intensity Equalized');
case 7
RV=cat(3,HE,SE,IE);
C=hsitorgb(RV);
figure,imshow(hsi),title('HSI Image');
figure,imshow(F),title('RGB Image');
figure, imshow(C),title('RGB Image-HSI Equalized');
otherwise
display('Wrong choice');
end
end
function C=hsitorgb(hsi)
HV=hsi(:,:,1)*2*pi;
SV=hsi(:,:,2);
IV=hsi(:,:,3);
R=zeros(size(HV));
G=zeros(size(HV));
B=zeros(size(HV));
%RG Sector
id=find((0<=HV)& (HV<2*pi/3)); B(id)=IV(id).*(1-SV(id)); R(id)=IV(id).*(1+SV(id).*cos(HV(id))./cos(pi/3-HV(id))); G(id)=3*IV(id)-(R(id)+B(id)); %BG Sector id=find((2*pi/3<=HV)& (HV<4*pi/3)); R(id)=IV(id).*(1-SV(id)); G(id)=IV(id).*(1+SV(id).*cos(HV(id)-2*pi/3)./cos(pi-HV(id))); B(id)=3*IV(id)-(R(id)+G(id)); %BR Sector id=find((4*pi/3<=HV)& (HV<2*pi)); G(id)=IV(id).*(1-SV(id)); B(id)=IV(id).*(1+SV(id).*cos(HV(id)-4*pi/3)./cos(5*pi/3-HV(id))); R(id)=3*IV(id)-(G(id)+B(id)); C=cat(3,R,G,B); C=max(min(C,1),0); end

Read more.....

Merubah model warna RGB ke YIQ pada matlab

Kali ini contoh merubah model warna RGB ke model warna YIQ
function rgbtoyiq(x)

F=imread('baboon24.bmp');
YIQ = rgb2ntsc(F);
Y=YIQ(:,:,1);
I=YIQ(:,:,2);
Q=YIQ(:,:,3);

subplot(2,2,1);
imshow(F);
title ('gambar Asli');


subplot(2,2,2);
imshow(YIQ);
title ('gambar YIQ');

end
Read more.....

Merubah model warna RGB ke CMY pada matlab

ini merupakan contoh koding untuk merubah citra model RGB (Red Green Blue) menjadi CMY (Cyan Magenta Yellow)
function rgbcmy(x)
F=imread('baboon24.bmp');
F=im2double(F);
%F=double(x);
r=F(:,:,1);
g=F(:,:,2);
b=F(:,:,3);

C=(1-r);
M=(1-g);
Y=(1-b);
CMY=cat(3,C,M,Y);

HE=histeq(C);
SE=histeq(M);
IE=histeq(Y);

figure,imshow(F),title('RGB Image');
figure, imshow(CMY),title('CMY Image');
end
Read more.....

Membuat histogram citra berwarna dengan matlab

Berikut contoh koding matlab untuk membuat histogram pada citra berwarna
function [ output_args ] = tgspc( input_args )
gambar=imread('baboon24.bmp'); %——–membaca file gambar

red=gambar(:,:,1); %memanggil matriks gambar yang hanya berisi piksel warna merah

green=gambar(:,:,2);% memanggil matriks gambar yang hanya berisi piksel warna hijau

blue=gambar(:,:,3); %memanggil matriks gambar yang hanya berisi piksel warna biru

gray=0.3*red+0.5*green+0.2*blue ;
figure; imshow(gambar);
figure; subplot(4,1,1);
imhist(red);
title('Merah');

subplot (4,1,2);
imhist(green);
title('Hijau');

subplot (4,1,3);
imhist(blue);
title('Biru');

subplot(4,1,4);
imhist(gray);
title('Abu-abu');

end
Read more.....

Histogram Equalisation pada matlab

berikut contoh koding pada matlab untuk membuat Histogram Equalisation pada sebuah citra
Buat sebuah m-file pada matlab..
copykan koding berikut
function [ output_args ] = Histeq( input_args )
%membaca gambar yang akan diproses
A = imread('camera.bmp');
%mengubah gambar menjadi grayscale
B = 0.5*A(:,:,1);

%melakukan proses penyamaan histogram terhadap citra
C = histeq(B);
%menampilkan citra asli dan histogramnya
figure;subplot(2,1,1);
imshow(A);
title('image asli');
subplot(2,1,2);
imhist(A);
title('histogram gambar asli');
%menampilkan citra yang telah digrayscale beserta histogramnya
figure;subplot(2,1,1);
imshow(B);
title('image grayscale');
subplot(2,1,2);
imhist(B);
title('histogram gambar grayscale');
%menampilkan citra yang telah diequalisasi beserta histogramnya
figure;subplot(2,1,1);
imshow(C);
title('image equalisasi');
subplot(2,1,2);
imhist(C);
title('histrogram equalisasi');
end

note : untuk membuat histogram (melihat derjat keabuan) pada matlab cukup menggunakan fungsi imhist(gambarnya);

jika anda lihat histogram pada citra awal histogramnya, tingkat keabuan cendrung lebih banyak disebelah kiri dan tengah .
fungsi dari histogram equalisasi adalah meratakan derjat keabuan sehingga gambar/citra tidak terlalu gelap atau terlalu terang..
hasi dari histogram equalisasi



Read more.....
Related Posts Plugin for WordPress, Blogger...