Sistem Mesin Pencitraan (Buku Panduan dengan aplikasi MATLAB)

25

Transcript of Sistem Mesin Pencitraan (Buku Panduan dengan aplikasi MATLAB)

Dasar Pengolahan Citra GrayLevelI. Image histogramII. Operasi linear histogrami. Offsetii. Skala

iii. Image negativeiv. Stretch histogram skala penuh

III. Operasi non-linear histogrami. Operasi titik logaritmikii. Histogram equalization

iii. Histogram shapingIV. Operasi arimatik antar image

i. Image averaging for noise reduction

I. Image HistogramHistogram merupakan sebuah cara untukmenampilkan distribusi data. TeknikHistogram pertama kali diperkenalkan olehKarl Pearson.

Figure 1. Contoh sebuah image histogrampada sebuah graylevel image

Image histogram menampilkan distribusidata pixel sebuah citra atau gambar. Pixeldalam sebuah citra/gambar (dalam hal inicitra adalah graylevel) memiliki rangenilai dari 0 – 255 yang merepresentasikantingkat kecerahan citra. Nilai 0 yangberarti gelap (hitam) dan 255 yang berartiterang (putih). Pada kolom sebelah kirimenunjukan jumlah pixel dan bawahmenunjukan tingkat kecerahan.

Figure 2. Contoh citra gray level

II. Operasi Linier HistogramPengertian dari Operasi Linier secerasederhana seperti berikut. Jika kitamempunyai sebuah citra yang diberi nama“G” kemudian dilakukan sebuah prosesopersi dengan fungsi yang kita sebut “F”,fungsi “F” ini melakukan operasi padasetiap individual pixel dari sebuah citrayang kemudian menghasilkan sebuah citrabaru bernama “H”.

Figure 3. Flow chart proses operasi linier

Dalam operasi linier sederhana kitamengenal sebuah rumusan sederhana dalammatematika yaitu,

Y=P.X+B

Sebagai pengandaian “Y” adalah H (i,j)hasil operasi linier yang melibatkan “X”atau G (i,j) dan P merupakan sebuahoperator multiplier (scale) sedangkan Bmerupakan operator konstanta (offset).

Proses operasi linier hanya bertujuanuntuk meningkatkan atau mengurangi tingkatkecerahan Gray Scale dan sama sekali tidakmempengaruhi posisi objek pada citraataupun ukurannya. Tujuan utama darioperasi ini adalah merekonstruksi ulangdistribusi image histogram dengan men-strech atau men-compress distribusihistogram.

i. OffsetOffset merupakan sebuah pertambahan nilaikonstanta “B” dengan tujuan untuk merubahposisi distrbusi image histogram.

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 offset dan terjadi saturasi pada ujung nilai 255, dilakukan metode clipping (pembatasan).

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.

Figure 4. contoh offset untuk B>0

Jika B bernilai positif (B>0) makapergeseran kearah kanan dan citra akanbertambah terang. Jika B bernilai negatif(B<0) pergeseran kearah kiri dan citraakan meredup. Keduanya hanya berefek padabrighteness atau tingkat keterangan,tetapi tidak memberikan efek padaperbedaan (kontras) warna pada citra.

Y=X+B

ii. Skala (Multiplier)Skala merupakan suatu multiplikatif(faktor pengkali) dalam operasi histogram.Terdapat 2 macam faktor yaitu Nilai faktor(P) > 1, yang artinya perbesaran ataustretching (perenggangan), dan nilaifaktor (P) < 1, yang artinyamengecil/mengerut atau terkompres.

Y=P∗X

Figure 5. Hasil implementasi darimultiplikatif skala histogram

dengan nilai P > 0 (stretching)

iii. Image negative

Citra negatif merupakan suatu contohkombinasi dari penggunaan operator offset danskala secara bersama dengan nilai P = -1 danB = 255.

Y=−X+255

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<1).

Figure 6. Hasil dari operasi negatif yangmenghasilkan distribusi histogram

kebalikannya.

iv. Stretch histogram skala penuh

Stretch histogram skala penuh adalahoperasi yang membuat histogram awal (X)menjadi histogram akhir (Y) yangterdistribusi nilainya dari 0 hingga 255.

jika kita mempunyai nilai gray level padagambar asli M dan N maka,

P∗M+B=0 P∗N+B=255

P dan B tidak diketahui nilainya, denganmelakukan sedikit kalkulasi aljabar akandidapat,

P=255N−M

B=−A( 255N−M )Rumusan akhirnya,

Y=( 255N−M) (X−M)

Note :

Full-Scale Histogram Stretch (FSHS) akan memberikan efek yang nyata terhadap citra jika kondisi histogram awal yang terdistribusi secara lokal (contohnilainya range nya berkisar 100 – 150) sehingga memungkinkan untuk dilakukan FSHS dan hasilnya akan sangat telihat berbeda jauh. Sebaliknya jika kondisi awal histogram dari citrasudah tersebar merata, maka tidak ada efek dari operasi FSHS.Maka dibutuhkan teknik lainnya yaitu Non-Linier distribution.

