TEORI 3 Perbaikan Citra
description
Transcript of TEORI 3 Perbaikan Citra
TUGAS TEORI 3
PERBAIKAN CITRA ( IMAGE ENHANCEMENT )
Histogram, Brightness, Negasi, Mean Filter, Median, Dan
High Pass Filter
1. Histogram
Banyak sekali proses pengolahan citra yang melibatkan distribusi data,
seperti pada contoh konversi biner di atas. Bahkan dalamimage enhancement
(perbaikan citra), distribusi dari nilai derajat keabuan padacitra menjadi suatu
acuan dasar. Untuk menyatakan distribusi data dari nilai derajat keabuan ini dapat
digunakan nilai histogram. Histogramadalah suatu fungsi yang menyatakan jumlah
kemunculan dari setiap nilai. Misalkan diketahui data sebagai berikut:
X = 1 3 2 5 3 0 2 1 2 4 2 3
Maka histogramnya adalah munculnya setiap nilai, yaitu: nilai 0 muncul 1
kali, nilai 1 muncul 2 kali, nilai 2 muncul 4 kali, nilai 3 muncul 3 kali, nilai 4
muncul 1 kali dan nilai 5 muncul 1 kali. Karena citra mempunyai derajat keabuan
256 yaitu (0-255) maka histogram menyatakan jumlan kemunculan setiap nilai 0-
255.
Program Histogram Pada Matlab
1
Syntax Program :
i = imread('Aryef_0.5.jpg'); = Menampung Gambark = rgb2gray(i); = Merubah menjadi grayj = histeq(k); = Membangkitkan Histogram ksubplot(2,2,1),imshow(i); = Mem-Plot Gambar i subplot(2,2,2),imshow(j); = Mem-Plot Tampilan jsubplot(2,2,3),imhist(k); = Mem-Plot Gambar graysubplot(2,2,4),imhist(j); = Mem-Plot Histogram j
2. Brightness
Brightness adalah prosespenambahan kecerahan dari nilai derajat keabuan.
Proses brightness ini dilakukan dengan me-nambahkan nilai derajat keabuan
dengan suatu nilai penambah. xb = x + b
dimana
x = adalah nilai derajat keabuan
b = nilai penambah
xb = hasil brightness
Program Brightness pada Matlab
Syntax dan Analisa
a=imread('aryef_0.5.jpg'); = Menampung gambarb=a+80; = Menambah nilai warna pada gambarsubplot(1,2,1) = Memberi posisi plot gambarimshow(a); = Menampilkan gambar pada atitle('Citra Awal'); = Memberi judul pada gambar asubplot(1,2,2) = Memberi posisi plot gambarimshow(b); = Menampilkan gambar hasil penambahantitle('Citra Brightness'); = Memberi Judul pada gambar b
2
3. Negasi atau Inversi Citra
Negasi citra adalah proses negatif pada photo, dimana setiap nilai citra
dibalik dengan acuan threshold yang diberikan. Proses ini banyak digunakan pada
citra-citra medis seperti USG dan X-Ray. Untuk citra dengan derajat keabuan 256,
proses Negasi citra didefinisikan dengan:
xn = 255 – x
Perhatikan histogram dari kedua gambar. Histogram Negasi adalah
kebalikan secara horisontal (horisontal flip) dari histogram dari citra. Proses Negasi
ini merupakan salah satu proses dasar dalam image enhancement dengan
menggunakan histogram.
Jika kita bandingkan foto hasil cetakan dengan hasil negatifnya, maka titik
yang berwarna putih pada citra mempunyai warna hitam pada film negatifnya,
demikian pula sebaliknya. Dengan demikian operasi negasi dilakukan dengan
mengubah nilai keabuan titik dalam citra dengan nilai ”negatif”nya.
Sehingga Fungsi GST yang bisa diformulasikan adalah :
K0 =K max – Ki
Dimana,
K max, merupakan nilai skala keabuan yang tertinggi
Untuk skala keabuan 8 bit, maka Kmax = 255.
Pengaruh operasi negasi terhadap histogram dapat dilihat pada gambar dibawah ini,
dimana histogram citra asli dicerminkan kearah horisontal.
Program Negasi pada Matlab
3
Syntax Program :
a=imread('aryef_0.5.jpg'); =c=250-a; = Memproses gambar a agar menjadi negasisubplot(1,2,1) = Memberi posisi pada plotimshow(a); = Menampilkan gambar pada variable atitle('Citra Awal'); = Memberi judul pada gambarsubplot(1,2,2) = Memberi posisi pada plotimtool(c); = Menampilkan hasil negasi c dengan imtolltitle('Citra Negasi'); = Memberi judul pada gambar
4. Mean Filter
Mean Filtering adalah filter yang digunakan untuk menghaluskan gambar
yang terlalu kasar. JIka filter ini dilakukian pada gambar yang sudah halus, maka
hasil gambar tersebut akan semakin kabur, Mean filtering ini biasa disebut
smoothing filter
Program Mean Filter pada Matlab
Syntax Program :
I=imread('Aryef_0.5.jpg'); = Menampung gambarG=imnoise(I,'gaussian',0.0005,0.0019); = Memberi noise gaussianh = fspecial('average', 3); = Mendefinisikan fspecial dalam hF=imfilter(G,h); = Memfilter gambar G dengan rumus hsubplot(1,3,1) = Memberi Posisi Plotimshow(I); = Menampilkan gambar pada Ititle('Citra Awal'); = Memberi Judul pada gambarsubplot(1,3,2) = Memberi posisi Plotimshow(G); = Menampilkan gambar G noise gaussiantitle('Noise Gaussian'); = Memberi judul gambarsubplot(1,3,3) = Memberi posisi plotimshow(F); = Menampilkan gambar pada F title('Filter Mean'); = Memberi judul gambar
4
5. Median Filter
Median filtering adalah filter yang digunakan untuk memperhalus gambar
tetapi tidak sehalu mean filtering. Gambar yang dihasilkan terlihat tidak rapi,
karena tidak dilakukan nya proses rata-rata tetapi dilakukan proses mencari nilai
tengah dari titik-titik yang direkam dalam matriks neighbour.
Program Mean Filter pada Matlab
Syntax Program :
normal=imread('Aryef_0.5.jpg'); = Menampung gambar dlm normalgray=rgb2gray(normal); = Menjadikan gambar graynoise=imnoise(gray,'salt & pepper',0.02);=Memberikan noisex=medfilt2(gray); = Memfilter gambar graysubplot(2,2,1) = Mengatur posisi plotimshow(normal); = Menampilkan gambar pada normaltitle('Citra Awal'); = Memberi judul gambarsubplot(2,2,2) = Mengatur posisi plotimshow(gray); = Menampilkan gambar graytitle('Citra Gray'); = Memberi judul gambarsubplot(2,2,3) = Mengatur posisi plotimshow(noise); = Menampilkan gambar yang diberi noisetitle('Memberi Noise'); = Memberi judul gambarsubplot(2,2,4) = Mengatur posisi plotimshow(x); = Menampilkan gambar pada xtitle('Median Filter'); = Memberi judul gambar
5
6. High Pass Filter
Berkebalikan dengan low-pass filtering, high-pass filtering adalah proses
filter yang melewatkan komponen citra dengan nilai intensitas yang tinggi dan
meredam komponen citra dengan nilai intensitas yang rendah. High pass filter akan
menyebabkan tepi objek tampak lebih tajam dibandingkan sekitarnya.
Aturan kernel untuk high-pass filter adalah:
1. Koefisien kernel boleh positif, negative, atau nol
2. Jumlah semua koefisien kernel adalah 0 atau 1
Contoh kernel yang dapat digunakan pada high-pass filtering adalah :
Program Mean Filter pada Matlab
Syntax Program :
I=imread('Aryef_0.5.jpg'); = Menampung gambar ke Igray=rgb2gray(I); = Menjadikan I ke gambar grayBW1 = edge (gray,'prewitt'); = Memfilter gambar dengan prewittBW2 = edge (gray,'sobel'); = Memfilter gambar dengan sobelsubplot(2,2,1) = Mengatur posisi plotimshow(I); = Menampilkan gambar aslititle('Citra Awal'); = Memberi judul gambarsubplot(2,2,2) = Mengatur posisi plot
6
imshow(gray); = Menampilkan gambar graytitle('Ubah Gray'); = Memberi judul gambarsubplot(2,2,3) = Mengatur posisi plotimshow(BW1); = Menampilkan gambar filter prewitttitle('HPF Presitt'); = Memberi judul gambarsubplot(2,2,4) = Mengatur posisi plotimshow(BW2); = Menampilkan gambar sobeltitle('HPF Sobel'); = Memberi judul gambar
KESIMPULAN :
Dari percobaan dengan menggunakan matlab dapat saya simpulkan bahwa untuk
mengedit citra telah tersedia code program pada matlab dan telah tersedia juga code untuk
menampilkan gambar dengan imtool juga memberikan noise serta memfilter gambar. Pada
citra terdapat nilai-nilai warna pada setiap pixel gambar, dan untuk mengedit seperti
menambahkan noise serta memfilter citra tersebut kita wajib memindahkan nilai dari citra
kedalam variable lain.
7