Akuisisi Citra Pengolahan Citra Digital Materi 2 Eko

  • Slides: 26
Download presentation
Akuisisi Citra Pengolahan Citra Digital Materi 2 Eko Prasetyo Teknik Informatika Universitas Muhamamdiyah Gresik

Akuisisi Citra Pengolahan Citra Digital Materi 2 Eko Prasetyo Teknik Informatika Universitas Muhamamdiyah Gresik 2011

Struktur Mata Manusia Diameter rata-rata manusia 20 mm � Tiga membran yang melindungi mata

Struktur Mata Manusia Diameter rata-rata manusia 20 mm � Tiga membran yang melindungi mata adalah cornea dan sclera sebagai pelindung luar; choroid; dan retina. � ◦ ◦ ◦ � Lensa ◦ ◦ � Kornea adalah lapisan keras dan transparan yang melindungi permukaan mata. Sclera adalah membran buram yang menempel, sisa dari globe optik. Choroid berada di bawah sclera, membrane ini berisi jaringan pembuluh darah yang menyediakan sumber utama nutrisi mata. Terbuat dari concentric layer atau terbuat dari serabut cell dan menempel ke bodi ciliary. Berisi 60 -70% air, sekitar 6% lemak dan lebih banyak protein dibanding lapisan yang lain dalam mata Retina, berupa garis dalam bagian dinding. ◦ ◦ Ketika mata difokuskan dengan benar, cahaya obyek di luar mata digambar pada retina. Pola mata dihasilkan oleh distribusi reseptor cahaya diskrit pada permukaan retina 2

Cones dan Rods Dua kelompok reseptor: cones dan rods. � Jumlah cones pada setiap

Cones dan Rods Dua kelompok reseptor: cones dan rods. � Jumlah cones pada setiap mata 6 - 7 juta, ditempatkan terutama dalam bagian pusat retina yang disebut fovea, dan tingginya sensitif terhadap warna. � Manusia dapat membedakan dengan baik cone-cone ini karena setiap cone dihubungkan ke syarafnya sendiri-sendiri � Jumlah rod sekitar 75 - 150 juta yang terdistribusi di atas permukaan retina � 3

Pengambilan Citra dengan Sensor Array 4

Pengambilan Citra dengan Sensor Array 4

Pengambilan Citra dengan Sensor Array � Pembuatan citra digital: (kiri atas) Continuous image; (kanan

Pengambilan Citra dengan Sensor Array � Pembuatan citra digital: (kiri atas) Continuous image; (kanan atas) scan line dari A k B; (kiri bawah) sampling dan kuantisasi; (kanan bawah) digital scan line 5

Citra Analog dan Digital Sebuah gambar lebih bermakna dari pada ribuan kata. � Citra

Citra Analog dan Digital Sebuah gambar lebih bermakna dari pada ribuan kata. � Citra dibedakan menjadi dua, citra kontinu dan citra digital. � ◦ Citra kontinu/analog: citra yang diperoleh dari sistem optik yang menerima sinyal analog, seperti mata manusia dan kamera analog. ◦ Citra digital adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses sampling. � Citra digital dapat mempunyai makna sebagai berikut : ◦ Fungsi intensitas cahaya f(x, y), � Harga x dan y merupakan koordinat spasial dan harga fungsi tersebut pada setiap titik (x, y) merupakan tingkat kecemerlangan atau intensitas cahaya citra pada titik tersebut; ◦ Citra f(x, y) dimana dilakukan diskritisasi koordinat spasial (sampling) dan diskritisasi tingkat kecemerlangannya/keabuan (kwantisasi); ◦ Suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya. � Elemen tersebut disebut sebagai elemen gambar/ pixel / picture element / pels) yang menyatakan tingkat keabuan pada titik tersebut. 6

Citra Digital � Citra digital sebenarnya adalah matrik 2 atau 3 dimensi dimana setiap

Citra Digital � Citra digital sebenarnya adalah matrik 2 atau 3 dimensi dimana setiap piksel merupakan sebuah elemen matrik. � Jika M adalah jumlah baris, sedangkan N adalah jumlah kolom, maka jumlah piksel yang digunakan dalam citra tersebut adalah sebanyak Mx. N. Citra kontinu Citra digital Matrik citra Citra obyek 7

Sampling dan Kuantisasi Citra digital dapat diperoleh dari proses digitalisasi. � Ada 2 proses

