Sistem Mesin Pencitraan Buku Panduan den

Dasar Pengolahan Citra Gray
Level
I. Image histogram
II. Operasi linear histogram
i.
ii.
iii.
iv.

Offset
Skala
Image negative
Stretch histogram skala penuh

III. Operasi non-linear histogram
i. Operasi titik logaritmik
ii. Histogram equalization
iii. Histogram shaping
IV. Operasi arimatik antar image
i. Image averaging for noise reduction


I.

Image Histogram

Histogram merupakan sebuah cara untuk
menampilkan distribusi data. Teknik Histogram
pertama kali diperkenalkan oleh Karl Pearson.

Figure 1. Contoh sebuah image histogram pada
sebuah graylevel image
Image histogram menampilkan distribusi data
pixel sebuah citra atau gambar. Pixel dalam
sebuah citra/gambar (dalam hal ini citra adalah
graylevel) memiliki range nilai dari 0 – 255 yang
merepresentasikan tingkat kecerahan citra. Nilai
0 yang berarti gelap (hitam) dan 255 yang
berarti terang (putih). Pada kolom sebelah kiri
menunjukan
jumlah
pixel

dan
bawah
menunjukan tingkat kecerahan.

Note :
Fungsi ‘y=ax+b’ dalam
operasi image histogram
ditentukan oleh kita sendiri.
Kita menentukan nilai A dan
B sesuai dengan kebutuhan
dari citra yang akan kita
proses.

H
o
t
a
r
e
p

