Minggu, 25 Agustus 2013

Deteksi Warna dari File Citra

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
Share:

0 komentar:

Posting Komentar