MEMBUAT FUNGSI DETEKSI WARNA RGB SEMPURNA
Hal yang harus dipahami terlebih dahulu sebelum membahas hal ini adalah tentang apa itu fungsi? Fungsi seperti yang diketahui, dibuat untuk mengorganisasi kode program agar efisien dan membuat proses debugging menjadi lebih mudah. Sekumpulan statement didalam fungsi bisa dieksekusi dan ketika diperlukan dapat dipanggil tanpa menulis ulang koding didalam fungsi tersebut. Data yang diperlukan didalam fungsi bisa dilalui sebagai argumen dan kemudian nilai hasilnya akan dikembalikan. Fungsi disimpan sebagai m-file dengan nama yang sama dengan nama fungsi tersebut.
Pengujian Program Deteksi Warna RGB
Misalkan kita akan menguji file gambar 2.jpg berikut:
Gambar 1. File gambar 2.jpg sebagai file yang di uji
Fungsi Deteksi Warna Merah
Pada contoh berikut kita akan membuat fungsi yang mengambil masukan citra color dan mengembalikan hasilnya menjadi citra biner dimana pixel – pixel merah akan diganti dengan warna putih dan sisanya (yang tidak berpixel merah) akan diganti dengan warna hitam.
Proyek 17. Deteksi Warna Merah
function [binmerah, num]=merah(im)
[m,n,t]=size(im);
binmerah=zeros(m,n); num=0;
for i=1:m
for j=1:n
if(im(i,j,1)==255 && im(i,j,2)==0 && im(i,j,3)==0)
% Komponen hijau dan biru bernilai nol dan merah bernilai 255
binmerah(i,j)=1;
num=num+1;
end
end
end
Program Pengujian Deteksi Merah
%membaca file citra
I=imread('gambar 2.jpg');
[img, n]=merah(I); % memanggil fungsi merah
n
%menampilkan bagian warna yang merah
imshow(I), title('GAMBAR BERWARNA RGB');
figure, imshow(img), title('DETEKSI WARNA MERAH');
Output Pengujian Deteksi Merah
(a)
(b)
Gambar 2. Output deteksi warna merah
Fungsi Deteksi Warna Hijau
Dengan logika yang sama seperti fungsi merah, pada fungsi hijau dimana pixel – pixel hijau akan diganti dengan warna putih dan sisanya (yang tidak berpixel hijau) akan diganti dengan warna hitam.
Proyek 18. Deteksi Warna Hijau
function [binhijau, num]=hijau(im)
[m,n,t]=size(im);
binhijau=zeros(m,n); num=0;
for i=1:m
for j=1:n
if(im(i,j,1)==0 && im(i,j,2)==255 && im(i,j,3)==0)
% Komponen merah dan biru bernilai nol dan hijau bernilai 255
binhijau(i,j)=1;
num=num+1;
end
end
end
Program Pengujian Deteksi Hijau
%membaca file citra
I=imread('gambar 2.jpg');
[img, n]=hijau(I); % memanggil fungsi hijau
n
%menampilkan bagian warna yang hijau
imshow(I), title('GAMBAR BERWARNA RGB');
figure, imshow(img), title('DETEKSI WARNA HIJAU');
Output Pengujian Deteksi Hijau
(a)
(b)
Gambar 3. Output deteksi warna hijau
Fungsi Deteksi Warna Biru
Dengan logika yang sama seperti fungsi merah, pada fungsi biru dimana pixel – pixel biru akan diganti dengan warna putih dan sisanya (yang tidak berpixel biru) akan diganti dengan warna hitam.
Proyek 19. Deteksi Warna Biru
function [binbiru, num]=biru(im)
[m,n,t]=size(im);
binbiru=zeros(m,n); num=0;
for i=1:m
for j=1:n
if(im(i,j,1)==0 && im(i,j,2)==0 && im(i,j,3)==255)
% Komponen merah dan hijau bernilai nol dan biru bernilai 255
binbiru(i,j)=1;
num=num+1;
end
end
end
Program Pengujian Deteksi Biru
%membaca file citra
I=imread('gambar 2.jpg');
[img, n]=biru(I); % memanggil fungsi biru
n
%menampilkan bagian warna yang biru
imshow(I), title('GAMBAR BERWARNA RGB');
figure, imshow(img), title('DETEKSI WARNA BIRU');
Output Pengujian Deteksi Biru
(a)
(b)
Gambar 4. Output deteksi warna biru
Fungsi Deteksi Warna Kuning
Warna kuning merupakan warna yang tidak berdiri sendiri, warna kuning dibentuk dari warna dasar merah dan hijau. Kemudian warna kuning akan diganti dengan warna putih dan sisanya (yang tidak kuning) akan diganti dengan warna hitam.
Proyek 20. Deteksi Warna Kuning
function [binkuning, num]=kuning(im)
[m,n,t]=size(im);
binkuning=zeros(m,n); num=0;
for i=1:m
for j=1:n
if(im(i,j,1)==255 && im(i,j,2)==255 && im(i,j,3)==0)
% Komponen biru bernilai nol dan merah dan hijau bernilai 255
binkuning(i,j)=1;
num=num+1;
end
end
end
Program Pengujian Deteksi Kuning
%membaca file citra
I=imread('gambar 2.jpg');
[img, n]=kuning(I); % memanggil fungsi kuning
n
%menampilkan bagian warna yang kuning
imshow(I), title('GAMBAR BERWARNA RGB');
figure, imshow(img), title('DETEKSI WARNA KUNING');
Output Pengujian Deteksi Kuning
(a)
(b)
Gambar 5. Output deteksi warna kuning
Fungsi Deteksi Warna Magenta
Warna magenta merupakan warna yang tidak berdiri sendiri, warna magenta dibentuk dari warna dasar merah dan biru. Kemudian warna magenta akan diganti dengan warna putih dan sisanya (yang tidak magenta) akan diganti dengan warna hitam.
Proyek 21. Deteksi Warna Magenta
function [binmagenta, num]=magenta(im)
[m,n,t]=size(im);
binmagenta=zeros(m,n); num=0;
for i=1:m
for j=1:n
if(im(i,j,1)==255 && im(i,j,2)==0 && im(i,j,3)==255)
% Komponen hijau bernilai nol dan biru dan merah bernilai 255
binmagenta(i,j)=1;
num=num+1;
end
end
end
Program Pengujian Deteksi Magenta
%membaca file citra
I=imread('gambar 2.jpg');
[img, n]=magenta(I); % memanggil fungsi magenta
n
%menampilkan bagian warna yang magenta
imshow(I), title('GAMBAR BERWARNA RGB');
figure, imshow(img), title('DETEKSI WARNA MAGENTA');
Output Pengujian Deteksi Magenta
(a)
(b)
Gambar 6. Output deteksi warna magenta
Fungsi Deteksi Warna Cyan
Seperti kuning dan magenta, warna cyan merupakan warna yang tidak berdiri sendiri, warna cyan dibentuk dari warna dasar hijau dan biru. Kemudian warna cyan akan diganti dengan warna putih dan sisanya (yang tidak cyan) akan diganti dengan warna hitam.
Proyek 22. Deteksi Warna Cyan
function [bincyan, num]=cyan(im)
[m,n,t]=size(im);
bincyan=zeros(m,n); num=0;
for i=1:m
for j=1:n
if(im(i,j,1)==0 && im(i,j,2)==255 && im(i,j,3)==255)
% Komponen merah bernilai nol dan hijau dan biru bernilai 255
bincyan(i,j)=1;
num=num+1;
end
end
end
Program Pengujian Deteksi Cyan
%membaca file citra
I=imread('gambar 2.jpg');
[img, n]=cyan(I); % memanggil fungsi cyan
n
%menampilkan bagian warna yang cyan
imshow(I), title('GAMBAR BERWARNA RGB');
figure, imshow(img), title('DETEKSI WARNA CYAN');
Output Pengujian Deteksi Cyan
(a)
(b)
Gambar 7. Output deteksi warna cyan
Fungsi Deteksi Warna Putih
Warna putih merupakan warna kombinasi dari merah, hijau, dan biru. Kemudian warna tidak putih akan diganti dengan warna hitam.
Proyek 23. Deteksi Warna Putih
function [binputih, num]=putih(im)
[m,n,t]=size(im);
binputih=zeros(m,n); num=0;
for i=1:m
for j=1:n
if(im(i,j,1)==255 && im(i,j,2)==255 && im(i,j,3)==255)
% Komponen komponen bernilai 255
binputih(i,j)=1;
num=num+1;
end
end
end
Program Pengujian Deteksi Putih
%membaca file citra
I=imread('gambar 2.jpg');
[img, n]=putih(I); % memanggil fungsi putih
n
%menampilkan bagian warna yang putih
imshow(I), title('GAMBAR BERWARNA RGB');
figure, imshow(img), title('DETEKSI WARNA PUTIH');
Output Pengujian Deteksi Putih
(a)
(b)
Gambar 8. Output deteksi warna putih
Fungsi Deteksi Warna Hitam
Warna hitam merupakan warna ketika semua pixel warna merah, hijau, dan biru bernilai nol. Kemudian warna yang terdeteksi hitam akan diubah menjadi pputih, sebaliknya warna tidak hitam akan diganti dengan warna hitam.
Proyek 24. Deteksi Warna Hitam
function [binhitam, num]=hitam(im)
[m,n,t]=size(im);
binhitam=zeros(m,n); num=0;
for i=1:m
for j=1:n
if(im(i,j,1)==0 && im(i,j,2)==0 && im(i,j,3)==0)
% Komponen komponen bernilai 0
binhitam(i,j)=1;
num=num+1;
end
end
end
Program Pengujian Deteksi Hitam
%membaca file citra
I=imread('gambar 2.jpg');
[img, n]=hitam(I); % memanggil fungsi hitam
n
%menampilkan bagian warna yang putih
imshow(I), title('GAMBAR BERWARNA RGB');
figure, imshow(img), title('DETEKSI WARNA HITAM');
Output Pengujian Deteksi Hitam
(a)
(b)
Gambar 9. Output deteksi warna hitam
Copyright 2013@ Mada Sanjaya WS, Ph.D
0 komentar:
Posting Komentar