Matlab Untuk Pengolahan Citra

23
Arif Hidayat [email protected] http://www.hidayat.web.id

description

Matlab Untuk Pengolahan Citra Digital

Transcript of Matlab Untuk Pengolahan Citra

Page 1: Matlab Untuk Pengolahan Citra

Arif [email protected]

http://www.hidayat.web.id

Page 2: Matlab Untuk Pengolahan Citra

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)

Page 3: Matlab Untuk Pengolahan Citra

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

Page 4: Matlab Untuk Pengolahan Citra

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

Page 5: Matlab Untuk Pengolahan Citra

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

Page 6: Matlab Untuk Pengolahan Citra

Konversi ke Grayscalebisa dengan fungsi bawaan Matlab:

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

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

Page 7: Matlab Untuk Pengolahan Citra

PseudocoloringGambar grayscale bisa kita buat seoalh2

berwarna dengan pesudo colorPseudocoloring dengan colormapcontoh:

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

Page 8: Matlab Untuk Pengolahan Citra

Pseudocoloring

Page 9: Matlab Untuk Pengolahan Citra

Domain FrekuensiPada Domain freukensi, citra dinyatakan

sebagai kombinasi dari gelombang penyusun dengan frekuensi berbeda

beberapa fungsi untuk domain frekuensifftfft2dctdct2

Page 10: Matlab Untuk Pengolahan Citra

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

Page 11: Matlab Untuk Pengolahan Citra

Konversi ke Color space lainSelain RGB pada pengolahan citra terdapat

berbagai color spaceYCbCr HSVINDNTSC

Matlab menyediakan fungsi konversi ini

Page 12: Matlab Untuk Pengolahan Citra

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

Page 13: Matlab Untuk Pengolahan Citra

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

Page 14: Matlab Untuk Pengolahan Citra

Operasi Citra

Page 15: Matlab Untuk Pengolahan Citra

Histogrammembuat histogram dari frekuensi nilai pixel

citrafigure, imhist(r);

Page 16: Matlab Untuk Pengolahan Citra

Histogram Equalisationmelakukan peningkatan kontras pada citra

dengan pengaturan histogramre = histeq(r);

Page 17: Matlab Untuk Pengolahan Citra

Morphological Image Processingadalah pengolahan citra yang berhubungan

dengan bentuk dan strukturcontohnya:

dilasierosiobject counting

Page 18: Matlab Untuk Pengolahan Citra

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

Page 19: Matlab Untuk Pengolahan Citra

Dilasiimdil = imdilate(imbw,se);

Page 20: Matlab Untuk Pengolahan Citra

Erosiimer = imerode(imbw,se)

Page 21: Matlab Untuk Pengolahan Citra

Object Countingmenghitung jumlah object berdasar

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

misal pada ‘japan.png’ ada 20 object

Page 22: Matlab Untuk Pengolahan Citra

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');

Page 23: Matlab Untuk Pengolahan Citra

Labeling Object