Script untuk Menghitung Histogram Equalization

By | January 15, 2021
Print Friendly, PDF & Email
2,317 Views

Sinopsis

Kalian tentu ingin tahu kan, cara menghitung histogram equalization, kalau hanya menggunakan function tanpa tahu cara kerjanya akan terasa kurang menarik. Fungsi histogram equalization pada matlab, kita kenal dengan  histeq() Namun pada kali  ini kita akan membuat script sendiri untuk membuat histogram equalization yang terdiri dari hanya 3 langkah saja.

  1. menghitung nilai frekuensi yaitu menghitung jumlah kemunculan setiap nilai
  2. menghitung nilai kumulatif yaitu menghitung kumulatif setiap angka yang didapat
  3. menghitung nilai probability yaitu menghitung tingkat kemunculan.

Algoritma diatas bila dijabarkan sesuai berikut ini, sebagai contoh mudah histogram equalization, maka ada sebuah array (nilai range nya 1 sampai dengan 5)

Agar mudah, penulis berikan contoh untuk gambar format grayscale seperti berikut ini, kalian bisa pelajari Kode Matlab untuk Menghitung Histogram Equalization sesuai dengan algoritma diatas.

clc;clear all;close all;
A = imread('D:/panoramic.jpg');
if ndims(A)==3
    A = rgb2gray(A);
end
%nenghitung distribusi nilai pixel yaitu 0 s.d 255
A = A+1; %%untuk menghindari angka 0 terjadi
mn = size(A,1)*size(A,2);
bin = 255+1;
frekuensi = zeros(1,bin);

for i=1:length(frekuensi)
    jumlah = length(find(A==i));
    frekuensi(i) = jumlah;
end

%menghitung cummulatif dan probabilitnya
cumulatif = zeros(1,bin);
cum = 0;
for i=1:size(cumulatif,2)
    cum = cum + frekuensi(i);
    cumulatif(i) = cum;
    probc(i)=cumulatif(i)/mn;

    output(i)=round(probc(i)*bin);
end
output;

B = zeros(size(A,1),size(A,2));
for i=1:size(B,1)
    for j=1:size(B,2)
        B(i,j) = output(A(i,j))-1;
    end
end
A = A - 1; %normalkan lagi
B = uint8(B); %casting lagi
final = [A,B];

figure,
imshow(final),title('Hasil Perbandingan');
return

Bagaimana menurut kalian, apakah script diatas mudah dipahami untuk Menghitung Histogram Equalization. Terlihata hasil distribusi warna yang lebih baik. Sehingga histogram equalization sering digunakan pada enchancement gambar.

Leave a Reply