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

Akuisisi Citra

Dec 31, 2015

Download

Documents

kalliyan-pach

Akuisisi Citra. Pengolahan Citra Digital Materi 2. Eko Prasetyo Teknik Informatika Universitas Muhamamdiyah Gresik 2011. Struktur Mata Manusia. Diameter rata-rata mata manusia 20 mm - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Akuisisi  Citra

Akuisisi CitraPengolahan Citra DigitalMateri 2

Eko PrasetyoTeknik Informatika

Universitas Muhamamdiyah Gresik2011

Page 2: Akuisisi  Citra

2

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

adalah cornea dan sclera sebagai pelindung luar; choroid; dan retina. ◦ 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.

Lensa ◦ 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

Page 3: Akuisisi  Citra

3

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

Page 4: Akuisisi  Citra

4

Pengambilan Citra dengan Sensor Array

Page 5: Akuisisi  Citra

5

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

Page 6: Akuisisi  Citra

6

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.

Page 7: Akuisisi  Citra

7

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 MxN.

Citra kontinu Citra digital Matrik citra Citra obyek

Page 8: Akuisisi  Citra

8

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 = 2a, L adalah derajat keabuan, a : bilangan bulat positif.

Page 9: Akuisisi  Citra

9

Resolusi CitraResolusi keabuan Untuk level warna yang digunakan

akan 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

Resolusi keabuan 8 dan resolusi spasial 165x120

Resolusi keabuan 4 Resolusi spasial 11x8

256 level keabuan

Page 10: Akuisisi  Citra

10

Kontras simultan

Page 11: Akuisisi  Citra

11

Ilusi Optik

Page 12: Akuisisi  Citra

12

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

Page 13: Akuisisi  Citra

13

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 1x1 disebut skalar

Page 14: Akuisisi  Citra

14

Pembacaan citra di MatlabMembaca/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 Penjelasan Ekstensi yang dikenaliTIFF Tagged Image File Format .tif, .tiffJPEG Joint Photographic Experts

Group.jpg, .jpeg

GIF Graphics Interchange Format .gifBMP Windows Bitmap .bmpPNG Portable Network Graphics .pngXWD X Window Dump .xwd

Format citra yang dapat diolah di MATLAB

Page 15: Akuisisi  Citra

15

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

Page 16: Akuisisi  Citra

16

Menyimpan citraCitra 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’);

Page 17: Akuisisi  Citra

17

Kelas DataNama Penjelasandouble Double-precision, foating-point numbers dalam jangkauan kira-kira -10308

sampai 10308 (8 byte per elemen)uint8 Unsigned 8-bit integer dalam jangkauan [0, 255] (1 byte per elemen)uint16 Unsigned 16-bit integer dalam jangkauan [0, 65535] (2 byte per elemen)uint32 Unsigned 32-bit integer dalam jangkauan [0, 4294967295] (4 byte per

elemen)int8 Signed 8-bit integer dalam jangkauan [-128, 127] (1 byte per elemen)int16 Signed 16-bit integer dalam jangkauan [-32768, 32767] (2 byte per

elemen)int32 Signed 32-bit integer dalam jangkauan [-2147483648, 2147483647] (4

byte per elemen)single Single-precision floating-point number dengan perkiraan jangkauan -1038

sampai 1038 (4 byte per elemen)char Karakter (2 byte per elemen)logical Nilai 0 atau 1 (1 byte per elemen)

Page 18: Akuisisi  Citra

18

Fungsi untuk mengonversi antar kelas

Nama Fungsi Tujuan konversi Input kelas data citra yang valid

im2uint8 uint8 logical, uint8, uint16 dan doubleim2uint16 uint16 logical, uint8, uint16 dan doublemat2gray double (dalam range [0,1]) Doubleim2double double logical, uint8, uint16 dan doubleim2bw logical uint8, uint16 dan double

Page 19: Akuisisi  Citra

19

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

Page 20: Akuisisi  Citra

20

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

dipisahkan dengan tanda titik koma. Membuat matrik 2 dimensi

◦ >> A = [1 2 3; 4 5 6; 7 8 9] Mengekstrak elemen pada baris kedua dan kolom ketiga:

◦ >> A(2,3) Operator titik dua digunakan untuk memilih blok elemen dua dimensi

dari matriks:◦ >> A(:,2)◦ >> A(3,:)◦ >> A(1:2, 1:end)

