Dimensi Dimensi Dimensi Dimensi

DCT 2 Dimensi DCT 2 Dimensi DCT 2 Dimensi DCT 2 Dimensi

Persamaan DCT 2 Dimensi untuk citra f(x,y) dengan ukuran NxM dapat dinyatakan sebagai Persamaan DCT 2 Dimensi untuk citra f(x,y) dengan ukuran NxM dapat dinyatakan sebagai Persamaan DCT 2 Dimensi untuk citra f(x,y) dengan ukuran NxM dapat dinyatakan sebagai Persamaan DCT 2 Dimensi untuk citra f(x,y) dengan ukuran NxM dapat dinyatakan sebagai berikut : berikut : berikut : berikut :

 ( u )  ( v )  f ( x , y ) cos

dengan u=0,1,2,..,N-1 dan v=0,1,2,...,M-1 sedangkan

Transformasi kosinus diskrit 2D balik (invers 2D DCT) dapat dinyatakan sebagai :

 ( u )  ( v ) C ( u , v ) cos

dengan x=0,1,2,...,N-1 dan y=0,1,2,...,M-1 DCT 2 dimensi dapat dihitung dengan menggunakan DCT 1 dimensi dua tahap. Pada tahap

pertama, DCT 1 dimensi dilakukan dalam arah baris pada citra f(x,y) untuk menghasilkan C(u,v) seperti berikut :

 ( u )  f ( x , y ) cos

y  0 

untuk u=0,1,2,...,N-1

Pada tahap ke dua untuk menghasilkan DCT 2 dimensi di mana DCT 1 dimensi dilakukan dalam arah kolom pada citra hasil C(u,y) yang dihasilkan seperti berikut :

 ( v )  C ( u , y ) cos

y  0  2 M

untuk v=0,1,2,...M-1

Hal yang sama juga dapat dilakukan untuk menghitung DCT 2D balik. Pada tahap pertama DCT 1D balik dilakukan dalam arah kolom untuk menghasilkan C(u,v) seperti berikut :

( v ) C ( u , y ) cos

M  y  0  2 M 

Pada tahap ke dua untuk menghasilkan DCT 2D balik di mana DCT 1D balik dilakukan pada citra C(u,y) yaitu :

  ( u ) C ( u , y ) cos

M u  0  2 N

untuk u=0,1,2,...,N-1

Fungsi basis DCT 2 dimensi adalah :

dengan nilai u dan x=0,1,2,..,N-1 sedangkan v dan y=0,1,2,...,M-1 DCT biasanya digunakan untuk kompresi karena mampu mengurangi terjadinya perulangan

piksel yang sama pada daerah yang berdekatan. Contoh penggunaan DCT yaitu:

gambar=imread('NF.jpg'); gray=rgb2gray(gambar); f=dct2(gray); imshow(gray), colormap(jet),colorbar figure,imshow(f), colormap(jet),colorbar

Konversi Citra ke Citra Biner

Binerisasi citra adalah salah satu proses penting yang biasanya dilakukan dalam pemrosesan image, MATLAB menyediakan beberapa fungsi untuk melakukan proses ini. Sebagai contoh proses tersebut seperti pada langkah dibawah ini:

gambar=imread('NF.jpg');

Ada 2 fungsi penting dalam proses diatas yaitu thresh=graythresh(gray); yang digunakan untuk mendapatkan nilai ambang batas dan imbw=im2bw(gray,thresh); yang melakukan proses binerisasi citra itu sendiri.

Merupakan pengolahan citra yang berhubungan dengan bentuk dan struktur dari suatu objek, ada beberapa contoh teknik yang digunakan seperti dilasi, erosi dan objek counting.

Contoh Dilasi :

gambar=imread('NF.jpg'); gray=rgb2gray(gambar); se = strel('ball',5,5); dilat=imdilate(gray,se); imshow(gambar) figure, imshow(gray) figure, imshow(dilat)

Contoh EROSI :

gambar=imread('NF.jpg'); gray=rgb2gray(gambar); se = strel('ball',5,5); dilat=imerode(gray,se); imshow(gambar) figure, imshow(gray) figure, imshow(dilat)

Object Counting

Proses menghitung objek berdasarkan konektivitasnya terhadap piksel disekitarnya, bisa berdasarkan 4 piksel koneksi atau menggunakan 8 piksel koneksi. Fungsi yang digunakan menghitung objek yaitu : [labeled,numObjects] = bwlabel(imbw,4); Sedangkan fungsi yang digunakan untuk memberi label dan warna yang berbeda pada setiap objek yaitu : imlabel = label2rgb(labeled,@spring, 'c', 'shuffle'); untuk contoh implementasi dapat dilihat pada kode berikut :

gambar=imread('NF.jpg'); gray=rgb2gray(gambar); thresh=graythresh(gray); imbw=im2bw(gray,thresh); [labeled,numObjects] = bwlabel(imbw,8); imlabel = label2rgb(labeled, @spring, 'c', 'shuffle'); imshow(imbw) figure,imshow(imlabel)

Konvolusi Image

Konvolusi adalah salah satu proses filtering image yang sering dilakukan pada proses pengolahan gambar. Pada MATLAB terdapat banyak sekali cara yang dapat dilakukan untuk melakukan proses konvolusi. Proses konvolusi dilakukan dengan menggunakan matriks yang biasa disebut mask yaitu matriks yang berjalan sepanjang proses dan digunakan untuk menghitung nilai representasi lokal dari beberapa piksel pada image. Contoh implementasi konvolusi ini yaitu:

gambar=imread('NF.jpg'); mask = [-1 -1 -1; -1 8 -1; -1 -1 -1]; gray=rgb2gray(gambar); thresh=graythresh(gray); imbw=im2bw(gray,thresh); hasil=conv2(double(imbw),mask,'valid'); imshow(gambar) figure, imshow(hasil)

mask = [-1 -1 -1; -1 8 -1; -1 -1 -1]; Fungsi ini merupakan bagian dari operator laplace.

Operator Laplacian

Operator laplacian merupakan operator turunan kedua yang memiliki matriks mask berukuran 3x3 di mana Mask Operator Laplace dinyatakan dengan Mask 3x3 sebagai berikut :

1 -2 1 Mask Laplace 5 titik

Mask Laplace 9 titik-I

Mask Laplace 9 titik-II

Untuk mendapatkan hasil Laplacian dari data citra yang diproses, maka tahap berikutnya adalah melakukan konvolusi pada citra. Konvolusi didefenisikan sebagai berikut :

h ( x , y )   f ( u , v ). g ( x  u , y  v )

di mana : x, y, u, v

: Posisi titik dalam citra

m, n : Batas titik tetangga yang masih berpengaruh ke titik yang sedang

ditinjau untuk arah horijontal dan vertikal

Operasi Perhitungan Laplacian

Misalkan citra yang berukuran 5x5 pixel dan sebuah mask laplace yang berukuran 3x3, maka operasi konvolusi pada citra dengan mask dari laplace direpresentasikan ke dalam bentuk matrik dalam gambar berikut sebagai berikut :

Citra BW-sin Nilai marikx decimal citra BW-sin

Mask Laplacian