Sampling dan Kuantisasi Citra digital dapat diperoleh dari proses digitalisasi. � Ada 2 proses digitalisasi, yaitu: Sampling, dan Kuantisasi � Sampling � ◦ Proses pengambilan nilai diskrit koordinat ruang (x, y) dengan melewatkan citra kontinu melalui grid (celah) ◦ Proses untuk menentukan warna pada piksel tertentu pada citra dari sebuah gambar yang kontinu. ◦ Proses sampling biasanya dicari warna rata-rata dari gambar analog yang kemudian dibulatkan. ◦ Proses sampling disebut proses digitalisasi. � Kuantisasi ◦ Proses pengelompokan nilai tingkat keabuan citra kontinu kedalam sejumlah level, atau merupakan proses membagi skala keabuan [0, L-1] menjadi L buah level yang dinyatakan dengan suatu nilai bilangan bulat (integer), dinyatakan sebagai L = 2 a, L adalah derajat keabuan, a : bilangan bulat positif. 8

Resolusi Citra Resolusi keabuan � Untuk level warna yang digunakan mempengaruhi hasil warna yang

Resolusi Citra Resolusi keabuan � Untuk level warna yang digunakan mempengaruhi hasil warna yang didapatkan � Semakin tinggi nilai a yang digunakan maka jumlah level warna akan semakin banyak dan penampakan citra akan semakin halus karena jumlah kombinasi warna yang didapatkan juga semakin banyak. � Disebut juga resolusi brightness/kecemerlangan Resolusi spasial � Berkaitan dengan jumlah piksel yang digunakan oleh setiap satuan persegi citra kontinu, semakin tinggi resolusi spasial sebuah citra digital maka semakin halus bentuk obyek yang ditampilkan dalam citra digital. � Resolusi inilah yang sering diperhatikan oleh orang-orang dalam membuat sebuah kualitas citra digital selain resolusi keabuan 256 level keabuan Resolusi keabuan 8 dan resolusi spasial 165 x 120 Resolusi keabuan 4 Resolusi spasial 11 x 8 9

Kontras simultan 10

Kontras simultan 10

Ilusi Optik 11

Ilusi Optik 11

Representasi Citra Digital � Citra didefinisikan sebagai fungsi dua dimensi f(x, y), ◦ x

Representasi Citra Digital � Citra didefinisikan sebagai fungsi dua dimensi f(x, y), ◦ x dan y adalah koordinat spasial, ◦ amplitudo dari f pada sembarang pasangan koordinat (x, y) disebut intensitas citra (gray level/level keabuan) pada titik tersebut. � Warna citra dibentuk oleh kombinasi citra 2 -D individual. ◦ Misal: sistem warna RGB, warna citra terdiri dari tiga komponen individu: red, green, blue. � Hasil dari sampling dan kuantisasi adalah matriks dengan tipe data real. ◦ Asumsikan bahwa citra f(x, y) dicoba sehingga menghasilkan citra yang mempunyai baris M dan kolom N, sehingga disebut citra berukuran M x N. ◦ Nilai dari koordinat (x, y) adalah kuantitas diskrit. Image origin (titik awal citra) didefinisikan pada (x, y) = (0, 0). � Nilai koordinat berikutnya sepanjang baris pertama citra adalah (x, y) = (0, 1). � ◦ � Notasi (0, 1) digunakan untuk menandai contoh kedua sepanjang baris pertama Range x mulai dari 0 sampai M – 1 dan y mulai dari 0 sampai N – 1 dalam increment integer 12

Representasi Citra Digital � Setiap elemen array ini disebut image element, picture element, pixel,

Representasi Citra Digital � Setiap elemen array ini disebut image element, picture element, pixel, atau pel. � Representasi citra sebagai matriks MATLAB di mana f(1, 1) = f(0, 0) M dan N untuk menyatakan jumlah baris dan kolom matriks. � Matriks 1 x N disebut row vector, sedangkan matriks M x 1 disebut column vector � Matrik 1 x 1 disebut skalar � 13

Pembacaan citra di Matlab �Membaca/me-load citra ke variabel ◦ imread(‘namafile’) �Mendapatkan dimensi baris dan

Pembacaan citra di Matlab �Membaca/me-load citra ke variabel ◦ imread(‘namafile’) �Mendapatkan dimensi baris dan kolom citra ◦ [M, N] = size(i); �Menampilkan informasi tambahan dari array ◦ whos <nama variabel> Nama format TIFF JPEG GIF BMP PNG XWD Penjelasan Ekstensi yang dikenali. tif, . tiff. jpg, . jpeg Tagged Image File Format Joint Photographic Experts Group Graphics Interchange. gif Format Windows Bitmap. bmp Portable. png Format Network citra yang. Graphics dapat diolah di MATLAB X Window Dump. xwd 14

Menampilkan citra � imshow(f, G) ◦ f adalah array citra ◦ G adalah jumlah

