Arif Hidayat [email_address] 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) ); f 2 = 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( im bw,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 im label = label2rgb(labeled, @spring, 'c', 'shuffle');
Labeling Object

Matlab Untuk Pengolahan Citra

  • 1.
    Arif Hidayat [email_address]http://www.hidayat.web.id
  • 2.
    Citra adalah MatrixPada 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)
  • 3.
    Membaca Citra kitabisa 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
  • 4.
    Matrix hasil RGBbila kita mambca citra RGB dengan ukuran width x height akan menghasilkan matrix tiga dimensi dengan jumlah baris:height dan jumlah kolom:width sejumlah 3
  • 5.
    Ekstraksi R, Gdan B lenna = imread('lenna.jpg'); r = lenna(:,:,1); g = lenna(:,:, 2 ); b = lenna(:,:, 3 );
  • 6.
    Konversi ke Grayscalebisa dengan fungsi bawaan Matlab: gray = rgb2gray(lenna); bisa disesuaikan dengan konstanta sendiri: gray2 = .3*r + .2*g + .5*b;
  • 7.
    Pseudocoloring Gambar grayscalebisa kita buat seoalh2 berwarna dengan pesudo color Pseudocoloring dengan colormap contoh: figure, imshow(r), colormap(jet) , colorbar
  • 8.
  • 9.
    Domain Frekuensi PadaDomain freukensi, citra dinyatakan sebagai kombinasi dari gelombang penyusun dengan frekuensi berbeda beberapa fungsi untuk domain frekuensi fft fft2 dct dct2
  • 10.
    Fast Fourier Transformf = fft2( double(lenna) ); f 2 = log(abs( f )); imshow(f2(:,:,2),[1 20]); colormap(jet); colorbar
  • 11.
    Konversi ke Colorspace lain Selain RGB pada pengolahan citra terdapat berbagai color space YCbCr HSV IND NTSC Matlab menyediakan fungsi konversi ini
  • 12.
    Konversi ke CitraBiner 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
  • 13.
    Konversi ke CitraBiner im = imread(‘japan.png’); imgray = rgb2gray(im); thresh = graythresh(imgray); imbw = im2bw(imgray, thresh); figure, imshow(imbw);
  • 14.
  • 15.
    Histogram membuat histogramdari frekuensi nilai pixel citra figure, imhist(r);
  • 16.
    Histogram Equalisation melakukanpeningkatan kontras pada citra dengan pengaturan histogram re = histeq(r);
  • 17.
    Morphological Image Processingadalah pengolahan citra yang berhubungan dengan bentuk dan struktur contohnya: dilasi erosi object counting
  • 18.
    Structuring Element adalahmatrix 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
  • 19.
    Dilasi imdil =imdilate(imbw,se);
  • 20.
    Erosi imer =imerode(imbw,se)
  • 21.
    Object Counting menghitungjumlah object berdasar konektifitas tertentu bisa 4-conn atau 8-conn [labeled,numObjects] = bwlabel( im bw,4); misal pada ‘japan.png’ ada 20 object
  • 22.
    Labeling Object variabellebeled tadi adalah citra binary yang sudah dilabeli tiap object berdasarkan konektivitasnya kita bisa menampilkannya dengan pseudocolor dengan label warna berbeda per object im label = label2rgb(labeled, @spring, 'c', 'shuffle');
  • 23.