PENGOLAHAN CITRA DIGITAL : Operasi Aritmatik dan Geometri pada Citra MULAAB TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO
PEMBENTUKAN CITRA Citra Kontinu dihasilkan dari sistem optik yang menerima sinyal analog, contoh : mata manusia Citra Diskrit (Citra Digital) dihasilkan melalui proses digitalisasi terhadap citra kontinu 06/04/2017 PERTEMUAN KE-2
PEMBENTUKAN CITRA Citra Fungsi kontinu dari intensitas cahaya pada bidang dua dimensi. Sumber Cahaya i(x,y) Permukaan normal f(x,y) 06/04/2017 PERTEMUAN KE-2
PEMBENTUKAN CITRA f(x,y) = i(x,y) . r(x,y) (x,y) koordinat pada bidang dua dimensi f(x,y) intensitas cahaya (brightness) pada titik (x,y) i(x,y) Jumlah cahaya yang berasal dari sumbernya (illumination) r(x,y) Derajat kemampuan obyek memantulkan cahaya (Reflection). f(x,y) = i(x,y) . r(x,y) 06/04/2017 PERTEMUAN KE-2
DIGITALISASI CITRA Digitalisasi Representasi citra dari fungsi kontinu menjadi nilai – nilai diskrit. Ukuran dimensi citra digital dinyatakan sebagai : tinggi x lebar atau N x M dan memiliki derajat keabuan L 06/04/2017 PERTEMUAN KE-2
Brightness Resolution DIGITALISASI CITRA Proses Digitalisasi ada 2 macam : Penerokan (sampling) digitalisasi spasial (x,y) Kuantisasi digitalisasi intensitas f(x,y) Column of samples Pixel 255 Black Line Gray 128 Line Spacing White Sample Spacing Sampling process Spatial resolution Brightness Spacing Proses Kwantisasi Brightness Resolution Picture 06/04/2017 PERTEMUAN KE-2
DIGITALISASI CITRA - PENEROKAN Elemen Gambar Elemen Matriks M - 1 Dy y i Dx M Pixel Dy N Pixel N-1 (0,0) Dx j x Hubungan antara elemen gambar dan elemen matriks 06/04/2017 PERTEMUAN KE-2
DIGITALISASI CITRA-KUANTISASI Kuantisasi membagi skala keabuan (0,L) menjadi G level G = 2m G = derajat keabuan m = bilangan bulat positif Skala Keabuan Rentang Nilai Keabuan Pixel Depth 21 0 , 1 1 bit 22 0 sampai 7 2 bit 23 0 sampai 15 3 bit 28 0 sampai 255 8 bit 06/04/2017 PERTEMUAN KE-2
ELEMEN-ELEMEN CITRA DIGITAL 1. Kecerahan (brightness) 2. Kontras (contrast) 3. Kontur (contour) 4. Warna (color) 5. Bentuk (shape) 6. Tekstur (texture) 06/04/2017 PERTEMUAN KE-2
FORMAT BERKAS BITMAP (BMP) Bitmap Pemetaan Bit. Nilai intensitas pixel di dalam citra dipetakan ke sejumlah bit tertentu. Warna dalam citra bitmap kombinasi dari 3 warna : Red (R) , Green (G) , Blue (B). Citra dalam BMP ada 3 : 1. Citra biner nilai keabuannya hanya 0 dan 1 2. Citra greyscale nilai keabuannya 8-bit 3. Citra berwarna nilai keabuannya 24-bit 06/04/2017 PERTEMUAN KE-2
HUBUNGAN ANTARA PIKSEL 4-tetangga piksel P 8-tetangga piksel P X X X X X P X X P X Connectivity/Konektivitas: 4-tetangga atau 8-tetangga dengan kriteria gray level yang sama, misal: sama-sama 0 atau sama-sama 1 atau sama-sama bedanya tidak lebih dari 5 tingkat keabuan, dlsb.nya 06/04/2017 PERTEMUAN KE-2
LABELLING OF CONNECTED COMPONENT Dengan kriteria piksel sama-sama bernilai 1: (a) dengan aturan 4-tetangga dan (b) dengan aturan 8 tetangga: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 1 ekivalen dengan 06/04/2017 PERTEMUAN KE-2
OPERASI ARITMATIK + - x / Band ratio antara citra sensor optik Landsat TM band 3 dan band 4 dapat digunakan untuk analisis vegetasi, begitu juga ratio antara selisih dan jumlahnya. Operasi selisih antara dua citra temporal dapat digunakan untuk deteksi perubahan wilayah. 06/04/2017 PERTEMUAN KE-2
Operasi jumlah matrik The add filter takes two images (source and overlay images) of the same size and pixel format and produces an image, where each pixel equals to the sum value of corresponding pixels from provided images (if sum is greater than maximum allowed value, 255 or 65535, then it is truncated to that maximum
X = ([ 255 0 75; 44 225 100]); Y = ([ 50 50 50; 50 50 50 ]); Z = X+Y Z = 255 50 125 94 255 150
Pengurangan matrik The subtract filter takes two images (source and overlay images) of the same size and pixel format and produces an image, where each pixel equals to the difference value of corresponding pixels from provided images (if difference is less than minimum allowed value, 0, then it is truncated to that minimum value
Pembagian Hasil pembagiannya dibulatkan X = ([ 255 10 75; 44 225 100]); Y = ([ 50 20 50; 50 50 50 ]); Z = X/Y Z = 5 1 2 1 5 2
Perkalian Hasil perkalinnya dibulatkan
OPERASI ARITMATIK Operasi selisih antara dua citra temporal dapat digunakan untuk deteksi perubahan wilayah. Jakarta in 1994 Jakarta in 1998 06/04/2017 PERTEMUAN KE-2
Complement Image X = uint8([ 255 10 75; 44 225 100]); X2 = imcomplement(X) X2 = 0 245 180 211 30 155
OPERASI GEOMETRI Memodifikasi koordinat piksel dalam suatu citra dengan kemungkinan mengubah nilai skala keabuan dari titik dengan pendekatan tertentu. Transformasi Spasial memetakan koordinat titik – titik citra asal ke koordinat titik – titik di citra hasil. 06/04/2017 PERTEMUAN KE-2
APLIKASI OPERASI GEOMETRI Pencerminan (flipping) Rotasi / pemutaran (rotating) Penskalaan (scaling / zooming) Pembekokan (warping) 06/04/2017 PERTEMUAN KE-2
EE465: Introduction to Digital Image Processing Image Interpolation Introduction Apa itu interpolasi? Mengapa kita butuh interpolasi? Interpolation Techniques 1D zero-order, first-order, third-order Interpolation Applications Digital zooming (perbaikan resolution Image inpainting (error concealment) Transformasi geometri EE465: Introduction to Digital Image Processing 23
EE465: Introduction to Digital Image Processing Introduction (Con’t) Mengapa butuh interpolasi? Ingin citra yang besar Contoh, ingin tampilan full screen Kita ingin gambar yang baik Perbaikan citra karena ada error pada proses transmisi Kita ingin COOL images Manipulasi citra yang artistik EE465: Introduction to Digital Image Processing 24
Scenario I: perbaikan Citra Low-Res. High-Res. EE465: Introduction to Digital Image Processing 25
Penskalaan 06/04/2017 PERTEMUAN KE-2
Scenario II: Image Inpainting Non-damaged Damaged EE465: Introduction to Digital Image Processing 27
Scenario III: Image Warping EE465: Introduction to Digital Image Processing 28
EE465: Introduction to Digital Image Processing Interpolation Techniques EE465: Introduction to Digital Image Processing 29
1D Zero-order (Replication) f(n) n f(x) x EE465: Introduction to Digital Image Processing 30
1D First-order Interpolation (Linear) f(n) n f(x) x EE465: Introduction to Digital Image Processing 31
Linear Interpolation Formula Basic idea: the closer to a pixel, the higher weight is assigned f(n) f(n+a) f(n+1) a 1-a f(n+a)=(1-a)f(n)+af(n+1), 0<a<1 Note: when a=0.5, we simply have the average of two EE465: Introduction to Digital Image Processing 32
EE465: Introduction to Digital Image Processing Numerical Examples f(n)=[0,120,180,120,0] Interpolate at 1/2-pixel f(x)=[0,60,120,150,180,150,120,60,0], x=n/2 Interpolate at 1/3-pixel f(x)=[0,20,40,60,80,100,120,130,140,150,160,170,180,…], x=n/6 EE465: Introduction to Digital Image Processing 33
1D Third-order Interpolation (Cubic) f(n) n f(x) x Cubic spline fitting EE465: Introduction to Digital Image Processing 34
Graphical Interpretation of Interpolation row column f(m,n) g(m,n) EE465: Introduction to Digital Image Processing 35
EE465: Introduction to Digital Image Processing Numerical Examples a b c d zero-order first-order a a b b c c d d a (a+b)/2 b (a+c)/2 (a+b+c+d)/4 (b+d)/2 c (c+d)/2 d EE465: Introduction to Digital Image Processing 36
Numerical Examples (Con’t) Col n Col n+1 row m X(m,n) X(m,n+1) b a 1-a Y 1-b row m+1 X(m+1,n) X(m+1,n+1) Q: what is the interpolated value at Y? Ans.: (1-a)(1-b)X(m,n)+(1-a)bX(m+1,n) +a(1-b)X(m,n+1)+abX(m+1,n+1) EE465: Introduction to Digital Image Processing 37
Bicubic Interpolation* EE465: Introduction to Digital Image Processing 38
EE465: Introduction to Digital Image Processing Pixel Replication low-resolution image (100×100) high-resolution image (400×400) EE465: Introduction to Digital Image Processing 39
Bilinear Interpolation low-resolution image (100×100) high-resolution image (400×400) EE465: Introduction to Digital Image Processing 40
Bicubic Interpolation low-resolution image (100×100) high-resolution image (400×400) EE465: Introduction to Digital Image Processing 41
EE465: Introduction to Digital Image Processing Error Concealment damaged interpolated EE465: Introduction to Digital Image Processing 42
EE465: Introduction to Digital Image Processing Image Inpainting EE465: Introduction to Digital Image Processing 43
Geometric Transformation Widely used in computer graphics to generate special effects MATLAB functions: griddata, interp2, maketform, imtransform EE465: Introduction to Digital Image Processing 44
EE465: Introduction to Digital Image Processing Basic Principle (x,y) (x’,y’) is a geometric transformation We are given pixel values at (x,y) and want to interpolate the unknown values at (x’,y’) Usually (x’,y’) are not integers and therefore we can use linear interpolation to guess their values MATLAB implementation: z’=interp2(x,y,z,x’,y’,method); EE465: Introduction to Digital Image Processing 45
EE465: Introduction to Digital Image Processing Rotation y y’ x’ θ x EE465: Introduction to Digital Image Processing 46
EE465: Introduction to Digital Image Processing MATLAB Example z=imread('cameraman.tif'); % original coordinates [x,y]=meshgrid(1:256,1:256); % new coordinates a=2; for i=1:256;for j=1:256; x1(i,j)=a*x(i,j); y1(i,j=y(i,j)/a; end;end % Do the interpolation z1=interp2(x,y,z,x1,y1,'cubic'); EE465: Introduction to Digital Image Processing 47
EE465: Introduction to Digital Image Processing Rotation Example θ=3o EE465: Introduction to Digital Image Processing 48
EE465: Introduction to Digital Image Processing Scale a=1/2 EE465: Introduction to Digital Image Processing 49
EE465: Introduction to Digital Image Processing Affine Transform parallelogram square EE465: Introduction to Digital Image Processing 50
Affine Transform Example EE465: Introduction to Digital Image Processing 51
EE465: Introduction to Digital Image Processing Shear parallelogram square EE465: Introduction to Digital Image Processing 52
EE465: Introduction to Digital Image Processing Shear Example EE465: Introduction to Digital Image Processing 53
EE465: Introduction to Digital Image Processing Projective Transform B’ A B A’ C’ D C D’ square quadrilateral EE465: Introduction to Digital Image Processing 54
Projective Transform Example [-4 2; -8 -3; -3 -5; 6 3] [ 0 0; 1 0; 1 1; 0 1] EE465: Introduction to Digital Image Processing 55
APLIKASI OPERASI GEOMETRI Rotasi 06/04/2017 PERTEMUAN KE-2
SUMMARY Operasi berbasis bingkai / frame adalah operasi yang melibatkan 2 buah citra atau lebih dan menghasilkan sebuah citra keluaran yang merupakan hasil operasi matematis ( operasi aritmatik dan operasi logika ) 06/04/2017 PERTEMUAN KE-2
SUMMARY Contoh implementasi operasi berbasis bingkai antara lain image blending, dan deteksi gerak. Operasi Geometrik berhubungan dengan perubahan bentuk geometrik citra, yaitu ukuran ataupun orientasinya. 06/04/2017 PERTEMUAN KE-2
TUGAS Buat Program aplikasi pengolahan citra digital untuk operasi aritmatik / geometri 06/04/2017 PERTEMUAN KE-2
REFERENSI Rafael C. Gonzales dan Richard E. Woods, Digital Image Processing, Edisi 2, Prentice Hall, 2002 Rafael C. Gonzales, Richard E. Woods dan Steven L. Eddins, Digital Image Processing using Mathlab, Prentice Hall, 2003 Achmad Balza, Firdausy Kartika. Teknik Pengolahan Citra Digital dengan Delphi. Ardi Publishing.Yogyakarta.2005. 06/04/2017 PERTEMUAN KE-2