You are on page 1of 23

Arif Hidayat arif@cs.its.ac.id http://www.hidayat.web.

id

Citra adalah Matrix


Pada domain spasial, Citra adalah fungsi intensitas

pada koordinat tertentu (x,y) sehingga citra bisa dianggap sebagai matrix dua dimensi atau matrix tiga dimensi pada citra yang memiliki lebih dari satu fungsi nilai (misal RGB)

Membaca Citra
kita bisa membaca langsung citra dari file

(.jpg,.gif,.png,.tiff) dan menyimpannya sebagai matrix perintahnya:


x = imread(namafile);

hasilnya adalah matrix 2 dimensi bila grayscale atau 3 dimensi bila RGB

Matrix hasil RGB


bila kita mambca citra RGB dengan ukuran width x

height akan menghasilkan matrix tiga dimensi dengan jumlah baris:height dan jumlah kolom:width sejumlah 3

Ekstraksi R, G dan B
lenna = imread('lenna.jpg');
r = lenna(:,:,1); g = lenna(:,:,2); b = lenna(:,:,3);

Konversi ke Grayscale
bisa dengan fungsi bawaan Matlab: gray = rgb2gray(lenna); bisa disesuaikan dengan konstanta sendiri: gray2 = .3*r + .2*g + .5*b;

Pseudocoloring
Gambar grayscale bisa kita buat seoalh2 berwarna

dengan pesudo color Pseudocoloring dengan colormap contoh:


figure, imshow(r), colormap(jet), colorbar

Pseudocoloring

Domain Frekuensi
Pada Domain freukensi, citra dinyatakan sebagai

kombinasi dari gelombang penyusun dengan frekuensi berbeda beberapa fungsi untuk domain frekuensi
fft
fft2 dct

dct2

Fast Fourier Transform


f = fft2(double(lenna));
f2 = log(abs(f )); imshow(f2(:,:,2),[1 20]); colormap(jet); colorbar

Konversi ke Color space lain


Selain RGB pada pengolahan citra terdapat berbagai

color space
YCbCr HSV IND NTSC

Matlab menyediakan fungsi konversi ini

Konversi ke Citra Biner


citra biner adalah citra yang hanya direpresentasikan nilai tiap pixelnya dalam satu bit (satu nilai binary)
nilai pixel 0 berati hitam

nilai pixel1 berarti putih

Konversi dilakukan dengan thresholding pada citra grayscale threshold bisa dihitung atau sembarang
nilai pixel dibawah threshold jadi 0 nilai pixel diatas threshold jadi 1

Konversi ke Citra Biner


im = imread(japan.png);
imgray = rgb2gray(im); thresh = graythresh(imgray); imbw = im2bw(imgray, thresh); figure, imshow(imbw);

Operasi Citra

Histogram
membuat histogram dari frekuensi nilai pixel citra figure, imhist(r);

Histogram Equalisation
melakukan peningkatan kontras pada citra dengan

pengaturan histogram
re = histeq(r);

Morphological Image Processing


adalah pengolahan citra yang berhubungan dengan

bentuk dan struktur contohnya:


dilasi erosi object counting

Structuring Element
adalah matrix yang digunakan untuk MIP
se = strel(bentuk, ukuran) Contoh:
se1 = strel('square',11) % 11-by-11 square se2 = strel('line',10,45) % line, length 10, angle 45 degrees se3 = strel('disk',15) % disk, radius 15 se4 = strel('ball',15,5) % ball, radius 15, height 5

Dilasi
imdil = imdilate(imbw,se);

Erosi
imer = imerode(imbw,se)

Object Counting
menghitung jumlah object berdasar konektifitas tertentu
bisa 4-conn atau 8-conn [labeled,numObjects] = bwlabel(imbw,4);
misal pada japan.png ada 20 object

Labeling Object
variabel lebeled tadi adalah citra binary yang sudah

dilabeli tiap object berdasarkan konektivitasnya kita bisa menampilkannya dengan pseudocolor dengan label warna berbeda per object
imlabel = label2rgb(labeled, @spring, 'c', 'shuffle');

Labeling Object

You might also like