Tuesday, February 18, 2020

Buku Pengolahan Citra Digital dengan Matlab - Kode Matlab untuk Menghitung Histogram Equalization

Kalian tentu ingin tahu kan, cara menghitung histogram equalization, cara sangat gampang koq, apalagi di matlab dengan function find secara mudah dapat menghitung frekuensinya dengan cepat. Secara umum untuk menghitung histogram equalization yaitu
  1. menghitung nilai frekuensi
  2. menghitung nilai kumulatif
  3. menghitung nilai probability
Kalian bisa melihat algoritmanya sesuai dengan contoh dibawah ini


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

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



Sangat simple sekali kan, untuk menghitung Histogram Equalization

No comments:

Post a Comment