Dec 7, 2011
PCD : Memulai dengan fungsi histogram
Histogram merupakan sebuah grafik warna. Semisal Histogram Greyscal / Biner, akan muncul satu grafik yang menunjukkan warna hitam tiap pixel-nya. Juga untuk RGB, Histogram akan menampilkan tiga grafik, Grafik berwarna merah. Hijau, dan Biru.
Nah, bagaimana fungsi Histogramnya ?. sebenarnya cukup mudah untuk mengimplementasikan fungsi Histogram. Di sini saya akan menjelaskan menggunakan aplikasi MATLAB.
Fungsi Histogram :
function[f] = histogram(cit) [m n]=size(cit); citra=double(cit); for i = 1:256, f(i)=0;end; for j = 1:m, for k = 1:n f(round(citra(j,k))+1)=f(round(citra(j,k))+1)+1; end; end;
Penjelasan :
Sebagai langkah awal, memetakan citra (gambar) pada sebuah matriks. Apabila sudah dalam bentuk matriks, akan dilakukan pengecekan tiap pikselnya.
Secara sederhana penghitungannya adalah sebagai berikut :
hitung jumlah dari seluruh piksel yang memiliki nilai a. selanjutnya bagi nilai a dengan jumlah piksel.
Misalkan terdapat citra dengan matriks : [1 3 4 5, 4 2 2 2, 5 6 7 2]
Dari matriks tersebut diperoleh :
Nilai 0 = 0 buah
Nilai 1 = 1 buah
Nilai 2 = 4 buah
Nilai 3 = 1 buah
Nilai 4 = 2 buah
Nilai 5 = 2 buah
Nilai 6 = 1 buah
Nilai 7 = 1 buah
Dari matriks tersebut dihitung nilai histogramnya (jumlah pernilai / total piksel)
Nilai 0 = 0/12 = 0 = 0
Nilai 1 = 1/12 = 0,083 = 8,3
Nilai 2 = 4/12 = 0,33 = 33,0
Nilai 3 = 1/12 = 0,083 = 8,3
Nilai 4 = 2/12 = = 0,16 = 16,0
Nilai 5 = 2/12 = 0,16 = 16,0
Nilai 6 = 1/12 = 0,083 = 8,3
Nilai 7 = 1/12 = 0,083 = 8,3
Dari hasil tersebut diperoleh :

Berikut implementasi dalam MATLAB :
if size(handles.y,3)==1; [f1] = histogram(handles.y); absis = 0:1:255; axes(handles.axes2) plot(absis,f1,'k') grid on else [f1] = histogram(handles.y(:,:,1)); [f2] = histogram(handles.y(:,:,2)); [f3] = histogram(handles.y(:,:,3)); absis = 0:1:255; axes(handles.axes2) plot(absis,f1,'r',absis,f2,'g',absis,f3,'b') grid on end;
Kode di atas diletakkan pada button untuk mengkonversi histogram.
Untuk download user interface histogram (matlab) bisa di download di sini