Figure 7. Merupakan ilustrasi dari hitogramequalization dengan metode full stretch skala

penuh

Figure 8. Hasil dari FSHS (Full-ScaleHistogram Stretch)

III. Operasi Non – Linier Histogram

Y=f [X ]

Fungsi diatas adalah rumusan dasar dimana f [] adalah non-linier equation, cakupan wilayahnon-linier sangat luas, tetapi dalampengolahan citra dibatasi oleh beberapafungsi saja untuk mendapatkan hasil yangsangat baik. Salah satu contoh penggunaannon-linier adalah fungsi logaritmik.

i. Operasi titik logaritmikDi asumsikan bahwa X merupakan nilaipositif, kemudian dilakukan operasilogaritmik yang diikuti operasi FSHS.

Note :

Pada gambar pertama gambar terlihat gelap.

Setelah dilakukan operasi fungsi Logaritmik dan FSHS.

Y=FSHS {log [1+X ] }

Jika terdapat citra yang memiliki nilai terendah 0 dantertinggi 255, maka fungsi log akan membuat range Xbaru yaitu {log 1, log 256} dengan kata lain {0, log256}. Dengan menempatkan FSHS linier operation, makayang paling terang (log 256) akan ter-stretch palingminimum dan yang paling redup dengan 0 ter-stretchpaling maksimum.

X mula-mula {0, 255} dengan operasi fungsi logaritmikX menjadi {0, log 255}, kemudian nilai X dimasukandalam fungsi operasi linier FSHS.

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

Figure 9. Gabungan hasil operasi logaritmik dan FSHS

ii. Historam equalizationSalah sat operasi paling penting dalam operasi non-linier adalah Histogram Equalization atau disebut jugasebagai Histogram Flattening. Tujuan dari HistogramEqualization adalah membuat distribusi histogram flat(datar) yang berisi informasi dan kompleksitas citrayang lebih baik.

Contoh histogram dengan citra ukuran M (row) x N(column) pixel, dengan total MN pixel. Maka Fungsi

Probabilitas ( pf ) yang dinyatakan sebagai NormalizedImage 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 )= 1600000

x(4236)

Maka didapatkan,

p (150 )=0.0706083

Secara matematik dapat dirumuskan sebagaiberikut,

K – 1 = 255 ; k = 0 (dimulai dari 0 hingga 255) ; pf

(k) = 1 yang artinya total density (kerapatan) atau totalprobabilitas bernilai 1. Seperti yang ditunjukan padafigure.10 distribusi densitas masing-masingtingkat kecerahan untuk 128 dengan jumlahpixel 610 dan total pixel 114.639 pixel, makaprobabilitas untuk k = 128,

p (128 )=0,005321

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

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

Square – Root

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

Logarithm

J (i,j)=exp [I (i,j ) ]=eI(i,j)

Exponential

Figure 10. Kumulatif Probabilitas Densitas

Kita juga mendefinisikan cummulative normalizedimage histogram.

Seperti yang ditunjukan pada figure.10distribusi densitas masing-masing tingkatkecerahan dari 0 – 128 dengan kumulatif44.867 dan total pixel 114.639 pixel, makaprobabilitas untuk k = 128,

P (128 )=0,3913764

Figure 11. Grafik CFD yang ditunjukan dengangaris biru dan garis hitam adalah flattering

function

Figure 12. Menampilkan gambar sebelum dansesudah dilakukan Histogram Equalization

Teknik yang digunakan jika melakukanhistogram secara manual adalah pengelompokanberdasarkan pembulatan (round) kebawah.Sebagai contoh histogram pada figure.12 untukarray 0 – 24 dengan total kumulatifdistribusi pixel 901

Array 0 1 2 ... 22 23 24CDF 0 0 0 ... 418 546 901

Dilakukan pembulatan dengan rumus sebagaiberikut,

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 bagiandari citra.

182 182 183 11 182 182 182 183 181 182182 182 6 181 180 182 182 182 181 180182 7 180 183 180 182 182 180 183 1805 183 182 181 184 182 183 182 181 184

183 181 180 185 158 183 181 180 185 158181 181 184 163 87 181 181 184 163 87180 185 168 91 40 180 185 168 91 20184 171 98 44 39 184 171 98 23 16169 109 45 38 38 169 109 22 24 38107 50 39 34 34 107 21 17 34 34

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

H(i,j)= (round((901)/(159506)))*85))*3;H(i,j)= (round(0.480138678))*3; %pembulatan kebwahH(i,j)= (0)*3;H(i,j)= 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;

182 182 183 0 182 182 182 183 181 182182 182 0 181 180 182 182 182 181 180182 0 180 183 180 182 182 180 183 1800 183 182 181 184 182 183 182 181 184

