Anda di halaman 1dari 6

PRAKTIKUM MODUL IMAGE ENHANCEMENT

Dalam bidang pengolahan citra, istilah citra mengacu pada suatu fungsi intensitas dalam bidang dua dimensi. Pemrosesan citra menggunakan komputer membutuhkan citra digital sebagai masukannya. Oleh karena itu, kita mengenal beberapa macam format citra digital, yang masing-masing memiliki format penyimpanan dan pembacaan data yang berbeda-beda. Dengan menggunakan toolbox image processing di Matlab, proses pembacaan citra dapat dilakukan dengan mudah, sebagaimana diperlihatkan oleh beberapa contoh berikut:

Windo s !itmap "*.bmp#


a=imread('taz_ref.bmp'); figure,imshow(a);

$oint Photographic %xperts &roup "*.jpg#


b=imread('oranges.jpg'); figure,imshow(b);

'agged (mage )ile )ormat "*.tif#


c=imread('saturn.tif'); figure,imshow(c);

$umlah arna yang terdapat dalam suatu citra digital berkaitan erat dengan format data digital yang digunakan. +uatu citra , bit "misalnya pada format *.bmp ,-bit# dapat memiliki paling banyak -./ 0enis arna di dalamnya. +edangkan suatu citra -1 bit "misalnya pada format *.png -1-bit# memiliki --1 kombinasi data arna yang dapat ditampilkan. +uatu citra ber arna dapat dinyatakan dalam banyak cara. +alah satu metode yang paling populer adalah dengan menggunakan metode kanal 2&!. Dalam format ini, suatu citra ber arna dinyatakan dalam bentuk gabungan dari tiga buah citra monochrome merah, hi0au, dan biru yang berukuran sama. Warna dari setiap piksel citra digital bergantung pada kombinasi ketiga nilai intensitas piksel monochrome yang bersesuaian. 3ontoh program untuk mengekstraksi citra monochrome pada toolbox image processing di Matlab adalah sebagai berikut:
d=imread('flowers.tif'); figure, imshow(d); d =d(!,!,"); figure,imshow(d ),title('#anal $erah'); d%=d(!,!,&); figure,imshow(d%),title('#anal 'ijau'); d(=d(!,!,)); figure,imshow(d(),title('#anal (iru ');

'eknik image enhancement digunakan untuk meningkatkan kualitas suatu citra digital, baik dalam tu0uan untuk menon0olkan suatu ciri tertentu dalam citra tersebut, maupun untuk memperbaiki aspek tampilan. Proses ini biasanya didasarkan pada prosedur yang bersifat eksperimental, sub0ektif, dan amat bergantung pada tu0uan yang hendak dicapai.

1.

Operasi Titik

Operasi titik dalam image enhancement dilakukan dengan memodifikasi histogram citra masukan agar sesuai dengan karakteristik yang diharapkan. 4istogram dari suatu citra adalah grafik yang menun0ukkan distribusi frekuensi dari nilai intensitas piksel dalam citra tersebut. 3ontoh perintah untuk menampilkan histogram adalah:

*=imread('rice.tif'); figure,imshow(*); figure,imhist(*);

!eberapa teknik image enhancement melalui operasi titik antara lain adalah intensity adjustment "termasuk brightening dan darkening#, histogram equalization, dan thresholding. 1.1 Intensity Adjustment Intensity adjusment beker0a dengan cara melakukan pemetaan linear terhadap nilai intensitas pada histogram a al men0adi nilai intensitas pada histogram yang baru. Perintah umum untuk melakukan pemetaan linear tersebut adalah:
+ = imadjust(*,,low_in,high_in),,low_out,high_out-)

dimana :
low_in merupakan nilai intensitas yang akan dipetakan sebagai low_out high_in merupakan nilai intensitas yang akan dipetakan sebagai high_out

3ontoh: 3itra rice.tif di samping memiliki nilai kekontrasan yang rendah. !erdasarkan histogramnya, dapat diketahui bah a citra ini tidak memiliki piksel dengan intensitas di ba ah 15 dan di atas --.. 6ntuk memperbaikinya, kita dapat memetakan histogram secara linear sehingga diperoleh sebuah citra baru yang memiliki rentang histogram antara 5 hingga -... Perintah untuk melakukan intensity ad0ustment:
*=imread('rice.tif'); +=imadjust(*,,.."/ ..0-,,. "-); figure,imshow(*); figure,imhist(*); figure,imshow(+); figure,imhist(+);

Histogram Equalization 'eknik histogram equalization bertu0uan untuk menghasilkan suatu citra keluaran yang memiliki nilai histogram yang relatif sama. 3ontoh perintah untuk melakukan histogram e7uali8ation:
*=imread('rice.tif'); +=histe1(*); figure,imshow(*); figure,imhist(*); figure,imshow(+); figure,imhist(+);

