Baiklah cukup segitu saja pendahuluan, kita langsung bagaimana cara mengolah gambar menggunakan MATLAB. Image merupakan kumpulan piksel-piksel. Piksel-piksel ini terdapat nilai untuk mendifinisikan warna pada image.
Matriks RGB
Image RGB (Red Green Blue) memiliki 3 lapisan yang digabung menjadi 1 lapisan, sedangkan Grayscale (B/W) hanya memiliki 1 lapisan.
Matriks Grayscale
Oleh karena itu, saya menggunakan MATLAB untuk mengolah data matriks image, karena lebih mudah dan sangat simple.
Tutorial 1 membuat fungsi untuk memindahkan nilai pada matriks
function y=change(a,b,c,d,e,f)
%Fungsi ini digunakan untuk memindahkan koordinat pada matrik ke koordinat
%yang diinginkan. Misalkan koordinat (1:4,3) pada matrik 4x4 ingin
%dipindahkan ke koordinat (1:4,1).
%Pengertian dari function di atas adalah
%a adalah matrik aslinya
%b adalah kolom yang ingin dipindahkan
%c adalah row yang ingin dipindahkan
%d adalah kolom yang akan dituju
%e adalah row yang akan dituju
%y adalah matrik hasil perubahan
%
%cara penulisan fungsi tersebut adalah
%change([1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16],(1:4),(3),(1:4),(1))
%hasilnya adalah
%matrik awal 1 2 3 4 matrik akhir 4 2 3 1
% 5 6 7 8 8 6 7 5
% 9 10 11 12 12 10 11 9
% 13 14 15 16 16 14 15 13
A=a
[k l]=size(A);
[m n]=size(A(b,c));
[o p]=size(A(d,e));
if ([k l]>=[m n] & [k l]>=[o p])
if ([m n]==[o p])
temp=A(b,c);
A(b,c)=A(d,e);
A(d,e)=temp;
y=A
elseif ([m n]>=[o p])
disp('matrik tujuan lebih kecil dari matrik yang ingin dipindahkan')
elseif ([m n]<=[o p])
disp('matrik tujuan lebih kecil dari matrik yang ingin dipindahkan')
else
disp('error')
end
elseif ([k l]<=[m n] & [k l]>=[o p])
disp('matrik yang akan dipindahkan lebih besar dari pada matrik asal')
elseif ([k l]<=[m n] & [k l]<=[o p])
disp('matrik yang akan dipindahkan dan matrik tujuan lebih besar dari matrik asal')
else
disp('error')
end
Tutorial 2 Membuat perkalian matriks dengan mask
function y=masking (a,b)
%dibuat oleh : jediel b r
%npm : 0706267111
%
%function ini digunakan untuk membuat suatu penutup pada matrik dengan
%tujuan membuat matrik tersebut menjadi tertutupi oleh suatu nilai yang
%ditentukan.
%maksud dari function di atas adalah
%a adalah matrik asal
%b adalah matrik masking
%y adalah keluaran dari function ini
%contoh memanggil function ini
%masking([1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16],[1 2; 0 2])
[k l]=size(a);
[m n]=size(b);
if k>=m & l>=n
d=k-m+1;
e=l-n+1;
for i=1:1:d
for j=1:1:e
a(i:m+(i-1),j:n+(j-1))=a(i:m+(i-1),j:n+(j-1)).*b
end
j=0;
end
else
disp('Matrik masking b melebihi matrik a');
end
bersambung,,