Di dalam MATLAb sudah terdapat suatu fungsi yang dapat melakukan proses pemerataan histogram, yaitu C = histeq(B);
Membuat Histogram Image
Fungsi yang disediakan MATLAB untuk membuat histogram dari gambar yaitu dengan fungsi imhist(matrik_1_dimensi_image).Perlu diperhatikan bahwa imhist hanya dapat digunakan untuk matrik image 1 dimensi sehingga bila diimplementasikan pada matriks gambar maka hanya berupa matriks merah saja, hijua saja, biru saja atau grayscale.lebih jelasnya tentang histogram baca tulisan Membuat Histogram Image
Implementasi Fungsi Histogram Equalization pada MATLAB
Berikut ini adalah source code program pada MATLAB :
function fungsiHisteq
%membaca gambar yang akan diproses
A = imread('lena.jpg');
red=A(:,:,1); %memanggil matriks gambar yang hanya berisi piksel warna merah
green=A(:,:,2);% memanggil matriks gambar yang hanya berisi piksel warna hijau
blue=A(:,:,3); %memanggil matriks gambar yang hanya berisi piksel warna biru
gray=0.3*red+0.5*green+0.2*blue ;
%melakukan proses penyamaan histogram terhadap citra
Hist_R = histeq(red);
Hist_G = histeq(green);
Hist_B = histeq(blue);
Hist_Gray = histeq(gray);
%menampilkan histogram
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');
%menampilkan histogram equalization
figure, subplot(4,1,1);
imhist(Hist_R);
title('Merah');
subplot(4,1,2);
imhist(Hist_G);
title('Hijau');
subplot(4,1,3);
imhist(Hist_G);
title('Biru');
subplot(4,1,4);
imhist(Hist_Gray);
title('Abu-abu');
end
Hasil :
Gambar Asli :
Histogram :
Histogram equalization :
1 komentar:
HAlo.. salam kenal.
Saya Teknik informatika juga.
Terima kasih infonya ya? sangat membantu tugas kuliah saya. hehe.
Ijin follow ya? sepertinya saya bakal sering kunjung di mari. :)
Keep update!
Posting Komentar