Teks penuh

(1)

Pengolahan Citra Digital

Struktur Data Citra Digital

&

(2)

Struktur Data Citra Digital

Citra dapat direpersentasikan kedalam

bentuk matrik atau array 2 dimensi.

Struktur data dari citra berupa elemen pada

matrik atau array 2 dimensi sama dengan

pixel (Picture Elemen) yang diamati atau

(3)

Operasi Dasar Citra

Citra sebagai matrik dapat dioperasikan

dengan cara, diantaranya :

1.

Operasi Aritmetika

2.

Operasi Logika (boolean)

(4)

Operasi Aritmetika

Menambah atau mengurangi Intensitas

Mengurangi atau menghilangkan noise

Operasi Dasar :

+ - / * pada 2 Citra

+ - / * pada 1 Citra dengan Konstanta/Skalar

(5)

Operasi Penambahan 2 Citra

C(x,y) = A(x,y) + B(x,y)

Penjumlahan 2 buah citra akan mengurangi noise pada citra

Algoritma Penjumlahan2Citra(citra A,B,C, Int x,y,c)

{Asumsi Citra adalah matrik ukuran x * y dengan total jumlah warna c} Kamus i,,j Integer

Jika hasil lebih besar dari kedalaman warna maka hasil sama dengan

(6)

Contoh

1

1

0

0

1

0

0

1

0

1

1

1

2

2

2

3

3

2

2

2

0

2

2

2

3

3

2

3

3

2

2

3

0

3

3

3

+

=

(7)

Operasi Pengurangan 2 Citra

C(x,y) = A(x,y) - B(x,y)

Pengurangan 2 buah citra dapat digunakan untuk deteksi perubahan

gambar sehingga dapat digunakan untuk deteksi gerak atau keamanan

Algoritma Pengurangan2Citra(citra A,B,C, Int x,y,c)

{Asumsi Citra adalah matrik ukuran x * y dengan total jumlah warna c} Kamus i,,j Integer

(8)

Contoh

3

3

1

1

0

0

1

0

0

1

2

2

1

1

0

0

1

0

0

1

0

1

1

1

2

2

1

1

0

0

1

0

0

0

1

1

-

=

(9)

Sistem Monitoring

Suatu citra dapat dinyatakan sebagai suatu matrik, maka jika suatu matrik x yang berisi gambar, maka algoritma untuk menampilkan gambar adalah sebagai berikut : Citra A adalah ruang kosong, sedangkan C citra hasil pengurangan.

A

B

(10)

Contoh

(11)

Algoritma Monitoring

Algoritma MinusImage(citra X,Y,Z;Int m,n,c)

{Asumsi citra m x n x c} Kamus i,,j : Integer

Rubah : Boolean

(12)

Operasi Citra & Skalar

B(x,y) = A(x,y) ± S

Digunakan untuk menaikan dan menurunkan intensitas cahaya.

Algoritma PenguranganCitraScalar(citra A,C, Int x,y,c,S)

