460 likes | 786 Views
Citra Abu- abu , Biner , Berwarna ,. Thresholding , Transformasi Citra. Pengolahan Citra Digital Materi 3. Eko Prasetyo Teknik Informatika Universitas Muhamamdiyah Gresik 2011. Representasi bit citra. Citra abu-abu. Citra biner. Citra Negatif.
E N D
Citra Abu-abu, Biner, Berwarna, Thresholding, Transformasi Citra Pengolahan Citra Digital Materi 3 Eko Prasetyo TeknikInformatika UniversitasMuhamamdiyah Gresik 2011
Representasi bit citra Citra abu-abu Citra biner
Citra Negatif • Sepertihalnya film negatif. • Hasilpengambilangambardengankamerakonvensional yang membalikcitraasli. • Jikaterdapatcitradenganjumlah gray level L dengan range [0,L-1] makacitranegatifdidapatdaritransformasinegatifsepertipadagambar (garis diagonal) denganpersamaan: s = L – 1 – r Untuk L = 256, makacitranegatifdidapatkan: >> j = f - 256 - 1;
Transformasi Log • Sangatbergunadalampenggambarangrafikketikapadaderetannilai, disampingadaselisihnilai yang sangatkecil, jugaadaselisihnilai yang sangatbesar, • Sehinggaketikadigambardalamgrafikmakaselisih yang kecilakansulituntukdilihat. • Kurva log yang terdapatpadagambar. • Nilai input gray level yang tinggiakanmenyesuaikandengan output gray levelnyasesuaigrafik. • Meningkatkannilaicitra yang gelapdanmengkompresnilaicitra yang sangattinggi. • Transformasi Inverse log merupakankebalikandaritransformasi log • Persamaandaritransformasi log adalah: s = c log(1 + r) • c merupakankonstanta, nilai r ≥ 0 >> g=100*log10(1+f);
TransformasiPower-Law • Bentukdasar: s = cr • c danmerupakankonstantapositif. • Memetakan range sempitdari input gray level menjadi range yang lebarpada output gray level-nya. • Miripdengantransformasi log, hanyasajadengantransformasi power-law dapatmempunyaivariasikurva yang lebihbanyakdaripadatranformasi log. >> g= im2double(f); >> g2= 1 * g.^0.4; gamma = 1 gamma = 0.1 gamma = 0.4
Gamma Correction • Pentingdalamupayamenampilkancitrasecaraakuratpadalayar monitor. • Citra seringmenghasilkantampilan yang tidaksesuai, gambarterlalugelap. • Fungsiuntukmelakukan gamma correction adalah • g = imadjust (f, [low_inhigh_in], [low_outhigh_out], gamma) • Memetakannilaiintensitascitrakenilai yang barudicitra g, untuknilaidiantaralow_indanhigh_inakandipetakandiantaralow_outdanhigh_out. • Untuknilaiintensitasdibawahlow_indandiatashigh_inakandipotong, sehingganilaidibawahlow_inakandipetakankelow_outdannilaidiatashigh_inakandipetakankehigh_out. • Nilai parameter in dan out antara 0 dan 1 gamma = 1 gamma = 0.1 gamma = 2
Contrast Streching • Bergunauntukmeningkatkandynamic rangedaricitra yang telahdiproses. • Tidaksepertitransformasisebelumnya yang memprosessemua input gray level, pada contrast stretching yang diprosesbisasebagiandari input gray level sesuaidengangrafik yang digunakan >> g=f; >> g(g<50)=g(g<50)*0.2; >> g(g>=50 & g<150)=(g(g>=50 & g<150)-50)*2+30; >> g(g>=150)=(g(g>=150)-150)*1+200;
Histogram • Histogram adalahdasardarisejumlahteknikpemrosesancitrapada domain spasial, sepertiperbaikan, kompresidansegmentasicitra. • Histogram darisuatucitra digital dengan range tingkat [0…L-1] adalahsebuahfungsidiskrit h(rk)=nk, denganrkadalahtingkatkeabuanke-k dannkadalahjumlahpikseldalamcitra yang memilikitingkatkeabuanrk. • Normalisasihistrogramdilakukandenganmembagisetiapnilainkdengan total jumlahpikseldalamcitra, yang dinyatakandengan n. Histogram yang sudahdinormalisasidinyatakandengan p(rk)= nk/n, untuk k=0,1,…,L-1. • p(rk) menyatakanestimasiprobabilitaskemunculantingkatkeabuanrk. Jumlahdarisemuakomponen “normalized histogram” samadengan 1.
Histogram • Sumbuhorisontaldari histogram menyatakannilaitingkatkeabuanrk. • Sumbuvertikalmenyatakannilaidari h(rk)=nkatau p(rk) = nk/n (jikanilainyadinormalisasi). • >> figure, imshow(f); • >> figure, imhist(f);
Citra gelap Citra terang Citra kontrastinggi Citra kontrasrendah
Histogram Normalization • Menskalakannilaipikselsecara linear untukmenggunakansecarapenuhjangkauan yang gray-scale yang tersedia. • Transformasi yang digunakan: untuk k=0,1,2,…,L-1 disebut “histogram normalization”.
No. of pixels 6 5 4 3 2 1 Gray level Input: 4x4 image 0 1 2 3 4 5 6 7 Gray scale = [0,7] histogram Contoh Histogram Normalization (1)
No. of pixels 6 5 4 3 2 1 Gray level Output: 4x4 image 0 1 2 3 4 5 6 7 Gray scale = [0,7] histogram Contoh Histogram Normalization (3)
Histogram Equalization • Histogram equalization digunakanuntukmemetakankembalinilaipikseluntukmembuatperkiraan linear akumulasi histogram. • Transformasi yang digunakan: untuk k=0,1,2,…,L-1 disebut “histogram equalization” atau “histogram linearization”. • Fungsi yang digunakan: • h = histeq(f, b) • h merupakancitrahasilequalisasi, • f merupakanvariabelcitradan b adalahjumlah bins yang digunakandalammembentuk histogram. nilai default, b=64 padacitra 6 bit.
No. of pixels 6 5 4 3 2 1 Gray level Input: 4x4 image 0 1 2 3 4 5 6 7 Gray scale = [0,7] histogram Contoh Histogram Equalization (1)
No. of pixels 6 5 4 3 2 1 Gray level Output: 4x4 image 0 1 2 3 4 5 6 7 Gray scale = [0,7] histogram Contoh Histogram Equalization (3)
Contoh Histogram Equalization (4) • >> g = histeq(f, 256); sebelum sesudah
Histogram EqualisasiLokal • Metodepemrosesan histogram yang sudahdibahas, yaitu “histogram equalization” bersifat global, karenapiksel-pikseldimodifikasimenggunakanfungsitransformasiberbasispadaintensitasseluruhpikselpadacitra. • Seringkalidiperlukanperbaikanpadasuatudaerah yang kecildidalamcitra. • Teknik “histogram equalization” dapatditerapkanuntukperbaikanlokal. • Caranya: • Definisikandaerahketetanggaan (neighborhood) • Padasetiaplokasipiksel, histogram daripiksel-pikseldalam neighborhood dihitung. • Tentukanfungsitransformasi “histogram equalization” danfungsiinidigunakanuntukmemetakanintensitaspikselpadapusat neighborhood. • Ulangilangkah 2–3 untukseluruhpikseldalamcitra. 8 tetangga
Contoh Histogram EqualisasiLokal (1) Global Histogram Equalization Local Histogram Equalization Citra awal
Contoh Histogram EqualisasiLokal (2) f(1,1) 8 tetangga f(1,2) f(1,1) = (2/4)*7 = 3.5=4 f(1,2) = (4/6)*7 = 4.67=5 f(1,3) = (5/6)*7 = 5.83=6 f(1,4) = (1/4)*7 = 1.75=2 f(2,1) = (6/6)*7 = 7=7 f(2,2) = (3/9)*7 = 2.33=2 f(2,3) = (8/9)*7 = 6.22=6 f(2,4) = (4/6)*7 = 4.67=5 f(3,1) = (4/6)*7 = 4.67=5 f(3,2) = (4/9)*7 = 3.11=3 f(3,3) = (5/9)*7 = 3.89=4 f(3,4) = (6/6)*7 = 7 f(4,1) = (2/4)*7 = 3.5=4 f(4,2) = (6/6)*7 = 7 f(4,3) = (2/6)*7 = 2.22=2 f(4,4) = (3/4)*7 = 5.25=5
No. of pixels 6 5 4 3 2 1 Gray level Output: 4x4 image 0 1 2 3 4 5 6 7 Gray scale = [0,7] histogram Contoh Histogram Equalization Lokal (3)
PenggunaanNilaiStatistikdari Histogram untukPerbaikan Citra • Selainmenggunakan histogram secaralangsunguntukperbaikancitra, dapat pula digunakan parameter-parameter statistik yang didapatdari histogram. • Parameter statistik yang bisadigunakanadalah: • Mean, yaitu rata-rata tingkatkeabuandalamcitra • Variance, yaitu rata-rata kekontrasancitra. • Deviasi standard didefinisikansebagaiakardari variance. • Misalkan r adalahvariabel random diskrit yang menyatakantingkatkeabuandiskritdalam range [0, L-1], dan p(ri) adalahkomponen “normalized histogram” padanilaike-idariri. Bisadiasumsikanbahwa p(ri) adalahestimasiprobabilitaskemunculantingkatkeabuanri. Mean dari r bisadihitungdengan: Variance dari r bisadihitungdengan:
PenggunaanNilaiStatistikdari Histogram untukPerbaikan Citra (2) • Mean dan variance global diukurterhadapseluruhcitradandigunakanuntukmenilaiintensitasdankekontrasancitrasecarakeseluruhan. • Mean dan variance lokaldigunakansebagaidasaruntukmembuatperubahandidalamcitra, dimanaperubahantersebuttergantungpadakarakteristikdisuatu sub daerahdidalamcitra. • Misalkan (x,y) adalahkoordinatpiksel, danSxymenyatakan neighborhood (subimage) denganukurantertentusertaberpusatdi (x,y). Mean msxydaripiksel-pikseldalamSxydapatdihitungsebagaiberikut: rs,tadalahtingkatkeabuanpadakoordinat (s,t) dalam neighborhood, dan p(rs,t) adalahkomponen “normalized histogram” pada neighborhood untuktingkatkeabuanrs,t.
PenggunaanNilaiStatistikdari Histogram untukPerbaikan Citra (3) • Variance daripiksel-pikselpadadaerahSxydapatdihitungdengan: • Mean lokaladalahukurantingkatkeabuan rata-rata dalam neighborhood Sxydan variance adalahukurankekontrasandalam neighborhood. Permasalahanadalahbagaimanamempertajamdaerahgelapdengantetapmempertahankandaerahterang.
PenggunaanNilaiStatistikdari Histogram untukPerbaikan Citra (4) • Misalkan f(x,y) menyatakanintensitaspikselpadakoordinat (x,y), dan g(x,y) menyatakanpiksel yang sudahdiperbaikipadakoordinat yang sama. Maka: E, k0, k1, k2adalah parameter-parameter yang harusditentukan. MG adalah mean global dan DGadalahdeviasi standard global. Citra yang sudahdiperbaikidenganpemilihan parameter E=4.0, k0=0.4, k1=0.02, k2=0.4 dandaerahlokalberukuran (3x3)
Citra Biner • Citra yang hanyamempunyainilai level intensitaskeabuanhitamdanputih (0 dan 1). • Menjadidasardalampengolahanselaincitra: morfologi, segmentasi, representasi, pengenalanpola, dsb. • Formula: • Piksel yang diberinilai 1 berkaitandenganobyeksedangkanpiksel yang diberinilai 0 berkaitandengan background. • Ketika T adalahkonstanta, pendekataninidisebutglobal thresholding.
Thresholding • Salahsatucaramemilihthresholdingadalahdenganpemeriksaan visual histogram citra. • Histogram dalamgambarsecarajelasmempunyaidua mode yang berbeda. • Mudahuntukmemilih threshold T yang membaginya. • Metodeyang lain dalampemilihan T adalahdengantrial and error, mengambilbeberapa threshold berbedasampaisatunilai T yang memberikanhasil yang baiksebagaikeputusan yang ditemukan observer .
Thresholding (2) • Untukpemilihan threshold secaraotomatis, prosedurinteraktifnyadijelaskansebagaiberikut: • Memilihperkiraanawal T. Disarankanperkiraanawaladalahtitiktengahantaranilaiintensitas minimum danmaksimumdalamcitra. • Mensegmentasicitramenggunakan T. Iniakanmenghasilkanduakelompokpiksel: G1, yang berisisemuapikseldengannilaiintensitas ≥ T, dan G2, yang berisisemuapikseldengannilaiintensitas < T. • Menghitung rata-rata nilaiintensitas1dan2untukpiksel-pikseldalam region G1dan G2. • Menghitungnilai threshold yang baru: • Mengulangilangkah 2 sampai 4 sampaiperbedaan T dalamiterasi yang berturut-turutlebihkecildaripada parameter Tosebelumnya.
Formulasi Otsu • Normalisasihistogram sebagaifungsi probability discrete density, sebagai: • dimana n adalah total jumlahpikseldalamcitra, nqadalahjumlahpiksel yang dipunyai level intensitasrq, dan L adalah total jumlah level intensitas yang tersediadalamcitra. • Andaikanbahwa threshold k dipilihmaka C0adalahsekumpulanpikseldengan level [0, 1, …, k – 1] dan C1adalahsekumpulanpikseldengan level [k, k + 1, …, L – 1]. • MetodeOtsu memilihnilai k yang memaksimalkanbetween-class variance 2B, yang didefinisikansebagai: >> T = graythresh(f) >> T = 0.5*(double(min(i(:))) + double(max(i(:)))); >> done = false; >> while ~done g = i >= T; Tnext = 0.5*(mean(i(g)) + mean(i(~g))); done = abs(T - Tnext) < 0.5; T = Tnext; end
Citra abu-abukebiner • >> f = imread('anak.png'); • >> T = graythresh(f) • T = • 0.5529 • >> g = im2bw(f,T); • >> imwrite(g,'anak_biner.tif'); • >> f = imread('rice.tif'); • >> T = graythresh(f) • T = • 0.5255 • >> g = im2bw(f,T); • >> imwrite(g,'rice_biner.tif'); Citra abu-abu Citra biner
OperasiAritmetikapada Citra • Operasiaritmetik/logikdilakukandengan basis operasipikseldenganpikseldariduabuahcitraataulebih (kecualiuntukoperasi NOT, yang hanyamelibatkansatubuahcitra). • Operator logikaNOT memberikanhasil yang samasepertitransformasinegatif. • Operasi AND dan OR digunakanuntukmasking: yaitumemilihsubcitra yang adadalamsebuahcitra.
SpektrumWarna • Tahun 1966, Sir Isaac Newton mendiskusikan bahwa ketika cahaya dilewatkan ke kacaprisma, kemunculan cahaya tidak putih melainkan terdiri dari spektrum kontinu dari warna dengan range dari violet pada satu sisi sampai merah pada sisi yang lain. • Benda yang memantulkan, dibatasi range spektrum visible yang ditunjukkan beberapa bentuk warna. • Misalnya, obyek green memantulkan cahaya dengan panjang gelombang utamanya dalam range 500 sampai 570 nm.
Kuantitasdasarwarna • Cahaya kromatis merentangkan spektrum elektromagnetik mulai dari kira-kira 400 sampai 700nm. • Tiga kuantitas dasar: radiance, luminance, dan brightness. • Radianceadalah jumlah perkiraan energi yang mengalir dari sumber cahaya, dan biasanya diukur dalam watts (W). • Luminancediukur dalam lumens (lm), memberikan ukuran perkiraan energi yang dilihat observer dari sumber cahaya. • Misalnya, cahaya diemisikan dari operasi sumber dalam jarak region infrared darispektrum yang dapat mempunyai energi yang signifikan (radiance), tetapi observer akan kesulitan melihatnya; luminasinya hampir menjadi nol. • Brightnessadalah deskriptor subyektif yang secara praktek tidak mungkin diukur. • cones adalah sensor dalam mata yang dapat merespons warna. • Ada6 sampai 7 juta cones dalam mata manusia dapat dibagi ke dalam tiga kategori utama, yaitu red, green, dan blue. • 65% dari semua cones sensitif terhadap cahaya merah (red), • 33% sensitif terhadap cahaya hijau (green), dan • hanya kira-kira 2% sensitif terhadap cahaya biru (blue) • (tapi cones biru yang paling sensitif)
Warna Primer danSekunder • Warna primer dapat ditambahkan untuk menghasilkan warna sekunder (secondary color) dari cahaya, • magenta (red ditambah biru), • cyan (green ditambah biru), dan • yellow (red ditambah green). • Pencampuran tiga warna primer, atau sekunder dengan kebalikan warna primer dalam intensitas menghasilkan cahaya putih. • Warna primer pigmen adalah magenta, cyan dan yellow, dan warna sekunder adalah red, green, dan blue. Pencampuran warna cahaya Pencampuran warna pigmen
trichromatic coefficients • Persamaan tersebut dapat dinyatakan: • x + y + z = 1
Model Warna RGB • Terdiri dari tiga komponen:R,G,B. • Ketika ditampilkan di monitor RGB, tiga kombinasi citra ini beradadi layar fosfor untuk menghasilkan warna citra komposit. • Jumlah bit yang digunakan untuk merepresentasikan setiap piksel dalam space RGB disebut pixel depth. • Citra RGB di mana setiap citra red, green, dan blue adalah citra 8-bit. • Dalam kondisi setiap warna piksel RGB [maka, triplet dari nilai (R,G,B)] mempunyai kedalaman 24-bit (3 lapis citra dengan jumlah bit per lapis). • Citra full-color sering digunakan untuk menyatakan citra berwarna RGB 24-bit. Total jumlah warna dalam citra 24-bit adalah (28)3 = 16,777,216
Citra RGB >> i = imread('city_bridge.jpg'); >> fR = i(:,:,1); >> fG = i(:,:,2); >> fB = i(:,:,3); Citra RGB Komponen Red Komponen Green Komponen Blue >> rgb_image= cat(3, fR, fG, fB)
Model Warna CMY dan CMYK (Cyan, Magenta, Yellow, Black) • Perangkat yang menyimpan pigmen berwarna pada kertas, seperti printer dan mesin fotokopi berwarna, membutuhkan data input CMY (konversi RGB ke CMY secara internal). • Konversi (persamaandibawah): • Asumsi bahwa semua nilai warna dinormalisasi dalam range [0,1]. • Persamaan di atas menunjukan bahwa cahaya dipantulkan dari permukaan yang dilapisi dengan cyan murni tidak berisi red (karena C = 1 – R dalam persamaannya). • Pengolahan citra dengan model warna ini digunakan dalam hubungan dengan pembuatan output hardcopy. • Kombinasi tiga warna ini untuk pencetakan menghasilkan warna yang tidak sepenuhnya hitam • Dengan tujuan untuk menghasilkan warna hitam yang benar (yang biasanya lebih dominan dalam pencetakan), warna keempat, black ditambahkan, memberikan kemunculan model warna CMYK >> iCMY = imcomplement(iRGB); Citra CMY Citra RGB
Model Warna HSI • Sistem RGB cocok dengan kenyataan bahwa mata manusia dengan kuat dapat mengetahui warna primer red, green, dan blue. • Sayangnya, RGB, CMY, dan model warna sejenis tidak secara baik cocok untuk menggambarkan warna dalam prakteknya untuk interpretasi manusia. • Misalnya, tidak mereferensikan ke warna dari automobile dengan pemberian persentase dari setiap warna primer yang mengisi warnanya. • Jangan dianggap bahwa citra berwarna terdiri dari tiga citra primer yang dikombinasikan untuk membentuk citra tunggal. • Model warna HSI (hue, saturation, intencity), memisahkan komponen intensitasdari informasi warna yang dibawa (hue dan saturasi) dalam warna citra. • Model HSI adalah tool yang ideal untuk mengembangkan algoritma pengolahan citra berdasarkan pada deskripsi warna yang alami dan intuitif terhadap manusia, pengembang dan usernya.
Model Warna HSI (2) • Hue adalah atribut warna yang menggambarkan warna murni (yellow, orange, atau red murni). • Saturation memberikan ukuran tingkat di mana warna murni yang dilemahkan oleh cahaya putih. • Intensity adalahtingkat/intensitaskedalamanwarna (diantarahitamdanputih). Warnaprimer dipisahkanolehsudut 120o. Warnasekunderadalah 60odari primer, yang berartibahwasudutdiantarawarnasekunderadalah 120o
Model Warna HSI (3) Citra HSI Citra RGB Citra Hue Citra Saturation Citra Intensity/Gray
Konversiwarna RGB ke HSI Hue Intensity / Gray Saturation
KonversiwarnaHSI ke RGB Sektor GB (120o ≤ H < 240o) • Jikadiberikannilai HSI dalam interval [0,1] makadapatdicarinilai RGB dalam range yang sama. • Persamaanyang aplikatiftergantungpadanilai H. • Adatigasektor yang menarik, yang berhubungandengan interval 120odalampembagianwarna primer. • Dimulaidenganperkalian H dengan 360o, yang mengembalikan hue kenilaiaslinyadalam range [0o,360o] H = H – 120o Kemudiankomponen RGB dihitung: R = I(1 – S) B = 3I – (R + G) Sektor BR (240o ≤ H ≤ 360o) H = H – 240o KomponenRGB dihitungdengan: G = I(1 – S) Sektor RG (0o ≤ H < 120o) B = I(1 – S) R = 3I – (G + B) G = 3I – (R + B)
To Be Continued … Materi 4 – Pengolahan Citra dalam Domain SpasialdanRestorasi Citra ANY QUESTION ?