O
G
)
j
,
i
(
Figure 2. Contoh citra gray level

II.

Operasi Linier Histogram

Pengertian dari Operasi Linier secera sederhana
seperti berikut. Jika kita mempunyai sebuah citra
yang diberi nama “G” kemudian dilakukan
sebuah proses opersi dengan fungsi yang kita
sebut “F”, fungsi “F” ini melakukan operasi pada
setiap individual pixel dari sebuah citra yang
kemudian menghasilkan sebuah citra baru

bernama “H”.

Figure 3. Flow chart proses operasi linier

Dalam operasi linier sederhana kita mengenal
sebuah rumusan sederhana dalam matematika
yaitu,
Y =P . X + B

Note :
Operasi linier mempunyai
keterbatasan range,
contohnya adalah nilai dari
tingkat kecerahan paling
kecil adalah 0 dan paling
terang adalah 255, sehingga
tidak bisa kurang dari 0
atau lebih dari 255. Kondisi
ini disebut sebagai
Saturation.

Figure 4. merupakan
contoh histrogram yang
dilakukan ofset dan terjadi
saturasi pada ujung nilai
255, dilakukan metode
clipping (pembatasan).

Sebagai pengandaian “Y” adalah H (i,j) hasil
operasi linier yang melibatkan “X” atau G (i,j)
dan P merupakan sebuah operator multiplier
(scale) sedangkan B merupakan operator
konstanta (offset).
Proses operasi linier hanya bertujuan untuk
meningkatkan
atau
mengurangi
tingkat
kecerahan Gray Scale dan sama sekali tidak
mempengaruhi posisi objek pada citra ataupun
ukurannya. Tujuan utama dari operasi ini adalah

merekonstruksi ulang distribusi image histogram
dengan men-strech atau men-compress distribusi
histogram.

i. Offset
Offset merupakan sebuah pertambahan nilai
konstanta “B” dengan tujuan untuk merubah
posisi distrbusi image histogram.
Figure 4. contoh offset untuk B>0
Jika B bernilai positif (B>0) maka pergeseran
kearah kanan dan citra akan bertambah terang.
Jika B bernilai negatif (B 1, yang
artinya
perbesaran
atau
stretching
(perenggangan), dan nilai faktor (P) < 1, yang
artinya mengecil/mengerut atau terkompres.
Y =P∗X


Note :
Pada operasi skala
(multiplier) memberikan
efek kontras (perbedaan)
pada setiap degradasi
tingkat kecerahan, sehingga
gambar tampak lebih jelas
(P>1) atau makin buram
(P 0 (stretching)

iii. Image negative
Citra negatif merupakan suatu contoh kombinasi dari
penggunaan operator offset dan skala secara
bersama dengan nilai P = -1 dan B = 255.
Y =−X +255

Figure 6. Hasil dari operasi negatif yang
menghasilkan distribusi histogram kebalikannya.
iv. Stretch histogram skala penuh


Stretch histogram skala penuh adalah operasi
yang membuat histogram awal (X) menjadi
histogram akhir (Y) yang terdistribusi nilainya
dari 0 hingga 255.

Note :
Full-Scale Histogram
Stretch (FSHS) akan
memberikan efek yang
nyata terhadap citra jika
kondisi histogram awal yang
terdistribusi secara lokal
(contoh nilainya range nya
berkisar 100 – 150)
sehingga memungkinkan
untuk dilakukan FSHS dan
hasilnya akan sangat telihat
berbeda jauh. Sebaliknya
jika kondisi awal histogram
dari citra sudah tersebar

merata, maka tidak ada efek
dari operasi FSHS. Maka
dibutuhkan teknik lainnya
yaitu Non-Linier
distribution.

jika kita mempunyai nilai gray level pada gambar asli
M dan N maka,
P∗M + B=0 P∗N + B=255
P dan B tidak diketahui nilainya, dengan melakukan
sedikit kalkulasi aljabar akan didapat,
P=

255
N−M
255
B=− A N− M

(


)

Rumusan akhirnya,
255
Y = N −M ( X−M )

(

)

Figure 7. Merupakan ilustrasi dari hitogram
equalization dengan metode full stretch skala penuh

Figure 8. Hasil dari FSHS (Full-Scale Histogram
Stretch)

Note :

III.


Pada gambar pertama
gambar terlihat gelap.

Operasi Non – Linier
Histogram
Y =f [ X ]

Fungsi diatas adalah rumusan dasar dimana f [ ]
adalah non-linier equation, cakupan wilayah nonlinier sangat luas, tetapi dalam pengolahan citra
dibatasi
oleh
beberapa
fungsi
saja
untuk
mendapatkan hasil yang sangat baik. Salah satu
contoh
penggunaan
non-linier
adalah
fungsi
logaritmik.

Setelah dilakukan operasi
fungsi Logaritmik dan
FSHS.

i. Operasi titik logaritmik
Di asumsikan bahwa X merupakan nilai
positif,
kemudian
dilakukan
operasi
logaritmik yang diikuti operasi FSHS.
Y =FSHS { log [ 1+ X ] }
Jika terdapat citra yang memiliki nilai
terendah 0 dan tertinggi 255, maka fungsi
log akan membuat range X baru yaitu {log
1, log 256} dengan kata lain {0, log 256}.
Dengan
menempatkan
FSHS
linier
operation, maka yang paling terang (log
256) akan ter-stretch paling minimum dan
yang paling redup dengan 0 ter-stretch
paling maksimum.
X mula-mula {0, 255} dengan operasi fungsi
logaritmik X menjadi {0, log 255},
kemudian nilai X dimasukan dalam fungsi
operasi linier FSHS.

255
Y = N −M ( X−M ) dengan X {0, log [ 255 ] }

(

)

Figure 9. Gabungan hasil operasi logaritmik
dan FSHS
ii. Historam equalization
Salah sat operasi paling penting dalam
operasi
non-linier
adalah
Histogram
Equalization atau disebut juga sebagai
Histogram
Flattening.
Tujuan
dari
Histogram Equalization adalah membuat
distribusi histogram fat (datar) yang berisi
informasi dan kompleksitas citra yang lebih
baik.
Contoh histogram dengan citra ukuran M
(row) x N (column) pixel, dengan total MN
pixel. Maka Fungsi Probabilitas ( pf ) yang
dinyatakan sebagai Normalized Image
Histogram.

dengan k menyatakan tingkat keterangan k
= 0, 1, 2, ..., 255. Dan Hf (k) menyatakan
jumlah pixel mulai kumulatif dari tingkat
kecerahan 0 sampai k.
Ilustrasi pada sebuah contoh gambar citra,
jika M = 300 pixel ; N = 200 pixel ; k = 150
di dapat,

p ( 150 ) =

1
x( 4236)
600000

Maka didapatkan,
p ( 150 ) =0.0706083
Secara matematik dapat dirumuskan sebagai berikut,

Note :
Beberapa fungsi matematika
yang digunkan dalam
operasi Non-Linier
Equation.

J ( i , j ) =¿ I ( i , j ) ∨¿
Absolute Value / Magnitude

J ( i , j ) =[I ( i , j ) ]2
Square – Law

K – 1 = 255 ; k = 0 (dimulai dari 0 hingga 255) ; pf
(k) = 1 yang artinya total density (kerapatan) atau
total probabilitas bernilai 1. Seperti yang ditunjukan
pada fgure.10 distribusi densitas masing-masing
tingkat kecerahan untuk 128 dengan jumlah pixel 610
dan total pixel 114.639 pixel, maka probabilitas untuk
k = 128,

J ( i , j ) =√ I (i, j)

p ( 128 ) =0,005321

Square – Root

J ( i , j ) =log ⁡[1+ I ( i , j ) ]
Logarithm

J ( i , j ) =exp [ I ( i, j ) ] =e I (i , j )
Exponential

Figure 10. Kumulatif Probabilitas Densitas
Kita juga mendefnisikan cummulative normalized
image histogram.

Seperti yang ditunjukan pada fgure.10 distribusi
densitas masing-masing tingkat kecerahan dari 0 –
128 dengan kumulatif 44.867 dan total pixel 114.639
pixel, maka probabilitas untuk k = 128,
P ( 128 ) =0,3913764

Figure 11. Grafk CFD yang ditunjukan dengan garis
biru dan garis hitam adalah flattering function

Figure 12. Menampilkan gambar sebelum dan
sesudah dilakukan Histogram Equalization
Teknik yang digunakan jika melakukan histogram
secara manual adalah pengelompokan berdasarkan
pembulatan (round) kebawah. Sebagai contoh
histogram pada fgure.12 untuk array 0 – 24 dengan
total kumulatif distribusi pixel 901
Arr
ay
CD
F

0

1

2

...

22

23

24

0

0

0

...

418

546

901

Dilakukan
berikut,

pembulatan

dengan

rumus

sebagai

H(i,j)= (round(((cdf(x,1))/(pixel))*85))*3;
Dengan x = 1:256 ; Pixel = M*N (total)

Contoh sebuah array [10] x [10] adalah bagian dari
citra.
18
2
18
2
18
2
5
18
3
18
1
18
0

18
2
18
2
7
18
3
18
1
18
1
18
5

18
3
6
18
0
18
2
18
0
18
4
16
8

11
18
1
18
3
18
1
18
5
16
3
91

18
2
18
0
18
0
18
4
15
8
87
40

18
2
18
2
18
2
18
2
18
3
18
1
18
0

18
2
18
2
18
2
18
3
18
1
18
1
18
5

18
3
18
2
18
0
18
2
18
0
18
4
16
8

18
1
18
1
18
3
18
1
18
5
16
3

18
2
18
0
18
0
18
4
15
8

91

20

87

18
4
16
9
10
7

17
1
10
9
50

98

44

39

45

38

38

39

34

34

18
4
16
9
10
7

17
1
10
9
21

98

23

16

22

24

38

17

34

34

Dengan x = 1:24 ; Pixel = 159506 ; cdf(24,1) = 901
H(i,j)=
H(i,j)=
H(i,j)=
H(i,j)=

(round((901)/(159506)))*85))*3;
(round(0.480138678))*3; %pembulatan kebwah
(0)*3;
0;

Semua yang termarked hijau berubah mejadi nilai nol
H(1,4)= 0; H(2,3)= 0; H(3,2)= 0; H(4,1)= 0;
H(7,10)= 0; H(8,9)= 0; H(8,10)= 0; H(9,8)= 0;
H(9,9)= 0; H(10,7)= 0; H(10,8)= 0;

18
2
18
2
18
2
0
18
3
18
1
18
0
18
4
16
9
10
7

Arr
ay
CD
F

34
535
0

38
725
4

18
2
18
2
0
18
3
18
1
18
1
18
5
17
1
10
9
50

18
3
0
18
0
18
2
18
0
18
4
16
8

0
18
1
18
3
18
1
18
5
16
3

18
2
18
0
18
0
18
4
15
8
87

91

40

98

44

39

45

38

38

39

34

34

39
747
5

40
762
6

44
810
2

18
2
18
2
18
2
18
2
18
3
18
1
18
0
18
4
16
9
10
7

18
2
18
2
18
2
18
3
18
1
18
1
18
5
17
1
10
9

18
3
18
2
18
0
18
2
18
0
18
4
16
8

18
1
18
1
18
3
18
1
18
5
16
3

18
2
18
0
18
0
18
4
15
8

91

0

98

0

0

0

0

38

0

0

34

34

45
819
9

50
867
0

87

Dengan memasukan nilai-nilai array dan cdf diatas,
H(i,j)= (round(((cdf(x,1))/(pixel))*85))*3;
Unutk array x = 34;
H(i,j)= (round((5350)/(159506)))*85))*3;

