1 / 40

Pengolahan dalam Domain Spasial dan Restorasi Citra

Pengolahan dalam Domain Spasial dan Restorasi Citra. Pengolahan Citra Digital Materi 4. Eko Prasetyo Teknik Informatika Universitas Muhamamdiyah Gresik 2011. Konsep Domain Spasial. Domain Spasial  Operasi pemfilteran secara linear.

Download Presentation

Pengolahan dalam Domain Spasial dan Restorasi Citra

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pengolahandalam Domain SpasialdanRestorasi Citra Pengolahan Citra Digital Materi 4 Eko Prasetyo TeknikInformatika UniversitasMuhamamdiyah Gresik 2011

  2. Konsep Domain Spasial • Domain Spasial Operasipemfilteransecara linear. • Mengalikansetiappikseldalamtetanggadengankoefisien yang terhubungkepadanyadanmenjumlahkanhasilnyauntukmendapatkanjawabanpadasetiaptitik (x,y). • Jikaukurantetanggaadalah m x n, koefisienmndibutuhkan. Koefisiendibentukmenjadimatriks yang disebutdenganfilter, mask, filter mask, kernel, template, atauwindow.

  3. Konsep Domain Spasial • Ada 2 konsepketikamelakukan filter spasial linier, yaitucorrelation (korelasi)danconvolution (konvolusi). • Korelasiadalahprosespassingmaskterhadapcitra array f seperti yang digambarkanpadagambarsebelumnya. • Mekanismekonvolusisamadengankorelasi, hanyasaja w diputar 180oterlebihdahulubarukemudiandisampaikanpadacitra f

  4. KorelasidanKonvolusi 1 dimensi

  5. KorelasidanKonvolusi 2 dimensi korelasi filter w(x,y) sebuahcitra f(x,y) berukuran m x n dituliskandengan w(x,y)  f(x,y) 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) = R = w1z1 + w2z2 + … + wmnzmn = wkzk = wTz

  6. Mask 3 x 3 R = w1z1 + w2z2 + … + w9z9 = wkzk = wTz w dan z adalahvektor 9 elemen yang dibentukdarikoefisien mask danintensitascitra Toolbox untukmelakukan filter linear spasialadalahfungsiimfilterdengan formula: g = imfilter(f, w, filtering_mode, boundary_option, size_option);

  7. Pemfilterandengankorelasi >> 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, [ ]); citraasli denganopsi ‘default’ denganopsi ‘symmetric’ denganopsi ‘replicate’ denganopsi ‘circular’ denganopsi ‘replicate’ dantipe uint8

  8. Filter Penghalusan (Smoothing) • Digunakanuntuk: mengaburkan (blurring) danuntukmengurangi noise padacitra. • Blurring inibiasanyamenjadipreprocessing taskdalampengolahancitra, sepertimembuang detail kecilcitrauntukmengekstraksiobyek yang besardanpenghubung gap kecildalamgarisataukurva. • Pengurangan noise dapatdilakukanoleh blurring dengan filter linear maupun filter non-linear. • Filter Linear • Output dari smoothing dengan filter linear adalah rata-rata nilaipikseldalamtetanggadarirentang mask filter. • Disebutdenganaveraging filter, disebutjugalowpass filter. rata-rata level intensitaspikseldalamtetangga 3 x 3 yang didefinisikanoleh mask dengan w=1/9

  9. Filter Penghalusan (Smoothing) (2) Filter rata-rataberukuran 3x3 (bentuksepertidibawah) Opsi Boundary: default (0 disemua pad) Input: 4x4 image Output: 4x4 image (smoothed) Gray scale = [0,7] Gray scale = [0,7]

  10. Filter Penghalusan (Smoothing) (3) >> 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, [ ]); Hasil filter rata-rata denganukuran mask 3, 5, 9, 21,35

  11. Filter Penghalusan (Smoothing) (4) Filter rata-rataberukuran 3x3 (bentuksepertidibawah) Opsi Boundary: default (0 disemua pad) Input: 4x4 image Output: 4x4 image (smoothed) Gray scale = [0,7] Gray scale = [0,7]

  12. Penghalusandengan Filter non-Linear (Order-Statistic) • Order-statistic adalah filter spasial non-linear yang hasilnyadidasarkanpadaurutan (rangking) piksel yang mengisi area citra yang diapit filter dankemudianmenggantinilaidaripusatpikseldengannilai yang ditentukanolehhasilperangkingan. • Filter yang paling dikenal: median filter. • Filter median menggantinilaipikseldengan median darinilaiintensitasdalamtetanggadaripikseltersebut (nilaiaslidaripikseltersebuttermasukdalamperhitungan median) • Baikuntukmenghilangkansalt-and-peppernoisekarenasifat median yang menjauhihitamdanputih. Toolbox fungsi ordfilt2 menghasilkanorder-statistic filters. g = ordfilt2(f, order, domain) order adalahnilaike-x hasilpengurutantetangga yang ditentukanolehbukannoldalam domain. Filter median 3x3 Citra asli median filter

  13. Penghalusandengan Filter non-Linear (Order-Statistic) (2) • Filter lain yang diberikanolehstatistikdasar. Jikamenggunakannilaiterbesarurutanmakaakanmenjadimax filter: • Bergunauntukmencarititik-titik yang paling terangdalamcitra. • Hasildari filter max 3 x 3 diberikanoleh R = max{zk|k = 1, 2, …, 9}. • Filter order-statistic denganmengambilnilaiterkecildisebutmin filter : • Digunakanuntuktujuanmencarititik-titik yang paling gelap • Hasildari filter min 3 x 3 diberikanoleh R = min{zk|k = 1, 2, …, 9}. max filter Citra asli

  14. Penghalusandengan Filter non-Linear (Order-Statistic) (3) • Toolbox filter spasial non-linear adalahfungsi ordfilt2 yang menghasilkanorder-statistic filters. • g = ordfilt2(f, order, domain) • order adalahnilaike-x hasilpengurutantetangga yang ditentukanolehbukannoldalam domain. • Untuk filter median: • g = ordfilt2(f, median(1:m*n), ones(m, n)) • g = medfilt2(f, [m n], padopt) • [m n] mendefinisikantetanggaukuran m x n dimana median dihitung, • padoptmenetapkansatudaritigapilihan border-padding: ‘zeros’ (default), ‘symmetric’ dimana f diperluassecarasimetrisdenganmirror-reflectingpadabordernya, dan ‘indexed’ dimana f dilapisidengansatujikamenggunakan 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))

  15. Penghalusandengan 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

  16. Filter Penajaman (Sharpening) • Penajaman (sharpening) adalahuntukmemperterang (highlight) dalamintensitascitra. • Turunandarifungsi digital didefinisikandenganistilahdifferences. • Definisi yang digunakandalamturunanpertamaadalah: • Harusmenjadinolpadadaerahintensitas yang konstan. • Harusmenjaditidaknolpadatitikdatangnyaintensitasstep (naik) danramp (turun). • Harusmenjaditidaknolpadadaerahsepanjangramp. • Definisi yang digunakandalamturunankeduaadalah: • Harusmenjadinolpadadaerahintensitas yang konstan. • Harusmenjaditidaknolpadatitikdatangnyaintensitasstep (naik) danramp (turun). • Harusmenjadinolpadadaerahsepanjangramp. turunanpertamafungsi f(x,y) satudimensi turunankedua f(x) sebagaidiferensial

  17. Filter Penajaman: Laplacian • Filter Laplaciansebuahcitra f(x,y) dinyatakanoleh2f(x,y) yang didefinisikandengan: • Umumnyamenggunakanperkiraan digital turunankedua: • dan : • Jikadigabungdalam2f(x,y) menjadi: • Pernyataaninidiimplementasikanpadasemuatitik (x,y) dalamcitradenganmengisikankonstantasukusebagainilai filter mask sesuaidenganletak yang ditunjukkanolehsukunya

  18. Filter khususdalammatlab: fspecial() • w = fspecial(‘type’, parameter) • dimana ‘type’ adalahjenis 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);

  19. Filter spasial yang didukungolehfspecial

  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 Hasilpenajaman

  21. Filter Gradien • Turunanpertamapengolahancitra digital diimplementasikanjarak (panjang) gradien. • Untukfungsi f(x,y), gradien f padakoordinat (x,y) didefiniskansebagaivektorkolom 2-dimensi: • Panjangvektorinidiberikanoleh: • Model lain: • M(x,y)  |gx| + |fy|

  22. Filter Gradien: Robert danSobel • Duadefinisi lain yang diusulkanoleh Robert[1965]: • gx = (z9 – z5) dangy = (z8 – z6) • Jikamenggunakan formula M(x,y), gxdangy, makauntukmenghitungcitragradiendengan: • M(x,y) = [(z9 – z5)2 + (z8 – z6)2]1/2 • Formula yang lain: • M(x,y)  |z9 – z5| + |z8 – z6| • Perkiraannilaigxdangymenggunakantetangga 3 x 3 yang terpusatdi z5sbb: • Dan • Sehingga: • M(x,y) = |(z7 + 2z8 + z9) – (z1 + 2z2 + z3| + |(z3 + 2z6 + z9) – (z1 + 2z4 + z7)|

  23. Filter Gradien: Sobel gx g = gx + gy gy

  24. Filter Gradien: Sobel (2) Gradiengxdangy Citra asli >> 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, [ ]); Gradiengx Gradiengy

  25. g(x,y) Fungsi degradasi H Filter restorasi (s) + f(x,y) f’(x,y) Noise (x,y) DEGRADASI RESTORASI DegradasidanRestorasi Citra • Prosesdegradasidimodelkansebagaisebuahfungsidegradasi yang digabungkandengansyarat additive noise • Mengoperasikancitra input f(x,y) untukmenghasilkancitraterdegradasi g(x,y). • Jikaada g(x,y), fungsidegradasi H dansyarat additive noise (x,y), obyektifdarirestorasiadalahuntukmendapatkanperkiraan f’(x,y) daricitra original. • Diinginkanmemperkirakankemungkinan yang semiripmungkinterhadapcitra input original. • Citra terdegradasidalam domain spasial: • g(x,y) = h(x,y)  f(x,y) + (x,y) • dimana h(x,y) adalahrepresentasispasialdarifungsidegradasi, simbol “” adalahkonvolusi. • Dalam domain spasial, konvolusidianalogikandenganperkaliandalam domain frekuensi, sehingga formula diatasdapatdituliskandalam domain frekuensidenganbentuk: • G(u,v) = H(u,v)F(u,v) + N(u,v)

  26. Model Noise • Sumber noise padacitra digital bisaterjadisejakpengambilandanatautransmisicitra. • Kinerjadari sensor citradipengaruhiolehbanyakfaktorsepertikondisilingkunganselamapengambilancitradanolehkualitassensitivitaselemenitusendiri. • Contoh, dalampengambilancitradengankamera CCD, level pencahayaandansuhu sensor adalahfaktorutama yang memengaruhitingkat noise padacitra yang dihasil-kan. • Citra yang terkorupsiselamatransmisisecaraprinsipdisebabkaninterferensi channel yang digunakanuntuktransmisi. • Misalnya, citra yang ditransmisikanmenggunakanjaringan wireless dapatterkorupsisebagaihasildaripencahayaanataupengaruhatmosfer yang lain • Gaussian Noise • PDF (probability density function) variabel random Gaussian z • dimana z merepresentasikanintensitas, ź adalahnilai rata-rata z danadalahstandardeviasi

  27. Model Noise (2) • Rayleigh Noise • PDF noise Rayleigh diberikanoleh: • Rata-rata danvariandiberikanoleh formula: • Dan • Erlang (gamma) noise • PDF noise Erlangdiberikanoleh: • dimana parameter a > 0, b integer positifdan “!” mengindikasikanfaktorial. Rata-rata danvariandarikepadataninidiberikanoleh: • Dan

  28. Model Noise (3) • Exponential Noise • PDF exponential noise diberikanoleh: • dimana a > 0. Rata-rata danvariandarikepadataniniadalah: • dan • Uniform Noise • PDF uniform noise diberikanoleh: • Rata-rata danvariandarikepadataniniadalah: • Dan • Impuls (Salt-and-Pepper Noise)

  29. Model Noise (4)

  30. Ilustrasi noise

  31. TeknikRestorasi Citra dalam Domain Spasial: Mean Filter • Arithmetic Mean Filter • Sxyadalah window mask • Menghitungnilai rata-rata citraterkorupsi g(x,y) padadaerah yang didefinisikanolehSxy • Geometric mean filter • Perkalianpikseldalam window sub-image, yang dipangkatkandengan 1/mn. • Menghasilkancitra yang lebihhalusdibanding arithmetic mean filter tetapitetapmenghilangkansedikit detail citradalamprosesnya • Harmonic Mean Filter • Bekerjadenganbaikpada salt noise, tetapitidakuntuk pepper noise. • Bekerjadenganbaikpadajenis noise seperti noise Gaussian

  32. TeknikRestorasi Citra dalam Domain Spasial: Mean Filter (2) • Contraharmonic Mean Filter • Q disebutdengan order filter. • Sangatcocokuntukmengurangipengaruh noise salt-and-pepper. • Untuknilai Q positif, filter mengeleminasi pepper noise. • Untuk Q negatif, filter inimenghilangkan salt noise. • Keduahaltersebuttidakbisabekerjabersama-sama. • Contra-harmonic mean filter akanmirip arithmetic mean filter jika Q = 0, danmirip harmonic mean filter jika Q = -1

  33. Restorasidenganaritmetikdangeometrik 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 asli Citra dikorupsioleh noise Gaussian difilterdengan arithmetic mean filter denganukuran 3x3 difilterdengan geometric mean filter denganukuran 3x3

  34. Restorasidengan filter: contraharmonic, max dan min Pndegradasiancitradengan 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 terkorupsidengan pepper noise Citra terkorupsidengan salt noise

  35. Contraharmonicdan max Hasil filter max ukuran 3x3 Citra terkorupsidengan pepper noise Hasil filter contraharmonicukuran 3x3 dengan order 1.5 >> fconp = spfilt(gpep,'chmean', 3, 3, 1.5); >> figure, imshow(fconp); >> fpep = spfilt(gpep,'max', 3, 3); >> figure, imshow(fpep);

  36. Contraharmonicdan min Hasil filter min ukuran 3x3 Citra terkorupsidengan salt noise Hasil filter contraharmonicukuran 3x3 dengan order -1.5 >> fconn = spfilt(gsal,'chmean', 3, 3, -1.5); >> figure, imshow(fconn); >> fsal = spfilt(gsal,'min', 3, 3); >> figure, imshow(fsal);

  37. TeknikRestorasi Citra dalam Domain Spasial: Order-statistik • Filter spasial yang hasilnyadidasarkandaripengurutan (perangkingan) nilaipiksel yang merupakanisidaerahcitra yang diterapkanoleh filter. • Hasilrangkingmenentukanhasil filter. • Filter median • Menggantinilaipikseldengan median dari level intensitasdalamtetanggapiksel yang telahdilakukanperangkingan (pikselpusatjugaikutdirangking) • Untukjenis random noise tertentumemberikankemampuanpengurangan noise yang sangatbaik, denganmemperhatikanpengurangan blurring filter smoothing linier padaukuran yang sama • Filter max

  38. TeknikRestorasi Citra dalam Domain Spasial: Order-statistik (2) • Filter max • Sangatbergunauntukmencarititik-titik yang paling terangdalamcitra. • Pepper noise dapatdikurangioleh filter inisebagaihasilprosespemilihan max dalam sub-image Sxy. • Filter min • Sangatbergunauntukmencarititik-titik paling gelapdalamcitra, danmengurangi salt noise sebagaihasiloperasi min • Filter midpoint • Menghitungtitiktengahantaranilaimaksimumdan minimum dalamdaerah yang diliputioleh filter

  39. TeknikRestorasi Citra dalam Domain Spasial: Order-statistik (3) • Andaikanbahwaakanmenghapus d/2 nilaiintensitasterendahdan d/2 nilaiintensitastertinggidari g(x,y) dalamtetanggaSxy. Jikagr(s,t) mereprsentasikansisamn – d piksel, Filter dibentukoleh rata-rata sisapikselini yang disebut alpha-trimmed mean filter. • Di mananilai d dalam range [0, mn – 1]. • Ketika d=0, alpha-trimmed mendekati arithmetic mean filter. Jika d =mn-1, filter inimenjadi filter median. • Untuknilai d yang lain, filter inisangatbergunadalamsituasi yang menyertakanbeberapajenis noise, sepertikombinasi noise salt-and-pepper denganGausian Citra terkorupsidengan pepper noise >> 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 padacitradengan pepper noise Hasil filter alpha-trimmed ukuran 3x3, d=2 padacitradengan pepper noise

  40. To Be Continued … Materi 5 – Pengolahan Citra dalam Domain FrekuensidanRestorasi Citra ANY QUESTION ?

More Related