Menampilkan citra � imshow(f, G) ◦ f adalah array citra ◦ G adalah jumlah level intensitas yang digunakan untuk menampilkannya. ◦ Jika G diabaikan maka akan menggunakan default 256. � imshow(f, [low high]) ◦ akan menampilkan warna hitam pada semua nilai yang kurang dari atau sama dengan low dan putih pada semua nilai yang lebih besar atau sama dengan high. � imshow(f, [ ]) ◦ men-set variabel low ke nilai minimum dari array f dan high ke nilai maksimumnya. ◦ Sangat berguna untuk menampilkan citra yang mempunyai range dinamis yang rendah atau mempunyai nilai positif dan negatif. � Fungsi pixval digunakan untuk menampilkan nilai intensitas piksel masing-masing secara interaktif 15

Menyimpan citra �Citra dapat disimpan ke disk menggunakan fungsi imwrite ◦ imwrite(f, ‘namafile’) ◦

Menyimpan citra �Citra dapat disimpan ke disk menggunakan fungsi imwrite ◦ imwrite(f, ‘namafile’) ◦ String yang menjadi isi parameter ‘nama file’ harus memasukkan ekstensi format file yang dikenali ◦ >> imwrite(i, ‘rice_01. tif’); ◦ >> imwrite(i, ‘rice_01’, ’tif’); 16

Kelas Data Nama double uint 8 uint 16 uint 32 int 8 int 16

Kelas Data Nama double uint 8 uint 16 uint 32 int 8 int 16 int 32 single Penjelasan Double-precision, foating-point numbers dalam jangkauan kira-kira -10308 sampai 10308 (8 byte per elemen) Unsigned 8 -bit integer dalam jangkauan [0, 255] (1 byte per elemen) Unsigned 16 -bit integer dalam jangkauan [0, 65535] (2 byte per elemen) Unsigned 32 -bit integer dalam jangkauan [0, 4294967295] (4 byte per elemen) Signed 8 -bit integer dalam jangkauan [-128, 127] (1 byte per elemen) Signed 16 -bit integer dalam jangkauan [-32768, 32767] (2 byte per elemen) Signed 32 -bit integer dalam jangkauan [-2147483648, 2147483647] (4 byte per elemen) Single-precision floating-point number dengan perkiraan jangkauan -1038 sampai 1038 (4 byte per elemen) 17

Fungsi untuk mengonversi antar kelas Nama Fungsi im 2 uint 8 Tujuan konversi im

Fungsi untuk mengonversi antar kelas Nama Fungsi im 2 uint 8 Tujuan konversi im 2 uint 16 mat 2 gray im 2 double (dalam range [0, 1]) double im 2 bw logical uint 8 Input kelas data citra yang valid logical, uint 8, uint 16 dan double Double logical, uint 8, uint 16 dan double 18

Peng-indeks-an matrik � Array berdimensi 1 x N disebut row vector (vektor baris) ◦

Peng-indeks-an matrik � Array berdimensi 1 x N disebut row vector (vektor baris) ◦ >> v = [1 3 5 7 9] ◦ >> v(2) � transpose operator (. ’): ◦ >> w = v. ' � mengakses sejumlah elemen dapat menggunakan tanda titik dua ◦ >> v(2: 4) � mengakses elemen ketiga sampai terakhir: ◦ >> v(3: end) � Notasi 1: 2: end artinya dimulai dari elemen pertama kemudian elemen ke 1+2, ke 3+2 dan seterusnya sampai elemen terakhir ◦ >> v(1: 2: end) � Fungsi linspace dengan sintaks: ◦ >> x = linspace(a, b, n) ◦ akan men-generate vektor baris x dari n elemen secara linear pada space di antara dan termasuk a dan b 19

Peng-indeks-an matrik Matriks sebagai seurutan vektor baris yang dibatasi kurung siku dan dipisahkan dengan

Peng-indeks-an matrik Matriks sebagai seurutan vektor baris yang dibatasi kurung siku dan dipisahkan dengan tanda titik koma. � Membuat matrik 2 dimensi � ◦ � Mengekstrak elemen pada baris kedua dan kolom ketiga: ◦ � >> A(: , 2) >> A(3, : ) >> A(1: 2, 1: end) Untuk membuat array B sama dengan array A, tetapi nilai kolom ketiga sama dengan 0: ◦ ◦ � >> A(2, 3) Operator titik dua digunakan untuk memilih blok elemen dua dimensi dari matriks: ◦ ◦ ◦ � >> A = [1 2 3; 4 5 6; 7 8 9] >> B = A; >> B(: , 3) = 0 Operasi menggunakan end dapat dilakukan dengan cara yang sama: ◦ ◦ ◦ >> A(end, end) >> A(end, end - 2) >> A(2: end, end: -2: 1) 20

Peng-indeks-an matrik � Penggunaan titik dua sebagai indeks dalam matriks untuk memilih semua elemen

