HISTOGRAM EQUALIZATION
Histogram
Equalization berguna untuk meningkatkan
tingkat kekontrasan dari image dengan memperlebar
jarak gray level pada image input.
Contoh :
menghasilkan image yang sudah
dihistogram equalization, max grayLevel = 256 (8 bit)
Gray Level Image Input, dengan
jumlah data = 4 (2 x 2)
15
|
15
|
10
|
20
|
Menghitung frekuensi
masing-masing gray level pada image input
(1 pada source code)
L
|
F
|
10
|
1
|
15
|
2
|
20
|
1
|
Menghitung H = frekuensi
kumulatif * grayLevel maksimum / jumlah data (2 pada source code)
L
|
H
|
10
|
¼ * 255 = 63.75 ~ 63
|
15
|
3/4
* 255 = 191.25 ~ 191
|
20
|
4/4
* 255 = 255
|
Nilai H di atas dimasukkan ke
nilai gray level (L) image awal,
sehingga diperoleh image hasil
(3 pada source code)
191
|
191
|
63
|
255
|
I.2 Source Code : histeque.m
function h = histeque(filename,
nBit)
% HISTEQUE(filename, nBit)
% Mengembalikan data yang sudah
diproses dengan histogram equalization
%
filename = nama file yang akan diproses
%
nBit = jumlah bit untuk menentukan tingkat keabuan(8 bit = 256)
if (nargin == 1)
nBit = 8;
end
data = double(imread(filename));
[rows, cols] = size(data); %
memperoleh ukuran data
nSize = 256; % jumlah data
histogram yang akan ditampung
n = zeros(1, nSize);
% memperoleh frekuensi kemunculan
untuk masing-masing element di data (1)
for i = 1 : rows
for j = 1 : cols
index = data(i, j) + 1;
n(index) = n(index) + 1;
end
end
% menghitung frekuensi kumulatif
data dan normalisasi frekuensi kumulatif (2)
dataSize = rows * cols;
grayLevel = 2 ^ nBit - 1;
c = grayLevel / dataSize;
nPrev = 0;
for i = 1 : nSize
if (~(n(i) == 0))
n(i) = nPrev + n(i) * c;
nPrev = n(i);
end
end
% mendapatkan hasil gambar yang
sudah mengalami histogram equalization (3)
result = zeros(rows, cols);
for i = 1 : rows
for j = 1 : cols
result(i, j) = n(data(i, j) + 1);
end
end
h = uint8(result);
I.3 Pemakaian
- A = histeque([filename], [bit
grayLevelMaksimum]) atau
A = histeque([filename]); untuk default nBit = 8 / 255 - imshow(A);
Contoh :
- A = histeque(‘tes.bmp’, 8); atau A=histeque(‘tes.bmp’);
- imshow(A);
Input : Output :
No comments:
Post a Comment
silahkan membaca dan berkomentar