{Asumsi Citra adalah matrik ukuran x * y dengan total jumlah warna c,

(13)

Contoh

1

2

3

0

2

3

0

2

3

1

2

1

0

0

1

0

0

1

0

0

1

0

0

0

-

=

4 x 3 x 4

2

(14)

Operasi Citra & Skalar

B(x,y) = A(x,y) ± S

Operasi Penambahan

Algoritma PenambahanCitraScalar(citra A,C, Int x,y,c,S)

 {Asumsi Citra adalah matrik ukuran x * y dengan total jumlah warna c, S

Skalar}

 {Jika melebih nilai c maka sama dgn c, sedangkan untuk pengurangan jika

(15)

Contoh

1

1

2

0

1

2

0

1

2

1

1

1

3

3

3

2

3

3

2

3

3

3

3

3

+

=

4 x 3 x 4

2

(16)

Kuis

1 2 3

0 1 2

3 0 1

2 3 0

1

2

3

0

2

2

3

2

1

2

2

0

A B

(17)

Operasi Perkalian

Operasi Perkalian 2 Citra

C[x,y] = A[x,y] * B[x,y]

Operasi ini biasanya digunakan untuk

(18)

Operasi perkalian dan pembagian Citra

dan Scalar

C[x,y] = A[x,y] * S akan menghasilkan intensitas lebih terang

Algoritma PerkalianCitraScalar(citra A,C, Int x,y,c,S)

{Asumsi Citra adalah matrik ukuran x * y dengan total jumlah warna c,

(19)

Operasi Pembagian Citra & Skalar

C[x,y] = A[x,y] / S akan menghasilkan intensitas lebih gelap

Algoritma PembagianCitraScalar(citra A,C, Int x,y,c,S)

{Asumsi Citra adalah matrik ukuran x * y dengan total jumlah

warna c, S Skalar}

Kamus I,j Int Deskripsi

For i  1 To x

For j  1 To Y

C[i,,j] = A[i,j] Div S Endfor

(20)

10 12 13

10 10

9

9

10

7

3

7

7

Div 2

(21)

Operasi Logika

T

F

T

T

F

F

F

F

T

F

T

T

T

F

T

F

Operasi Boolean pada Citra

Operasi ini menggunakan operator logika sebagai berikut : a.And

b.Or c.Not

T

F

F

T

And Or

(22)

Contoh

3 3 5 5 3 3 1 3 1

3 3 5 And 5 3 3 1 3 1

3 3 5 5 3 3 1 3 1

3 and 5  011 and 101 = 001 = 1

(23)

Soal

1

1

7

6

1

7

6

1

7

5

7

5

5

5

5

0

5

0

6

6

6

0

6

0

6

6

6

3 x 3 x 8

A 3 x 3 x 8B 3 x 3 x 8C

(24)

Invers

Algoritma InversImage(citra X;Int N,M,C)

{Asumsi citra N x M dengan warna C }

Kamus i,,j : Integer

Deskripsi

For i

1 To N

For j

1 To M

X[i,,j]

(C-1) - X[i,,j] {

X[i, j]

Not X[i, j]}

(25)

Contoh

0

1

1

3

0

0

1

2

4

4

1

2

5

4

4

4

15 14 14 12

15 15 14 13

11 11 14 13

10 11 11 11

Asli 4 x 4 x 16

Invers 4 x 4 x 16

(26)

Operasi Geometrik

Operasi yang digunakan dengan melakukan

manipulasi pada posisi pixel atau elemen matrik

sehingga berubah bentuk.

Operasi tersebut, diantaranya :

GetImage

ViewImage

Flipping (Pembalikan)

Translasi (Pergeseran)

Rotasi

Cutting (Pemotongan)

(27)

Operasi GetView

Operasi yang digunakan untuk mengambil citra

dengan membaca titik

Algoritma GetImage(citra X;Int N,M,C)

{Asumsi citra matrik nxm dengan warna c }

Kamus i,,j : Integer

Deskripsi

For i

1 To N

For j

1 To M

Getpixel(i, j,X[i, j])

Endfor

(28)

Operasi ViewImage

Operasi yang digunakan untuk membuat citra

dengan menempatkan titik pada layar.

Algoritma ViewImage(citra X;Int N,M,C)

{Asumsi citra matrik nxm dengan warna c }

Kamus i,,j : Integer

Deskripsi

For i

1 To N

For j

1 To M

Putpixel(i, j,X[i, j])

Endfor

(29)

Flipping

Operasi dibagi 2 (dua) yaitu :

Flipping Vertical, pertukaran pixel atas dan

bawah

Flipping Horizontal, pertukaran pixel kiri dan

(30)

Citra Asli Citra FV Citra FH

1 1 1 0 1 1 1 1 0 1 1 1

0 0 1 0 0 0 1 0 0 1 0 0

0 0 1 0 0 0 1 0 0 1 0 0

(31)

Algoritma Pembalikan

Flipping Vertical, pertukaran pixel atas dan bawah

Algoritma FVCitra(citra A,C;int n,m,c)

{Asumsi Citra matrik n x m x c} Kamus i,,j,k : Integer

Deskripsi

Flipping Horizontal, pertukaran pixel kiri dan kanan

Algoritma FHCitra(citra A,C;int n,m,c)

{Asumsi Citra matrik n x m x c} Kamus i,,j,k : Integer

(32)

Operasi Pergeseran

Operasi terhadap posisi pixel ke arah x dengan besaran m, dan ke arah y dengan besaran n.

B(x,y)  A(x+m,y+n)

1 2 3 4 1 2 3

1 2 3 4  1 2 3

1 2 3 4  1 2 3

1 2 3 4

(33)

Algortitma PergeseranCitra(citra A,C;int x,y,n,m,c)

{Asumsi Citra matrik x x y x c}

Kamus i,,j : Integer

Deskripsi

For i

1 To x

For j

1 to y

C[i, ,j]

A[i+m,,j+n]

(34)

Operasi Rotasi

Operasi yang digunakan untuk memindahkan posisi pixel dengan sudut θ.

Rumus Rotasi

x’ = X Cos θ – Y Sin θY’ = X Sin θ + Y Cos θSehingga

C[x,y] A[X Cos θ – Y Sin θ, X Sin θ + Y Cos θ]

Untuk mempermudah pemahaman dalam perotasian dibatasi pembahsan dengan menggunakan rotasi dengan sudut 900. Ratosi dapat dilakukan

berdasarkan arah rotasi yaitu berdasarkan arah jarum jam atau sebaliknya.

Y

C

A θ

(35)

1 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1

0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 1

0 0 1 0 1 1 1 1 0 1 0 0 1 0 0 1

1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1

A B C D

A B C D A : Asli

B : 900 Arah Jarum Jam C : 1800 Arah Jarum Jam

(36)

Algoritma Rotasi

(citra C,A; Int n,m,c)

(37)

Algoritma Rotasi

Algoritma Rotasi180BerlawananArahJarumJam(citra C,A; Int n,m,c)

{Asumsi Citra matrik n x n x c} Kamus i,,j,k,l : Integer

Deskripsi l  N+1

For i  1 To N

k  M+1

For j  1 to M

C[l-i,k-j]  A[i,j]

K  k - 1

(38)

Operasi Zoom

Operasi pembesaran citra dengan cara melakukan

duplikasi terhadap pixel sebanyak z kali.

Zooming dengan nilai pembesaran lebih besar dari 1

(satu) akan membesar atau disebut juga Zoom Out,

Sedangkan jika pembesaran dengan nilai 1/z akan

mengecil atau Zoom In.

Pembesaran berdasarkan arah dapat dilakukan :

Zoom X

Zoom Y

(39)

Zoom Out

Pembesaran dimana nilai pembesaran diatas 1

Contoh Zoom Out dengan Z = 2

1 2 3 4 1 1 2 2 3 3 4 4 1 2 3 4 1 1 2 2 3 3 4 4 4 1 2 3 4 4 1 1 2 2 3 3 1 2 3 4 1 1 2 2 3 3 4 4 3 4 1 2 3 3 4 4 1 1 2 2 4 1 2 3 4 4 1 1 2 2 3 3 2 3 4 1 2 2 3 3 4 4 1 1 4 1 2 3 4 4 1 1 2 2 3 3 3 4 1 2 3 3 4 4 1 1 2 2 3 4 1 2 3 3 4 4 1 1 2 2 2 3 4 1 2 2 3 3 4 4 1 1 2 3 4 1 2 2 3 3 4 4 1 1

(40)

Algoritma

ZoomOutX

Penduplikasian pixel sebanyak z kali untuk tiap pixel ke arah x

Algortitma ZoomOutX(Citra1 A,Citra2 C;int n,m,c,Z)

{Asumsi A Citra1 matrik NxMxc C Citra2 matrik Nx(MxZ)xc dan Z nilai pembesaran} Kamus i,j,k,l : Integer

Deskripsi

Penduplikasian pixel sebanyak z kali untuk tiap pixel ke arah Y

Algortitma ZoomOutY(Citra1 A,Citra2 C;int n,m,c,Z)

(41)

Algoritma ZoomXY

ZoomOutXY

Penduplikasian pixel sebanyak z kali untuk tiap pixel ke arah x dan Y

Algortitma ZoomOutXY(Citra1 A,Citra2 C;int n,m,c,Z)

{Asumsi A Citra1 matrik NxMxc

C Citra2 matrik (NxZ)x(MxZ)xc dan Z nilai pembesaran}

(42)

ZoomIn

Perbesaran dengan 1/z kali

Zoom In dilakukan dengan cara :

1.

Ukuran dikali dengan perbesaran yang

dibulatkan keatas

(43)

Contoh Pembesaran ½

1 2 3 2 3

4 1 2 1/2 4 1

3 4 1

3 x 3 2 x 2 A C

Baris 3 x ½ = 1½ ≈ 2 Kolom 3 x ½ = 1½ ≈ 2

Sehingga Baris x Kolom = 2 x 2 ……….. (1) C[1,1] = ∑A[1..2,1..2]/4 = (1 + 2 + 4 + 1)/4 = 8/4 = 2 ………(2a) C[1,2] = ∑A[1..2,3]/2 = (3 + 2)/ 2 = 5/2 = 2 ½ = 3

(44)

Kuis

2. Flipping Vertical A 3. Flipping Horizontal B 4. Rotasi 90 A

Figur

Memperbarui...

Referensi

Memperbarui...

Related subjects :