Thresholding (Cut off) Thresholding merupakan proses pemisahan piksel-piksel berdasarkan dera0at keabuan yang dimilikinya. Piksel yang memiliki dera0at keabuan lebih kecil dari nilai batas yang ditentukan akan diberikan nilai 5, sementara piksel yang memiliki dera0at keabuan yang lebih besar dari batas akan diubah men0adi bernilai 9 3ontoh perintah untuk melakukan thresholding:

*=imread('rice.tif'); +=im&bw(*,..2); #=im&bw(*,../); figure,imshow(*); figure,imhist(*); figure,imshow(+); figure,imshow(#);

2.

Operasi Spasial

Operasi spasial dalam pengolahan citra digital dilakukan melalui penggunaan suatu kernel kon:olusi --dimensi. !eberapa metode image enhancement yang termasuk dalam keluarga ini adalah neighborhood averaging, median filtering, dan high-pass filtering. 2.1 Neig !or ood A"eraging Pada prinsipnya, filter yang digunakan dalam neighborhood a:eraging merupakan salah satu 0enis lo -pass filter, yang beker0a dengan cara mengganti nilai suatu piksel pada citra asal dengan nilai rata-rata dari piksel tersebut dan lingkungan tetangganya. 3ontoh perintah untuk melakukan neighborhood a:eraging dengan kernel berukuran ;<;:
*=imread('eight.tif'); 3ernel=," " ";" " ";" " "-40; +=uint5(con6&(double(*),3ernel,'same')); figure,imshow(*); figure,imshow(+);

+alah satu persoalan pada penggunaan neighborhood a:eraging adalah apabila citra masukan telah terkontaminasi noise, sebagaimana diperlihatkan oleh contoh berikut:
*=imread('eight.tif'); *7=imnoise(*,'salt 8 pepper',...&); 3ernel=," " ";" " ";" " "-40; +=uint5(con6&(double(*),3ernel,'same')); +7=uint5(con6&(double(*7),3ernel,'same')); figure,imshow(*); figure,imshow(+); figure,imshow(*7); figure,imshow(+7);

2.2 #edian $iltering Median filter merupakan salah satu 0enis lo -pass filter, yang beker0a dengan mengganti nilai suatu piksel pada citra asal dengan nilai median dari piksel tersebut dan lingkungan tetangganya. Dibandingkan dengan neighborhood a:eraging, filter ini lebih tidak sensitif terhadap perbedaan intensitas yang ekstrim. 3ontoh perintah untuk melakukan median filtering dengan kernel berukuran ;<;:
*=imread('eight.tif'); *7=imnoise(*,'salt 8 pepper',...&); +=medfilt&(*,,) )-); +7=medfilt&(*7,,) )-); figure,imshow(*); figure,imshow(+); figure,imshow(*7);

figure,imshow(+7);

2.% Hig &pass $iltering +ebagaimana pada proses pengolahan sinyal satu dimensi, high-pass filter dua dimensi akan mele atkan komponen citra frekuensi tinggi dan meredam komponen citra frekuensi rendah. 3ontoh perintah untuk melakukan high-pass filtering:
*=imread('saturn.tif'); hpf"=, " 9& ";9& / 9&; " 9& "-; hpf&=, . 9" .;9" / 9"; . 9" .-; hpf)=,9" 9" 9";9" 0 9";9" 9" 9"-; +"=uint5(con6&(double(*),hpf",'same')); +&=uint5(con6&(double(*),hpf&,'same')); +)=uint5(con6&(double(*),hpf),'same')); figure,imshow(*); figure,imshow(+"); figure,imshow(+&); figure,imshow(+));

%.

Operasi Trans'ormasi