Untuk membuat array B sama dengan array A, tetapi nilai kolom ketiga sama dengan 0:◦ >> 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)

Page 21: Akuisisi  Citra

21

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)◦ >> s = sum(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);

Page 22: Akuisisi  Citra

22

Operator aritmetikaOperat

orNama Fungsi di

MATLABPenjelasan dan contoh

+ Penjumlahan array dan matriks plus(A, B) a+b, A+B, atau a+A- Pengurangan array dan matriks minus(A, B) a-b, A-B,A-a, atau a-A.* Perkalian array times(A, B) C=A.*B, C(I,J) = A(I,J) * B(I,J)* Perkalian matriks mtimes(A, B) A*B, perkalian matriks standart, atau a*A,

perkalian skalar semua elemen A./ Pembagian kanan array rdivide(A, B) C = A./B, C(I,J) = A(I,J)/B(I,J).\ Pembagian kiri array ldivide(A, B) C = A.\B, C(I,J) = A(I,J)\B(I,J)/ Pembagian kanan matriks mrdivide(A, B) A/B sama dengan A*inv(B), tergantung

akurasi komputasi\ Pembagian kiri matriks mldivide(A, B) A\B sama dengan inv(A)*B, tergantung

akurasi komputasi.^ Pangkat array power(A, B) Jika C = A.^B maka C(I,J) = A(I,J)^B(I,J)^ Pangkat matriks mpower(A, B).’ Transpose vektor dan matriks transpose(A) A.’, mentranspose vektor dan matriks standart‘ Transpose lengkap vektor dan

matriksctranspose(A) A’, mentranspose perubahan vektor dan

matriks standard. Jika A real maka A.’ = A’+ Unary plus uplus(A) +A sama dengan 0+A- Unary minus uminus(A) -A sama dengan 0-A

Page 23: Akuisisi  Citra

23

Operator relasionalOperator Nama Fungsi di

MATLABPenjelasan dan contoh

== Pembandingan apakah dua operand nilainya sama

eq(A, B) a==b, A==B, atau a==A

< Pembandingan apakah operand yang pertama lebih kecil daripada yang kedua

lt(A, B) A<b, A<B,A<a, atau a<A

> Pembandingan apakah operand yang pertama lebih kecil daripada yang kedua

gt(A, B) A>b, A>B,A>a, atau a>A

<= Pembandingan apakah operand yang pertama lebih kecil atau sama dengan yang kedua

le(A, B) A<=b, A<=B,A<=a, atau a<=A

>= Pembandingan apakah operand yang pertama lebih besar atau sama dengan yang kedua

ge(A, B) A>=b, A>=B,A>=a, atau a>=A

~= Pembandingan apakah operand yang pertama tidak sama dengan yang kedua

ne(A, B) A~=b, A~=B,A~=a, atau a~=A

Page 24: Akuisisi  Citra

24

Operator LogikaOperator Nama Fungsi di MATLAB Penjelasan dan contoh

& Operasi logika AND antara dua operand

and(A, B) a & b, A & B, atau a & A

| Operasi logika OR antara dua operand

or(A, B) A | b, A | B,A | a, atau a | A

(tidak ada)

Operasi logika XOR antara dua operand

xor(A, B) xor(A,b), xor(A,B), xor(A,a), atau xor(a,A)

~ Operasi NOT pada sebuah operand

not(A, B) A~b, A~B,A~a, atau a~A

Page 25: Akuisisi  Citra

25

Flow Kontrol pada M-fileStatemen Penjelasan

if If, bergabung dengan else dan elseif, mengeksekusi sekumpulan statemen berdasarkan pada persyaratan logika yang ditentukan

for Mengeksekusi sekelompok statemen sejumlah angka yang ditentukanwhile Mengeksekusi sekelompok statemen sejumlah yang tidak ditentukan,

berdasarkan pada persyaratan logika yang ditetapkanbreak Menghentikan eksekusi perulangan for dan whilecontinue Melewatkan (tidak mengerjakan) kontrol ke iterasi berikutnya pada

perulangan for dan whileswitch switch, bergabung dengan case dan otherwise, mengeksekusi sekelompok

statemen yang berbeda, tergantung dari nilai atau string yang dibacareturn Menyebabkan eksekusi kembali ke pemanggil fungsi (eksekusi melompat ke

akhir fungsi)try … catch Mengubah flow control jika kesalahan terdeteksi selama eksekusi

Page 26: Akuisisi  Citra

26

ANY QUESTION ?

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