Peng-indeks-an matrik � Penggunaan titik dua sebagai indeks dalam matriks untuk memilih semua elemen array (basis kolom per kolom) dan disusun dalam bentuk vektor kolom: ◦ >> A(: ) � Penggunaan titik dua juga sangat berguna ketika ingin menjumlahkan semua elemen matriks: ◦ >> s = sum(A(: )) ◦ >> s = sum(A)) � Operasi flip vertikal ◦ >> fv = i(end: -1: 1, : ); � Subsampling ◦ >> fc = i(87: 200 , 240: 400); � Resize ◦ >> fs = i(1: 2: end, 1: 2: end); 21

Operator aritmetika Opera Nama tor + Penjumlahan array dan matriks Pengurangan array dan matriks.

Operator aritmetika Opera Nama tor + Penjumlahan array dan matriks Pengurangan array dan matriks. * Perkalian array * Perkalian matriks . /. / Pembagian kanan array Pembagian kiri array Pembagian kanan matriks Pembagian kiri matriks . ^ Pangkat array ^ Pangkat matriks . ’ Transpose vektor dan matriks ‘ Transpose lengkap vektor dan Fungsi di MATLAB plus(A, B) minus(A, B) times(A, B) mtimes(A, B) Penjelasan dan contoh a+b, A+B, atau a+A a-b, A-B, A-a, atau a-A C=A. *B, C(I, J) = A(I, J) * B(I, J) A*B, perkalian matriks standart, atau a*A, perkalian skalar semua elemen A rdivide(A, B) C = A. /B, C(I, J) = A(I, J)/B(I, J) ldivide(A, B) C = A. B, C(I, J) = A(I, J)B(I, J) mrdivide(A, A/B sama dengan A*inv(B), B) tergantung akurasi komputasi mldivide(A, AB sama dengan inv(A)*B, B) tergantung akurasi komputasi power(A, B) Jika C = A. ^B maka C(I, J) = A(I, J)^B(I, J) mpower(A, B) transpose(A A. ’, mentranspose vektor dan matriks ) standart 22 ctranspose( A’, mentranspose perubahan vektor

Operator relasional Operato Nama r == Pembandingan apakah dua operand nilainya sama < Pembandingan

Operator relasional Operato Nama r == Pembandingan apakah dua operand nilainya sama < Pembandingan apakah operand yang pertama lebih kecil daripada yang kedua > Pembandingan apakah operand yang pertama lebih kecil daripada yang kedua <= Pembandingan apakah operand yang pertama lebih kecil atau sama dengan yang kedua >= Pembandingan apakah operand yang pertama lebih besar atau sama dengan yang kedua ~= Pembandingan apakah operand yang pertama tidak sama dengan Fungsi di Penjelasan dan MATLAB contoh eq(A, B) a==b, A==B, atau a==A lt(A, B) A<b, A<B, A<a, atau a<A gt(A, B) A>b, A>B, A>a, atau a>A le(A, B) A<=b, A<=B, A<=a, atau a<=A ge(A, B) A>=b, A>=B, A>=a, atau a>=A ne(A, B) A~=b, A~=B, A~=a, atau a~=A 23

Operator Logika Operat Nama or & Operasi logika AND antara dua operand | Operasi

Operator Logika Operat Nama or & Operasi logika AND antara dua operand | Operasi logika OR antara dua operand (tidak Operasi logika XOR ada) antara dua operand ~ Operasi NOT pada sebuah operand Fungsi di MATLAB and(A, B) or(A, B) xor(A, B) not(A, B) Penjelasan dan contoh a & b, A & B, atau a & A A | b, A | B, A | a, atau a|A xor(A, b), xor(A, B), xor(A, a), atau xor(a, A) A~b, A~B, A~a, atau a~A 24

Flow Kontrol pada M-file Statemen if for while break continue switch return try …

Flow Kontrol pada M-file Statemen if for while break continue switch return try … catch Penjelasan If, bergabung dengan else dan elseif, mengeksekusi sekumpulan statemen berdasarkan pada persyaratan logika yang ditentukan Mengeksekusi sekelompok statemen sejumlah angka yang ditentukan Mengeksekusi sekelompok statemen sejumlah yang tidak ditentukan, berdasarkan pada persyaratan logika yang ditetapkan Menghentikan eksekusi perulangan for dan while Melewatkan (tidak mengerjakan) kontrol ke iterasi berikutnya pada perulangan for dan while switch, bergabung dengan case dan otherwise, mengeksekusi sekelompok statemen yang berbeda, tergantung dari nilai atau string yang dibaca Menyebabkan eksekusi kembali ke pemanggil fungsi (eksekusi melompat ke akhir fungsi) Mengubah flow control jika kesalahan terdeteksi selama eksekusi 25

To Be Continued … Materi 3 – Citra biner, berwarna, thresholding, transformasi ANY QUESTION

To Be Continued … Materi 3 – Citra biner, berwarna, thresholding, transformasi ANY QUESTION ? 26