H(i,j)= (round(2.85099))*3; %pembulatan keatas
H(i,j)= (3.0)*3;
H(i,j)= 9;
H(10,4)= 9; H(10,5)= 9; H(10,9)= 9; H(10,10)= 9;
Unutk array x = 38;
H(i,j)= (round((7254)/(159506)))*85))*3;
H(i,j)= (round(3.865622))*3; %pembulatan keatas
H(i,j)= (4.0)*3;
H(i,j)= 12;
Unutk array x = 39;
H(i,j)= (round((7475)/(159506)))*85))*3;
H(i,j)= (round(3.9833925))*3; %pembulatan keatas
H(i,j)= (4.0)*3;
H(i,j)= 12;
H(8,5)= 12; H(9,4)= 12; H(9,5)= 12;
H(9,10)= 12; H(10,3)= 12;
Dan seterunya untuk array 40; 44; 45; 50;

18
2
18
2
18
2
0
18
3
18
1
18
0
18
4
16
9
10
7

18
2
18
2
0
18
3
18
1
18
1
18
5
17
1
10
9
50

18
3
0
18
0
18
2
18
0
18
4
16
8

0
18
1
18
3
18
1
18
5
16
3

18
2
18
0
18
0
18
4
15
8
87

91

40

98

44

12

45

