Implementasi Histogram Equalization

Perbaikan kualitas citra (image enhancement) merupakan salah satu proses awal dalam pengolahan citra (image preprocessing). Perbaikan kualitas diperlukan karena seringkali citra yang dijadikan objek pembahasan mempunyai kualitas yang buruk, Misalnya citra mengalami derau (noise) pada saat pengiriman melalui saluran transmisi, citra terlalu terang/gelap, citra kurang tajam, kabur, dan sebagainya. Untuk memperbaiki kualitas citra ini salah satunya adalah dengan Histogram Equalization (perataan histogram). Tujuan dari perataan histogram adalah untuk memperoleh penyebaran histogram yang merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relatif sama.

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:

Afifatul Mukaroh mengatakan...

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