Matlab Untuk Pengolahan Citra
-
Upload
arifgator -
Category
Technology
-
view
26.869 -
download
30
description
Transcript of Matlab Untuk Pengolahan Citra
Arif [email protected]
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