Pengolahan dalam Domain Spasial dan Restorasi Citra

40
Pengolahan dalam Domain Spasial dan Restorasi Citra Pengolahan Citra Digital Materi 4 Eko Prasetyo Teknik Informatika UMG-UPN Veteran Jatim 2012

description

Pengolahan dalam Domain Spasial dan Restorasi Citra. Pengolahan Citra Digital Materi 4. Eko Prasetyo Teknik Informatika UMG- UPN Veteran Jatim 2012. Konsep Domain Spasial. Domain Spasial  Operasi pemfilteran secara linear. - PowerPoint PPT Presentation

Transcript of Pengolahan dalam Domain Spasial dan Restorasi Citra

Page 1: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

Pengolahan dalam Domain Spasial

dan Restorasi CitraPengolahan Citra DigitalMateri 4

Eko PrasetyoTeknik Informatika

UMG-UPN Veteran Jatim2012

Page 2: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

2

Konsep Domain Spasial Domain Spasial Operasi

pemfilteran secara linear. Mengalikan setiap piksel dalam

tetangga dengan koefisien yang terhubung kepadanya dan menjumlahkan hasilnya untuk mendapatkan jawaban pada setiap titik (x,y).

Jika ukuran tetangga adalah m x n, koefisien mn dibutuhkan. Koefisien dibentuk menjadi matriks yang disebut dengan filter, mask, filter mask, kernel, template, atau window.

Page 3: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

3

Konsep Domain SpasialAda 2 konsep dalam filter spasial linier,

yaitu correlation (korelasi) dan convolution (konvolusi).

Korelasi adalah proses passing mask terhadap citra array f seperti yang digambarkan pada gambar sebelumnya.

Mekanisme konvolusi sama dengan korelasi, hanya saja w diputar 180o terlebih dahulu baru kemudian disampaikan pada citra f

Page 4: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

4

Korelasi dan Konvolusi 1 dimensi

Page 5: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

5

Korelasi dan Konvolusi 2 dimensikorelasi filter w(x,y) sebuah citra f(x,y) berukuran m x n dituliskan dengan w(x,y) f(x,y)

a

as

b

