Matlab Untuk Pengolahan Citra

Post on 21-Jun-2015

26.866 views 30 download

description

Matlab Untuk Pengolahan Citra Digital

Transcript of Matlab Untuk Pengolahan Citra

Arif Hidayatarif@cs.its.ac.id

http://www.hidayat.web.id

Citra adalah MatrixPada domain spasial, Citra adalah fungsi

intensitas pada koordinat tertentu (x,y)sehingga citra bisa dianggap sebagai matrix

dua dimensiatau matrix tiga dimensi pada citra yang

memiliki lebih dari satu fungsi nilai (misal RGB)

Membaca Citrakita 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 RGBbila kita mambca citra RGB dengan ukuran

width x heightakan menghasilkan matrix tiga dimensidengan jumlah baris:height dan jumlah

kolom:width sejumlah 3

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

Konversi ke Grayscalebisa dengan fungsi bawaan Matlab:

gray = rgb2gray(lenna);bisa disesuaikan dengan konstanta sendiri:

gray2 = .3*r + .2*g + .5*b;

PseudocoloringGambar grayscale bisa kita buat seoalh2

berwarna dengan pesudo colorPseudocoloring dengan colormapcontoh:

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

Pseudocoloring

Domain FrekuensiPada Domain freukensi, citra dinyatakan

sebagai kombinasi dari gelombang penyusun dengan frekuensi berbeda

beberapa fungsi untuk domain frekuensifftfft2dctdct2

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

Konversi ke Color space lainSelain RGB pada pengolahan citra terdapat

berbagai color spaceYCbCr HSVINDNTSC

Matlab menyediakan fungsi konversi ini

Konversi ke Citra Binercitra biner adalah citra yang hanya

direpresentasikan nilai tiap pixelnya dalam satu bit (satu nilai binary)nilai pixel 0 berati hitamnilai pixel1 berarti putih

Konversi dilakukan dengan thresholding pada citra grayscale

threshold bisa dihitung atau sembarangnilai pixel dibawah threshold jadi 0nilai pixel diatas threshold jadi 1

Konversi ke Citra Binerim = imread(‘japan.png’);imgray = rgb2gray(im);thresh = graythresh(imgray);imbw = im2bw(imgray, thresh);figure, imshow(imbw);

Operasi Citra

Histogrammembuat histogram dari frekuensi nilai pixel

citrafigure, imhist(r);

Histogram Equalisationmelakukan peningkatan kontras pada citra

dengan pengaturan histogramre = histeq(r);

Morphological Image Processingadalah pengolahan citra yang berhubungan

dengan bentuk dan strukturcontohnya:

dilasierosiobject counting

Structuring Elementadalah matrix yang digunakan untuk MIPse = strel(‘bentuk’, ukuran)Contoh:

se1 = strel('square',11) % 11-by-11 squarese2 = strel('line',10,45) % line, length 10, angle 45

degreesse3 = strel('disk',15) % disk, radius 15se4 = strel('ball',15,5) % ball, radius 15, height 5

Dilasiimdil = imdilate(imbw,se);

Erosiimer = imerode(imbw,se)

Object Countingmenghitung jumlah object berdasar

konektifitas tertentubisa 4-conn atau 8-conn[labeled,numObjects] = bwlabel(imbw,4);

misal pada ‘japan.png’ ada 20 object

Labeling Objectvariabel lebeled tadi adalah citra binary yang

sudah dilabeli tiap object berdasarkan konektivitasnya

kita bisa menampilkannya dengan pseudocolor dengan label warna berbeda per objectimlabel = label2rgb(labeled, @spring, 'c',

'shuffle');

Labeling Object