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