183 181 180 185 158 183 181 180 185 158181 181 184 163 87 181 181 184 163 87180 185 168 91 40 180 185 168 91 0184 171 98 44 39 184 171 98 0 0169 109 45 38 38 169 109 0 0 38107 50 39 34 34 107 0 0 34 34

Array 34 38 39 40 44 45 50

CDF535

07254

7475

7626

8102

8199

8670

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 keatasH(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 keatasH(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 keatasH(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;

182 182 183 0 182 182 182 183 181 182182 182 0 181 180 182 182 182 181 180182 0 180 183 180 182 182 180 183 1800 183 182 181 184 182 183 182 181 184

183 181 180 185 158 183 181 180 185 158181 181 184 163 87 181 181 184 163 87180 185 168 91 40 180 185 168 91 0184 171 98 44 12 184 171 98 0 0169 109 45 12 12 169 109 0 0 12107 50 12 9 9 107 0 0 9 9

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

Penjelasan dari perkalian 85 dan perkalian3 :

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 denganbeberapa kombinasi seperti misalnya 51*5 atau63.75*4 . Maksud dari mengguanakan perkalian3 diluar round untuk menggabungkan 3 spaceblok menjadi satu.

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

iii. Histogram Shaping

Beberapa bentuk aplikasi menginginkanhistogram yang memiliki bentuk secara khusus.

Space 3

Space 3

Space 3

Space 3

Histogram Shaping digunakan untuk membandingkan beberapagambar yang sama (multiple image) dengan kondisi pencahayaanyang berbeda. Dengan menggunkan Histogram Shaping, histogramdapat dibentuk secara serupa atau mendekati mirip denganmeminorkan tingkat pencahayaan (brightness). Hal ini bisadicapai tanpa mengubah strukturnya.

IV. Operasi Aritmatik Antar ImageMultiple image memerlukan pertimbangan operasiaritmatik dan menggunakan dasar-dasar operasiseperti pertambahan/pengurangan danperkalian/pembagian. Karena citra digitaldibentuk dengan menggunakan angka dalam array,sehingga harus berhati-hati dalam menentukanoperasi yang akan digunkan. Anggap kita memilikisejumlah n citra dengan dimensi yang sama ukuranMxN pixel f1 , f2 , ... , fn .Jumlah dari n image adalah,

Contoh kasus, misal terdapat 2 citra I1 dan I2

dengan ukuran NxN pixel, dengan menggunakanoperasi-operasi Addition (pertambahan),Subtraction (pengurangan), Multiplication(Perkalian), dan Division (pembagian)

Pointwise Matrix Addition

Pointwise Matrix Substraction

Pointwise Matrix Multiplication

Pointwise Matrix Division

[Type sidebar content. A sidebar is a standalone supplement to the main document. It is often aligned on the left or right of thepage, 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 thepage, or located at the top or bottom. Use the Text Box Tools tab to change the formatting of the sidebar text box.]

Jika kita memiliki banyak citra, pertambahandan perkalian dapat digunakan sebagaiberikut,

i. Image-averaging for noise reduction

Sering sekali terjadi sebuah citra digitalyang kita ambil dengan kamera terpaparnoise atau gangguan, bahkan hasil gambar yangdiperoleh rusak atau tidak sesuai dengan yangkita inginkan, biasanya ini disebabkan olehadditve noise (gangguan-gangguan tambahan).Noise ini berasal dari kamera itu sendiri,komputer yang mengolah gambar, dan thermalnoise pada sirkuit komputer.

Sebuah citra/gambar ( J ) dan additive noise( N ), maka citra yang bersih dari noise( I ) ,

I = J – N

[Type sidebar content. A sidebar is a standalone supplement to the main document. It is often aligned on the left or right of thepage, 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 thepage, or located at the top or bottom. Use the Text Box Tools tab to change the formatting of the sidebar text box.]

Dimana nilai N merupakan nialai variabelrandom, jika kita memiliki citra dalam jumlahM, kemudian kita membuat sebuah kesimpulandimana sejumlah M noise (jumlah M cukupbesar) dapat dijabarkan sebagai berikut,

Untuk N1 , N2 , N3 , . . . , NM

Ini artinya rata-rata dari jumlah noise yangsangat besar mengahsilkan nilai matriks yangmendekati nol, untuk endapatkan nilai rata-rata ini membutuhkan jumlah citra yang banyaksebgai perbandingannya.

Contoh kasus, anggap kita memiliki sejumlahsampel M gambar gambar/citra yaitu J1 , J2 , J3 , . . . ,JM dengan lantar citra yang sama. Pengambilancitra dianggap cepat dan tidak ada pergerakandalam pengambilan citra. Tetapi frame daricitra terdapat banyak gangguan (noisy)sehingga,

Anggaplah kita menggunakan teori rata-rataframe image sehingga didapat,

Dimana I1 = I2 = I3 = . . . = IM = I didapatkan,

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