12

12

12

9

9

18
2
18
2
18
2
18
2
18
3
18
1
18
0
18
4
16
9
10
7

18
2
18
2
18
2
18
3
18
1
18
1
18
5
17
1
10
9

18
3
18
2
18
0
18
2
18
0
18
4
16
8

18
1
18
1
18
3
18
1
18
5
16
3

18
2
18
0
18
0
18
4
15
8

91

0

98

0

0

0

0

12

0

0

9

9

87

H(i,j)= (round(((cdf(x,1))/(pixel))*85))*3;

Penjelasan dari perkalian 85 dan perkalian 3 :
Nilai maksimum dari brightness adalah 255, dan 85*3
adalah 255, jika kita asumsikan cdf (x,1) = 1000 dan
pixel = 1000 maka, H (i,j) = 255. Nilai dari 85*3 bisa
diganti dengan beberapa kombinasi seperti misalnya
51*5 atau 63.75*4 . Maksud dari mengguanakan
perkalian 3 diluar round untuk menggabungkan 3
space blok menjadi satu.

Space 3
blok
Space 3
blok
Space 3
blok
Space 3
blok

Tidak semua space 3 array, ada beberapa yang lebih
dari 3 array.

iii.

Histogram Shaping

Beberapa bentuk aplikasi menginginkan histogram
yang memiliki bentuk secara khusus. Histogram
Shaping digunakan untuk membandingkan beberapa
gambar yang sama (multiple image) dengan kondisi
pencahayaan yang berbeda. Dengan menggunkan
Histogram Shaping, histogram dapat dibentuk secara
serupa atau mendekati mirip dengan meminorkan
tingkat pencahayaan (brightness). Hal ini bisa dicapai
tanpa mengubah strukturnya.