bttysxftsw ),(),(

w(x,y) f(x,y) =

konvolusi w(x,y) dan f(x,y) dituliskan w(x,y) f(x,y)

w(x,y) f(x,y) =

a

as

b

bttysxftsw ),(),(

R = w1z1 + w2z2 + … + wmnzmn

= wkzk

= wTz

mn

k 1

Page 6: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

6

Mask 3 x 3

R = w1z1 + w2z2 + … + w9z9

= wkzk = wTz

9

1k

w1 w2 w3

w4 w5 w6

w7 w8 w9

w dan z adalah vektor 9 elemen yang dibentuk dari koefisien mask dan intensitas citra

Toolbox untuk melakukan filter linear spasial adalah fungsi imfilter dengan formula: g = imfilter(f, w, filtering_mode, boundary_option, size_option);

Pilihan PenjelasanMode Filter ‘corr’ Filter dilakukan menggunakan korelasi. Nilai

default

‘conv’ Filter dilakukan menggunakan konvolusiPilihan Boundary P Boundary cira input diperluas dengan lapisan

sebuah nilai, P (ditulis tanpa tanda petik). Ini merupakan nilai default dengan nilai 0.

‘replicate’ Ukuran citra diperluas dengan replikasi nilai dalam border luarnya.

‘symmetric’ Ukuran citra diperluas dengan refleksinya terhadap border.

‘circular’ Ukuran citra diperluas dengan menganggap citra sebagai satu periode fungsi periodik 2-D.

Pilihan Ukuran‘full’ Outputnya adalah ukuran yang sama dengan

citra yang diperluas.

‘same’ Outputnya adalah ukuran yang sama dengan input. Ini adalah nilai default.

Page 7: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

7

Pemfilteran dengan korelasi

citra asli dengan opsi ‘default’

dengan opsi ‘replicate’

dengan opsi ‘symmetric’

dengan opsi ‘circular’

dengan opsi ‘replicate’ dan tipe uint8

>> f=imread('bw.png');>> f=rgb2gray(i); >> f=im2double(i);>> w=ones(31);>> g = imfilter(f,w);>> figure, imshow(g, [ ]);>> grep = imfilter(f,w,'replicate');>> figure, imshow(grep, [ ]);>> gsym = imfilter(f,w,'symmetric');>> figure, imshow(gsym, [ ]);>> gcir = imfilter(f,w,'circular');>> figure, imshow(gcir, [ ]);>> f8 = im2uint8(f);>> gf8 = imfilter(f8, w, 'replicate');>> figure, imshow(gf8, [ ]);

Page 8: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

8

Filter Penghalusan (Smoothing) Digunakan untuk: mengaburkan (blurring)

dan untuk mengurangi noise pada citra. Blurring ini biasanya menjadi

preprocessing task dalam pengolahan citra, ◦ seperti membuang detail kecil citra untuk

mengekstraksi obyek yang besar dan penghubung gap kecil dalam garis atau kurva.

Pengurangan noise dapat dilakukan oleh blurring dengan filter linear maupun filter non-linear.

Filter Linear◦ Output dari smoothing dengan filter linear

adalah rata-rata nilai piksel dalam tetangga dari rentang mask filter.

◦ Disebut dengan averaging filter, disebut juga lowpass filter.

9

091

iizR

rata-rata level intensitas piksel dalam tetangga 3 x 3 yang didefinisikan oleh mask dengan w=1/9

Page 9: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

9

Filter Penghalusan (Smoothing) (2)

0 3 3 2

4 2 4 6

3 7 3 5

2 7 2 4Input: 4x4 image Gray scale = [0,7]

a

as

b

bt

a

as

b

bt

tsw

tysxftswyxg

),(

),(),(),(

1 2 3 2

2 3 4 2

3 4 4 3

2 3 3 2Output: 4x4 image (smoothed) Gray scale = [0,7]

Filter rata-rata berukuran 3x3 (bentuk seperti dibawah)Opsi Boundary: default (0 disemua pad)

Page 10: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

10

Filter Penghalusan (Smoothing) (3)

Hasil filter rata-rata dengan ukuran mask 3, 5, 9, 21,35

>> w3=ones(3)/9;>> w5=ones(5)/25;>> w9=ones(9)/81;>> w21=ones(21)/441;>> w35=ones(35)/1225;>> g3=imfilter(f,w3); >> figure, imshow(g3, [ ]);>> g5=imfilter(f,w5);>> figure, imshow(g5, [ ]);>> g9=imfilter(f,w9);>> figure, imshow(g9, [ ]);>> g21=imfilter(f,w21);>> figure, imshow(g21, [ ]);>> g35=imfilter(f,w35);>> figure, imshow(g35, [ ]);

Page 11: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

11

Filter Penghalusan (Smoothing) (4)

0 3 3 2

4 2 4 6

3 7 3 5

2 7 2 4Input: 4x4 image Gray scale = [0,7]

Output: 4x4 image (smoothed) Gray scale = [0,7]

Filter rata-rata berukuran 3x3 (bentuk seperti dibawah)Opsi Boundary: default (0 disemua pad)

1 2 2 2

2 3 4 3

3 4 4 3

2 4 3 2

Page 12: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

12

Penghalusan dengan Filter non-Linear (Order-Statistic) Order-statistic adalah filter spasial non-linear yang hasilnya

didasarkan pada urutan (rangking) piksel yang mengisi area citra yang diapit filter dan kemudian mengganti nilai dari pusat piksel dengan nilai yang ditentukan oleh hasil perangkingan.

Filter yang paling dikenal: median filter. ◦ Filter median mengganti nilai piksel dengan median dari nilai

intensitas dalam tetangga dari piksel tersebut (nilai asli dari piksel tersebut termasuk dalam perhitungan median)

◦ Baik untuk menghilangkan salt-and-pepper noise karena sifat median yang menjauhi hitam dan putih.

0 3 3 24 2 4 63 7 3 52 7 2 4Citra asli

0 2 2 02 3 3 32 3 4 30 2 3 0

median filter

Filter median 3x3

1 1 11 1 11 1 1

Toolbox fungsi ordfilt2 menghasilkan order-statistic filters. g = ordfilt2(f, order, domain)order adalah nilai ke-x hasil pengurutan tetangga yang ditentukan oleh bukan nol dalam domain.

Page 13: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

13

Penghalusan dengan Filter non-Linear (Order-Statistic) (2)

Filter lain yang diberikan oleh statistik dasar. Jika menggunakan nilai terbesar urutan maka akan menjadi max filter:◦ Berguna untuk mencari titik-titik yang paling terang dalam citra. ◦ Hasil dari filter max 3 x 3 diberikan oleh R = max{zk|k = 1, 2, …, 9}.

Filter order-statistic dengan mengambil nilai terkecil disebut min filter :◦ Digunakan untuk tujuan mencari titik-titik yang paling gelap◦ Hasil dari filter min 3 x 3 diberikan oleh R = min{zk|k = 1, 2, …, 9}.

0 3 3 24 2 4 63 7 3 52 7 2 4

4 4 6 67 7 7 67 7 7 67 7 7 5

max filterCitra asli

0 0 0 00 0 2 00 2 2 00 0 0 0min filter

Page 14: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

14

Penghalusan dengan Filter non-Linear (Order-Statistic) (3) Toolbox filter spasial non-linear adalah fungsi ordfilt2 yang

menghasilkan order-statistic filters. ◦ g = ordfilt2(f, order, domain)◦ order adalah nilai ke-x hasil pengurutan tetangga yang ditentukan oleh

bukan nol dalam domain. Untuk filter median:

◦ g = ordfilt2(f, median(1:m*n), ones(m, n))◦ g = medfilt2(f, [m n], padopt)

[m n] mendefinisikan tetangga ukuran m x n di mana median dihitung, padopt menetapkan satu dari tiga pilihan border-padding: ‘zeros’ (default),

‘symmetric’ di mana f diperluas secara simetris dengan mirror-reflecting pada bordernya, dan ‘indexed’ di mana f dilapisi dengan satu jika menggunakan class double dan 0 jika yang lain

Untuk filter max:◦ g = ordfilt2(f, m*n, ones(m, n))

Untuk filter min:◦ g = ordfilt2(f, 1, ones(m, n))

Page 15: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

15

Penghalusan dengan Filter non-Linear (Order-Statistic) (4)

>> f = imread('anak.tif');>> fb = imnoise(f,'salt & pepper', 0.2);>> gm = medfilt2(fb);>> gm2 = medfilt2(fb,[5 5]);>> gm3 = medfilt2(fb,[7 7]);

Citra asli Salt and Pepper noise

Hasil median 3x3 Hasil median 5x5 Hasil median 7x7

Page 16: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

16

Filter Penajaman (Sharpening) Penajaman (sharpening) adalah untuk memperterang (highlight) dalam intensitas

citra. Turunan dari fungsi digital didefinisikan dengan istilah differences. Definisi yang digunakan dalam turunan pertama adalah:

1. Harus menjadi nol pada daerah intensitas yang konstan.2. Harus menjadi tidak nol pada titik datangnya intensitas step (naik) dan ramp (turun).3. Harus menjadi tidak nol pada daerah sepanjang ramp.

Definisi yang digunakan dalam turunan kedua adalah:1. Harus menjadi nol pada daerah intensitas yang konstan.2. Harus menjadi tidak nol pada titik datangnya intensitas step (naik) dan ramp (turun).3. Harus menjadi nol pada daerah sepanjang ramp.

turunan pertama fungsi f(x,y) satu dimensi

)()1( xfxfxf

turunan kedua f(x) sebagai diferensial

)(2)1()1(2

2

xfxfxfxf

Page 17: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

17

Filter Penajaman: Laplacian Filter Laplacian sebuah citra f(x,y) dinyatakan oleh 2f(x,y) yang

didefinisikan dengan:

Umumnya menggunakan perkiraan digital turunan kedua:

dan :

Jika digabung dalam 2f(x,y) menjadi:

Pernyataan ini diimplementasikan pada semua titik (x,y) dalam citra dengan mengisikan konstanta suku sebagai nilai filter mask sesuai dengan letak yang ditunjukkan oleh sukunya

2

2

2

22 ),(),(),(

yyxf

xyxfyxf

),(2),1(),1(2

2

yxfyxfyxfxf

),(2)1,()1,(2

2

yxfyxfyxfyf

),(4)1,()1,(),1(),1(2 yxfyxfyxfyxfyxff

Page 18: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

18

Filter khusus dalam matlab: fspecial()

w = fspecial(‘type’, parameter)di mana ‘type’ adalah jenis filter yang digunakan,

sedangkan parameter mendefinisikan filter tetapannya>> w=fspecial('laplacian',0)w = 0 1 0 1 -4 1 0 1 0 >> w=[0 1 0; 1 -4 1; 0 1 0];>> g=imfilter(f,w);

1 1 1 1

1 1 1 1

1 1 6 6

1 6 6 5

-2 -1 -1 -2

-1 0 5 4

-1 10 -10 -12

3 -16 -7 -8

Page 19: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

19

Type Syntax dan Parameter‘average’ fspecial(‘average’, [r c]). Filter rata-rata persegi panjang dari ukuran r x c, default-nya 3x 3, satu

angka menunjukkan [r c] menetapkan filter bujur sangkar‘disk’ fspecial (‘disk’, r). Filter rata-rata circual (dengan bujur sangkar ukuran 2r+1) dengan radius r,

default radius adalah 5.‘gaussian’ fspecial (‘gaussian’, [r c], sig). Filter lowpass Gaussian dengan ukuran r x c dan standard deviasi

sig positif. Defaultnya 3 x 3 dan 0.5, satu angka dari [r c] menunjukkan filter bujur sangkar.‘laplacian’ fspecial (‘laplacian’, alpha). Filter Laplacian 3 x 3 yang bentuknya ditentukan alpha, angka pada

range [0, 1], nilai default alpha adalah 0.5‘log’ fspecial (‘log’, [r c]). Laplacian dari filter Gaussian (LoG) berukuran r x c dan standard deviasi sig

positif. Nilai default 5 x 5 dan 0.5, satu angka menunjukkan [r c] menetapkan filter bujur sangkar.‘motion’ fspecial (‘motion’, len, theta). Output sebuah filter, ketika digunakan dengan sebuah citra,

memperkirakan motion linear len piksel. Arah motion adalah theta, diukur dengan sudut horizontal. Defaultnya 9 dan 0 yang merepresentasikan motion 9 piksel dengan arah horizontal.

‘prewitt’ fspecial (‘prewitt’). Output mask Prewitt 3 x 3, wv, yang memperkirakan sebuah gradien vertikal. Mask untuk gradien horizontal didapatkan dengan mentranspose hasil wh = wv’

‘sobel’ fspecial (‘sobel’). Output mask Sobel 3 x 3, sv, yang memperkirakan sebuah gradien vertikal. Mask untuk gradien horizontal didapatkan dengan mentranspose hasil sh = sv’

‘unsharp’ fspecial (‘unsharp’, alpha). Output filter unsharp 3 x 3. Parameter alpha mengontrol bentuk; nilainya harus lebih besar dari 0 dan lebih kecil atau sama dengan 1.0, defaultnya 0.2

Filter spasial yang didukung oleh fspecial

Page 20: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

20

Filter Penajaman: Laplacian (2)

>> w1 = [0 1 0; 1 -4 1; 0 1 0];>> w2 = [1 1 1; 1 -8 1; 1 1 1];>> f = imread('srikaya.tif');>> f2 = im2double(f);>> g4 = imfilter(f2,w1,'replicate');>> g4 = f2 - g4;>> g8 = imfilter(f2,w2,'replicate');>> g8 = f2 - g8; Citra asli

Hasil penajaman

Page 21: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

21

Filter GradienTurunan pertama pengolahan citra digital

diimplementasikan jarak (panjang) gradien. Untuk fungsi f(x,y), gradien f pada koordinat (x,y)

didefiniskan sebagai vektor kolom 2-dimensi:

Panjang vektor ini diberikan oleh:

Model lain:◦ M(x,y) |gx| + |fy|

yfxf

gg

fgradfy

x)(

2/122 )()(),( yx ggfmagyxM

Page 22: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

22

Filter Gradien: Robert dan Sobel Dua definisi lain yang diusulkan oleh Robert[1965]:

◦ gx = (z9 – z5) dan gy = (z8 – z6) Jika menggunakan formula M(x,y), gx dan gy, maka untuk menghitung citra

gradien dengan:◦ M(x,y) = [(z9 – z5)2 + (z8 – z6)2]1/2

Formula yang lain:◦ M(x,y) |z9 – z5| + |z8 – z6|

Perkiraan nilai gx dan gy menggunakan tetangga 3 x 3 yang terpusat di z5 sbb:

◦ Dan

◦ Sehingga: M(x,y) = |(z7 + 2z8 + z9) – (z1 + 2z2 + z3| + |(z3 + 2z6 + z9) – (z1 + 2z4 + z7)|

)2()2( 321987 zzzzzzdxdfg x

)2()2( 741963 zzzzzzdydfg y

Page 23: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

23

Filter Gradien: Sobel0 3 3 2

4 2 4 6

3 7 3 5

2 7 2 4

10 12 16 16

10 11 7 6

1 6 -1 -6

-13 -20 -18 -13

0 3 3 2

4 2 4 6

3 7 3 5

2 7 2 4

8 6 2 -10

14 3 5 -14

23 0 -3 -12

21 0 -8 -7

gx

gy

18 18 18 6

24 14 12 -8

24 6 -4 -18

8 -20 -26 -20

g = gx + gy

Page 24: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

24

Filter Gradien: Sobel (2)

Citra asli

Gradien gx Gradien gy

Gradien gx dan gy

>> f = imread('lensa_kontak.png');>> wh = [-1 -2 -1; 0 0 0; 1 2 1];>> wv = [-1 0 1; -2 0 2; -1 0 1];>> gx = imfilter(f,wh);>> figure, imshow(gx, [ ]);>> gy = imfilter(f,wv);>> figure, imshow(gy, [ ]);>> g = gx + gy;>> figure, imshow(g, [ ]);

Page 25: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

25

Degradasi dan Restorasi Citra Proses degradasi dimodelkan sebagai sebuah fungsi degradasi yang

digabungkan dengan syarat additive noise◦ Mengoperasikan citra input f(x,y) untuk menghasilkan citra terdegradasi g(x,y).

Jika ada g(x,y), fungsi degradasi H dan syarat additive noise (x,y), obyektif dari restorasi adalah untuk mendapatkan perkiraan f’(x,y) dari citra original.

Diinginkan memperkirakan kemungkinan yang semirip mungkin terhadap citra input original.

Citra terdegradasi dalam domain spasial:◦ g(x,y) = h(x,y) f(x,y) + (x,y)◦ di mana h(x,y) adalah representasi spasial dari fungsi degradasi, simbol “” adalah

konvolusi. Dalam domain spasial, konvolusi dianalogikan dengan perkalian dalam

domain frekuensi, sehingga formula di atas dapat dituliskan dalam domain frekuensi dengan bentuk:◦ G(u,v) = H(u,v)F(u,v) + N(u,v)

Fungsi degradasi

H+f(x,y)

g(x,y)

f’(x,y)

Noise(x,y)

DEGRADASI RESTORASI

Filter restorasi (s)

Page 26: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

26

Model Noise Sumber noise bisa terjadi sejak pengambilan dan atau transmisi citra. Kinerja dari sensor citra dipengaruhi oleh banyak faktor seperti kondisi

lingkungan selama pengambilan citra dan oleh kualitas sensitivitas elemen itu sendiri. ◦ Contoh, dalam pengambilan citra dengan kamera CCD, level pencahayaan

dan suhu sensor adalah faktor utama yang memengaruhi tingkat noise pada citra yang dihasilkan.

Citra yang terkorupsi selama transmisi secara prinsip disebabkan interferensi channel yang digunakan untuk transmisi. ◦ Misalnya, citra yang ditransmisikan menggunakan jaringan wireless dapat

terkorupsi sebagai hasil dari pencahayaan atau pengaruh atmosfer yang lain Gaussian Noise

◦ PDF (probability density function) variabel random Gaussian z

◦ di mana z merepresentasikan intensitas, ź adalah nilai rata-rata z dan adalah standar deviasi

22 2/)(

21)(

zzezp

Page 27: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

27

Model Noise (2) Rayleigh Noise

◦ PDF noise Rayleigh diberikan oleh:

◦ Rata-rata dan varian diberikan oleh formula:

◦ Dan

Erlang (gamma) noise◦ PDF noise Erlang diberikan oleh:

◦ di mana parameter a > 0, b integer positif dan “!” mengindikasikan faktorial. Rata-rata dan varian dari kepadatan ini diberikan oleh:

◦ Dan

a z 0

a z )(2)(

/)( 2

untuk

untukeazbzp

baz

4/baz

4)4(2 b

abz

0 z 0

0 z )!1()(

1

untuk

untukeb

zazp

azbb

2

2

ab

Page 28: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

28

Model Noise (3) Exponential Noise

◦ PDF exponential noise diberikan oleh:

◦ di mana a > 0. Rata-rata dan varian dari kepadatan ini adalah:

◦ dan Uniform Noise

◦ PDF uniform noise diberikan oleh:

◦ Rata-rata dan varian dari kepadatan ini adalah:

◦ Dan

Impuls (Salt-and-Pepper Noise)

0 zuntuk 00 z

)(untukae

zpaz

az 1

2

2 1a

lainnya

jikaabzp

0

b z a 1)(

2baz

12)( 2

2 ab

lainnya0

b zuntuk a zuntuk

)( b

a

PP

zp

Page 29: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

29

Model Noise (4)

Page 30: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

30

Ilustrasi noise

0 50 100 150 200 250

0

1

2

3

4x 10

4

Page 31: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

31

Teknik Restorasi : Mean Filter Arithmetic Mean Filter

◦ Sxy adalah window mask◦ Menghitung nilai rata-rata citra terkorupsi g(x,y) pada daerah yang

didefinisikan oleh Sxy

Geometric mean filter◦ Perkalian piksel dalam window sub-image, yang dipangkatkan

dengan 1/mn. ◦ Menghasilkan citra yang lebih halus dibanding arithmetic mean filter

tetapi tetap menghilangkan sedikit detail citra dalam prosesnya

Harmonic Mean Filter◦ Bekerja dengan baik pada salt noise, tetapi tidak untuk pepper

noise. ◦ Bekerja dengan baik pada jenis noise seperti noise Gaussian

xySts

tsgmn

yxf),(

),(1),(

mn

Sts xy

tsgyxf1

),(),(),(

xySts tsg

mnyxf

),( ),(1),(

Page 32: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

32

Teknik Restorasi: Mean Filter (2)Contraharmonic Mean Filter

◦ Q disebut dengan order filter. ◦ Sangat cocok untuk mengurangi pengaruh noise

salt-and-pepper. ◦ Untuk Q positif, filter mengeleminasi pepper noise. ◦ Untuk Q negatif, filter menghilangkan salt noise. ◦ Kedua hal tersebut tidak bisa bekerja bersama-

sama. ◦ Contra-harmonic mean filter akan berubah

mirip arithmetic mean filter jika Q = 0, dan mirip harmonic mean filter jika Q = -1

xy

xy

Sts

Q

Sts

Q

tsg

tsgyxf

),(

),(

1

),(

),(),(

Page 33: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

33

Restorasi dengan aritmetik dan geometrik mean filter

>> g = imnoise(f,'gaussian');>> figure, imshow(g);

>> fave = spfilt(g,'amean', 3, 3);>> figure, imshow(fave);>> fgeo = spfilt(g,'gmean', 3, 3);>> figure, imshow(fgeo);

Citra dikorupsi oleh noise GaussianCitra asli

difilter dengan arithmetic mean filter dengan ukuran 3x3

difilter dengan geometric mean filter dengan ukuran 3x3

Page 34: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

34

Restorasi dengan filter: contraharmonic, max dan min

Pndegradasian citra dengan noise>> [M, N] = size(f);>> R = imnoise2('salt & pepper', M, N, 0.1, 0);>> c = find(R == 0);>> gpep = f;>> gpep(c) = 0;>> R = imnoise2('salt & pepper', M, N, 0, 0.1);>> c = find(R == 1);>> gsal = f;>> gsal(c) = 255;>> figure, imshow(gpep);>> figure, imshow(gsal);

Citra terkorupsi dengan pepper noise

Citra terkorupsi dengan salt noise

Page 35: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

35

Contraharmonic dan max

Hasil filter contraharmonic ukuran 3x3 dengan order 1.5

Hasil filter max ukuran 3x3Citra terkorupsi dengan pepper noise

>> fconp = spfilt(gpep,'chmean', 3, 3, 1.5);>> figure, imshow(fconp);>> fpep = spfilt(gpep,'max', 3, 3);>> figure, imshow(fpep);

Page 36: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

36

Contraharmonic dan min

Hasil filter contraharmonic ukuran 3x3 dengan order -1.5

Hasil filter min ukuran 3x3Citra terkorupsi dengan salt noise

>> fconn = spfilt(gsal,'chmean', 3, 3, -1.5);>> figure, imshow(fconn);>> fsal = spfilt(gsal,'min', 3, 3);>> figure, imshow(fsal);

Page 37: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

37

Teknik Restorasi: Order-statistik Filter spasial yang hasilnya didasarkan dari pengurutan

(perangkingan) nilai piksel yang merupakan isi daerah citra yang diterapkan oleh filter.

Hasil rangking menentukan hasil filter. Filter median

◦ Mengganti nilai piksel dengan median dari level intensitas dalam tetangga piksel yang telah dilakukan perangkingan (piksel pusat juga ikut dirangking)

◦ Untuk jenis random noise tertentu memberikan kemampuan pengurangan noise yang sangat baik, dengan memperhatikan pengurangan blurring filter smoothing linier pada ukuran yang sama

Filter max

)},({),(),(

tsgmedianyxfxySts

Page 38: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

38

Teknik Restorasi: Order-statistik (2)Filter max

◦ Sangat berguna untuk mencari titik-titik yang paling terang dalam citra.

◦ Pepper noise dapat dikurangi oleh filter ini sebagai hasil proses pemilihan max dalam sub-image Sxy.

Filter min◦ Sangat berguna untuk mencari titik-titik paling gelap dalam

citra, dan mengurangi salt noise sebagai hasil operasi min

Filter midpoint◦ Menghitung titik tengah antara nilai maksimum dan

minimum dalam daerah yang diliputi oleh filter

)},({max),(),(

tsgyxfxySts

)},({min),(),(

tsgyxfxySts

)},({min)},({max21),(

),(),(tsgtsgyxf

xyxy StsSts

Page 39: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

39

Teknik Restorasi: Order-statistik (3) – Alpha Trimmed

Andaikan bahwa akan menghapus d/2 nilai intensitas terendah dan d/2 nilai intensitas tertinggi dari g(x,y) dalam tetangga Sxy. Jika gr(s,t) mereprsentasikan sisa mn – d piksel, Filter dibentuk oleh rata-rata sisa piksel ini yang disebut alpha-trimmed mean filter.

Di mana nilai d dalam range [0, mn – 1]. Ketika d=0, alpha-trimmed mendekati arithmetic mean filter. Jika d =mn-1,

filter ini menjadi filter median. Untuk nilai d yang lain, filter ini sangat berguna dalam situasi yang

menyertakan beberapa jenis noise, seperti kombinasi noise salt-and-pepper dengan Gausian

xySts

r tsgdmn

yxf),(

),(1),(

>> g = imnoise(f,'gaussian');>> fgau = spfilt(g,'midpoint', 3, 3);>> figure, imshow(fgau);>> fatr = spfilt(g,'atrimmed', 3, 3, 2);>> figure, imshow(fatr);

Hasil filter midpoint ukuran 3x3 pada citra dengan pepper noise

Hasil filter alpha-trimmed ukuran 3x3, d=2 pada citra dengan pepper noise

Citra terkorupsi dengan pepper noise

Page 40: Pengolahan dalam  Domain  Spasial dan Restorasi  Citra

40

ANY QUESTION ?To Be Continued … Materi 5 – Morfologi Citra