!erbeda dengan beberapa metode yang telah dibahas sebelumnya, proses image enhancement berbasis transformasi citra dilakukan dengan: a. mentransformasi citra asal ke dalam domain yang sesuai bagi proses enhancement b. melakukan proses enhancement pada domain tersebut c. mengembalikan citra ke dalam domain spasial untuk ditampilkan=diproses lebih lan0ut +alah satu metode transformasi yang paling populer dalam aplikasi pengolahan citra digital adalah Fast Fourier Transform "))'#. 'ransformasi ini memindahkan informasi citra dari domain spasial ke dalam domain frekuensi, yaitu dengan merepresentasikan citra spasial sebagai suatu pen0umlahan eksponensial kompleks dari beragam frekuensi, magnituda, dan fasa. 3ontoh perintah untuk melakukan low-pass filtering dan high-pass filtering melalui ))' adalah:
*=double(imread('cameraman.tif')); *:=fft&(*); mas3_high=double(imread('mas3pojo3.bmp')); mas3_low =not(mas3_high); *:'=*:.*mas3_high; *:;=*:.*mas3_low; hasil_high=abs(ifft&(*:')); hasil_low =abs(ifft&(*:;)); figure,imagesc(*) ,colormap('gra<'),colorbar('6ert'); figure,imagesc(log(abs(*: )),,. "=-),colormap('hot') ,colorbar('6ert'); figure,imagesc(hasil_high) ,colormap('gra<'),colorbar('6ert'); figure,imagesc(log(abs(*:')),,. "=-),colormap('hot') ,colorbar('6ert'); figure,imagesc(hasil_low ) ,colormap('gra<'),colorbar('6ert'); figure,imagesc(log(abs(*:;)),,. "=-),colormap('hot') ,colorbar('6ert');

Pada contoh program tersebut, proses filtering dilakukan melalui masking terhadap komponen frekuensi yang ditentukan. >gar tercipta karakteristik high-pass filter, maka komponen frekuensi rendah "koefisien frekuensi yang berada pada bagian po0ok dari citra hasil ))'# dimasking menggunakan nilai 5. Demikian pula sebaliknya untuk memunculkan sifat lo -pass filter, komponen frekuensi tinggi "koefisien frekuensi yang berada pada bagian tengah dari citra hasil ))'# dibuat men0adi 5 melalui perkalian dengan mask lo -pass.

(.

Tugas

(.1 Operasi Titik $alankan program berikut dan berikan analisis atas hasil yang diperoleh.
*=imread('rice.tif'); +=imadjust(*,,.."/ ..0-,," .-); figure,imshow(*); figure,imhist(*); figure,imshow(+); figure,imhist(+);

(.2 Operasi Spasial $alankan program berikut dan berikan analisis atas hasil yang diperoleh.
*=double(imread('saturn.tif')); 3ernel=," " ";" " ";" " "-40; +=con6&(*,3ernel,'same'); #=*9+; figure,imagesc(*),colormap('gra<'),colorbar('6ert'); figure,imagesc(+),colormap('gra<'),colorbar('6ert'); figure,imagesc(#),colormap('gra<'),colorbar('6ert');

(.% Operasi Trans'ormasi $alankan program berikut dan berikan analisis atas hasil yang diperoleh.?
* =double(imread('segitiga.bmp')); : =fft&(*); *:=fliplr(*); ::=fft&(*:); * =rot0. (*); : =fft&(* ); figure,imagesc(*) ,colormap('gra<'),colorbar('6ert'); figure,imagesc(log(abs(: ))),colormap('hot') ,colorbar('6ert'); figure,imagesc(*:) ,colormap('gra<'),colorbar('6ert'); figure,imagesc(log(abs(::))),colormap('hot') ,colorbar('6ert'); figure,imagesc(* ) ,colormap('gra<'),colorbar('6ert'); figure,imagesc(log(abs(: ))),colormap('hot') ,colorbar('6ert');

&unakan file segitiga.bmp sebagai citra masukan. Pastikan terlebih dahulu agar file tersebut telah berada di direktori ker0a yang digunakan.

(.( Studi )asus (mage enhancement pada dasarnya merupakan proses yang bersifat sub0ektif, sehingga parameter keberhasilannya bersifat sub0ektif pula. @amun demikian, apabila terdapat suatu citra referensi yang merepresentasikan hasil image enhancement yang diinginkan, pengukuran keberhasilan prosedur image enhancement secara kuantitatif dapat dilakukan melalui perhitungan nilai parameter M+% "Mean quared !rror# sebagai berikut:

a.

6ntuk citra yang terkontaminasi noise berikut "gambar sebelah kiri#, lakukanlah prosedur image enhancement sehingga diperoleh hasil yang paling mendekati citra referensi yang bersesuaian "gambar sebelah kanan#.A Prosedur image enhancement yang dilakukan dapat merupakan gabungan dari berbagai metode image enhancement yang tersedia.

b.

'uliskan langkah-langkah image enhancement yang memberikan hasil optimum dalam sebuah m-file. Prosedur image enhancement yang optimum adalah langkahlangkah yang menghasilkan keluaran citra dengan nilai M+% paling rendah. Perhitungan nilai M+% antara citra yang telah di- enhance dengan citra referensi dapat dilakukan melalui program hitungmse.m berikut:
>'*?@7%$AB C :ungsi untu3 menghitung nilai $AB dari dua buah citra function 7ilai$AB='itung$AB(Ditra,Ditra ef); ,tinggi,lebar-=size(Ditra); 7ilaiAAB=sum(sum((double(Ditra)9double(Ditra ef)).E&)); 7ilai$AB=7ilaiAAB4tinggi4lebar;

Dengan menggunakan file hitungmse.m tersebut, perhitungan M+% dapat dilakukan dari command window melalui perintah:
nilai_mse = hitungmse(citra,citra_referensi)
-

&unakan file taz_noise.bmp sebagai citra yang akan di-enhance, dan file taz_ref.bmp sebagai citra referensi.