IV.

Operasi Aritmatik Antar Image
Multiple image memerlukan pertimbangan operasi
aritmatik dan menggunakan dasar-dasar operasi seperti
pertambahan/pengurangan dan perkalian/pembagian.
Karena citra digital dibentuk dengan menggunakan
angka dalam array, sehingga harus berhati-hati dalam
menentukan operasi yang akan digunkan. Anggap kita
memiliki sejumlah n citra dengan dimensi yang sama
ukuran MxN pixel f1 , f2 , ... , fn .
Jumlah dari n image adalah,



Contoh kasus, misal terdapat 2 citra I1 dan I2 dengan
ukuran NxN pixel, dengan menggunakan operasi-operasi
Addition (pertambahan), Subtraction (pengurangan),
Multiplication (Perkalian), dan Division (pembagian)
Pointwise Matrix Addition



Pointwise Matrix Substraction

[Type sidebar content. A
sidebar is a standalone
supplement to the main
document. It is often aligned
on the left or right of the
page, or located at the top
or bottom. Use the Text Box
Tools tab to change the
formatting of the sidebar
text box.
Type sidebar content. A
sidebar is a standalone
supplement to the main
document. It is often aligned
on the left or right of the
page, or located at the top
or bottom. Use the Text Box
Tools tab to change the
formatting of the sidebar
text box.]



Pointwise Matrix Multiplication



Pointwise Matrix Division

Jika kita memiliki banyak citra, pertambahan dan
perkalian dapat digunakan sebagai berikut,

i.

Image-averaging for noise reduction

Sering sekali terjadi sebuah citra digital yang kita
ambil dengan
kamera
terpapar noise atau
gangguan, bahkan hasil gambar yang diperoleh rusak
atau tidak sesuai dengan yang kita inginkan, biasanya
ini disebabkan oleh additve noise (gangguangangguan tambahan). Noise ini berasal dari kamera

itu sendiri, komputer yang mengolah gambar, dan
thermal noise pada sirkuit komputer.
Sebuah citra/gambar ( J ) dan additive noise ( N ),
maka citra yang bersih dari noise ( I ) ,
I =J–N
Dimana nilai N merupakan nialai variabel random,
jika kita memiliki citra dalam jumlah M, kemudian
kita membuat sebuah kesimpulan dimana sejumlah M
noise (jumlah M cukup besar) dapat dijabarkan
sebagai berikut,
Untuk N1 , N2 , N3 , . . . , NM

Ini artinya rata-rata dari jumlah noise yang sangat
besar mengahsilkan nilai matriks yang mendekati nol,
untuk endapatkan nilai rata-rata ini membutuhkan
jumlah citra yang banyak sebgai perbandingannya.
Contoh kasus, anggap kita memiliki sejumlah sampel
M gambar gambar/citra yaitu J1 , J2 , J3 , . . . , JM
dengan lantar citra yang sama. Pengambilan citra
dianggap cepat dan tidak ada pergerakan dalam
pengambilan citra. Tetapi frame dari citra terdapat
banyak gangguan (noisy) sehingga,

Anggaplah kita menggunakan teori rata-rata frame
image sehingga didapat,
Dimana I1 = I2 = I3 = . . . = IM = I didapatkan,

Jika kondisi jumlah M terpenuhi untuk melakukan teori rata-rata Imageaveraging for noise reduction.