1. Pendahuluan
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. Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa
perangkat, misalnya scanner,
kamera digital, dan handycam. Ketika sebuah citra sudah diubah ke dalam bentuk digital (selanjutnya disebut citra digital),
bermacam-macam proses pengolahan citra dapat diperlakukan terhadap citra tersebut.
Pengolahan citra digital dapat dilakukan berbagai cara diantaranya
adalah representasi dan
permodelan citra, peningkatan
kualitas citra, restorasi citra, analisis citra, rekonstruksi
citra dan kompresi citra. Pada makalah ini, pengolahan citra digital difokuskan pada teknik peningkatan mutu pada domain
spatial khususnya penggunaan untuk
teknik deteksi tepian (Edge Detection).
Teknik
image enhancement digunakan untuk meningkatkan kualitas suatu citra
digital, baik dalam tujuan untuk menonjolkan suatu ciri tertentu dalam citra
tersebut, maupun untuk memperbaiki aspek tampilan. Proses ini biasanya
didasarkan pada prosedur yang bersifat eksperimental, subjektif, dan amat
bergantung pada tujuan yang hendak dicapai.
Proses peningkatan mutu citra bertujuan untuk
memperoleh citra yang dapat memberikan informasi sesuai dengan tujuan/kepentingan pengolahan citra. Proses peningkatan mutu citra ini termasuk memperbaiki
citra yang ketika proses akuisisi mengalami
ganguan yang signifikan seperti noise, gangguan geometris, radiometrik dan beberapa gangguan faktor
alam lainnya. Secara umum domain dalam pengingkatan mutu citra ini
dapat dilakukan secara spatial dan frekuensi. Domain Spatial melakukan manipulasi nilai pixel secara langsung dengan
dipengaruhi oleh nilai pixel lainnya secara spatial sedangkan domain frekuensi berdasarkan frekuensi spektrum citra.
Domain Spasial merupakan teknik peningkatan mutu citra yang melakukan
manipulasi langsung pixel (x,y) suatu citra
dengan menggunakan fungsi transformasi: g(x, y) = T[f(x, y)], dimana f(x, y) sebagai citra input, g(x,
y) hasil citra yang sudah diproses dan T adalah operator pada f yang didefinisikan berdasarkan
beberapa lingkungan di (x, y). Teknik
ini ditunjukkan pada gambar 5.2 Masking/Filter suatu pixel (x,y) ditentukan berdasarkan pixel tetangganya yang didefinisikan sebagai bentuk bujur sangkar
(sering digunakan) ataupun circular sebagai
sub-citra yang berpusat di titik (x,y) dengan ukuran lebih dari 1x1(gambar 5.3 menggunakan masking 3x3).
Pusat sub-citra berpindah dari satu pixel ke
pixel lainnya dimulai dari pojok atas. Nilai koefisien masking ditentukan berdasarkan prosesnya. Teknik
masking digunakan untuk penajaman citra dan
penghalusan citra.
Edge detection adalah pendekatan yang paling umum
digunakan untuk mendeteksi diskontinuitas graylevel. Hal ini disebabkan karena titik ataupun garis
yang terisolasi tidak terlalu sering dijumpai dalam aplikasi praktis. Suatu edge adalah batas antara dua region yang
memiliki graylevel yang relatif berbeda. Pada dasarnya ide yang ada di balik sebagian besar teknik edge-detection
adalah menggunakan perhitungan local derivative
operator. Gradien dari suatu citra
f(x,y) pada lokasi (x,y) adalah vector.
2.
Isi
Tepi (edge) adalah perubahan nilai intensitas derajat keabuan yang cepat/tiba-tiba (besar) dalam jarak yang singkat. Sedangkan deteksi tepi (Edge Detection) pada suatu citra
adalah suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra,
tujuannya adalah Untuk menandai bagian yang menjadi detail citra Untuk
memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya
efek dari proses akuisisi citra Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila
titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya. Pada gambar 2.1
di bawah ini dapat dilihat proses yang dilakukan untuk memperoleh tepi gambar
dari suatu citra yang ada.
Gambar 2.1. Proses deteksi
tepi citra
Pada gambar 8.2. terlihat bahwa hasil
deteksi tepi berupa tepi-tepi dari suatu gambar. Bila diperhatikan bahwa tepi suatu gambar
terletak pada titik-titik yang memiliki perbedaan tinggi.
Gambar 2.2. Hasil deteksi tepi
Proses deteksi tepi (edge detection) sendiri masing
dapat dikelompokkan berdasarkan operator atau metode yang digunakan dalam
proses pendeteksian tepi suatu citra (edge detection) untuk memperoleh citra
hasil.
2.1 Metode Pendeteksian Tepi Suatu Citra
- Metode Robert
Metode Robert adalah nama lain dari teknik
differensial pada arah horisontal dan differensial pada arah vertikal, dengan
ditambahkan proses konversi biner setelah dilakukan differensial. Teknik
konversi biner yang disarankan adalah konversi biner dengan meratakan
distribusi warna hitam dan putih.. Metode Robert ini juga disamakan dengan teknik DPCM (Differential
Pulse Code Modulation).
Operator Robert menggunakanoperator gradient berukuran2 x 2 :
Gradient magnitude dari operator Robert adalah sebagai berikut :
Karenaoperator Robert hanya menggunakan convolution mask berukuran 2 x 2, maka operator Robert sangat sensitive terhadap noise.
- Metode Prewitt
Metode
Prewitt merupakan pengembangan metode robert dengan menggunakan filter HPF yang
diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi
laplacian yang dikenal sebagai fungsi untuk membangkitkan HPF.
Operator
Prewitt menggunakan delapan buah kernel operator gradient :
Dengan menggunakan batuan program matlab maka
Pendektesian tepi (Edge Detection) dengan operator Prewitt dapat dilihat
implementasinya. Berikut ini adalah listing program yang akan digunakan untuk
mengimplementasikan deteksi tepi denngan operator Prewitt :
citra=imread('D:\MATLAB PROJECT\Vincent.tif');
ic= rgb2gray(citra);
px=[-1 0 1;-1 0 1;-1 0 1]; %% DeteksiVertikal
icx=filter2(px,ic); % convolution
py=px'; %% DeteksiHorizontal
icy=filter2(py,ic);
edge_p=sqrt(icx.^2+icy.^2);
edge_t=im2bw(edge_p/255,0.3);
figure, imshow(citra),
title('Citra Asli');
subplot(2,2,1),
imshow(icx/255), title('Deteksi Vertikal');
subplot(2,2,2),
imshow(icy/255), title('Deteksi Horisontal');
subplot(2,2,3),
imshow(edge_p/255), title('Deteksi Citra
Dengan Batasan (255)');
subplot(2,2,4),
imshow(edge_t), title('Citra Hasil Deteksi Tepi');
Dari program
diatas maka akan didapat tampilan atau hasil detesi tepi dengan operator
Prewitt sebagai berikut :
Contoh lain penggunaan
operator Prewitt dapat menggunakan Listing berikut ini :
l=imread('D:\MATLAB PROJECT\tree.bmp');
l1=rgb2gray(l);
l2=fft(double(l1));
l2_1=fft(double(l));
figure(1)
clf(subplot(1,3,1),imshow(l));
title('Original image');
hold on;
subplot(1,3,2),imshow(l1);
title('Gray scale image');
% creat filter
matrix(3×3 window)
h=fspecial('prewitt');
l_pre=uint8(round(filter2(h,l1)));
l_pre_1=fft(double(l_pre));
subplot(1,3,3),imshow(l_pre)
title('Prewitt filtered image');
Capture :
- Metode Sobel
Metode Sobel merupakan pengembangan metode robert
dengan menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini
mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai
fungsi untuk membangkitkan HPF. Kelebihan dari metode sobel ini adalah
kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi.
Operator Sobel menggunakan kernel operator gradient 3 x 3 :
Operator Sobel melakukan deteksi tepi dengan memperhatikan tepi vertical dan horizontal. Gradient Magnitude dari operator
Sobel adalah sebagai berikut :
Dengan menggunakan batuan
program matlab maka Pendektesian tepi (Edge Detection) dengan operator Sobel
dapat dilihat implementasinya. Berikut ini adalah listing program yang akan
digunakan untuk mengimplementasikan deteksi tepi denngan operator Sobel :
l=imread('D:\MATLAB PROJECT\Vincent.tif');
l1=rgb2gray(l);
l2=fft(double(l1));
l2_1=fft(double(l));
figure(1)
clf(subplot(1,3,1),imshow(l));
title('Original image');
hold on;
subplot(1,3,2),imshow(l1);
title('Gray scale image');
% creat filter
matrix(3×3 window)
h=fspecial('sobel');
l_sobel=uint8(round(filter2(h,l1)));
l_sobel_1=fft(double(l_sobel));
subplot(1,3,3),imshow(l_sobel)
title('Sobel filtered image');
Perbandingan pendeteksian tepi
dengan operator Prewitt dengan Operator Sobel :
Script
l=imread('D:\MATLAB PROJECT\lenna.bmp');
l1=rgb2gray(l);
l2=fft(double(l1));
l2_1=fft(double(l));
figure(1)
clf(subplot(2,2,1),imshow(l));
title('Original image');
hold on;
subplot(2,2,2),imshow(l1);
title('Gray scale image');
% creat filter
matrix(3×3 window)
h=fspecial('prewitt');
l_pre=uint8(round(filter2(h,l1)));
l_pre_1=fft(double(l_pre));
subplot(2,2,3),imshow(l_pre)
title('Prewitt filtered image');
% creat filter
matrix(3×3 window)
h=fspecial('sobel');
l_sobel=uint8(round(filter2(h,l1)));
l_sobel_1=fft(double(l_sobel));
subplot(2,2,4),imshow(l_sobel)
title('Sobel filtered image');
Capture
2.2 Teknik Peningkatan Mutu Citra
1. Point Processing
Cara paling mudah untuk melakukan peningkatan mutu
pada domain spasial adalah dengan melakukan pemrosesan yang hanya melibatkan
satu piksel saja (tidak menggunakan jendela ketetanggaan).
Yang termasuk disini misalnya :
• Citra negatif,
• Contrast Stretching,
• perataan histogram,
• Image Substraction,
• Image Averaging
o Citra Negatif
Mengubah nilai grey-level piksel citra input dengan:
Gbaru = 255 - Glama
Hasilnya seperti klise foto
o Contast Stretching
Mengubah kontras dari suatu image dengan cara mengubah greylevel
piksel-piksel pada citra menurut fungsi s = T(r) tertentu
r1 ≤ r2, s1 ≤ s2
r1 = r2, s1 = s2 à tidak ada perubahan
r1 = r2, s1 = 0, s2 = 255 à tresholding menjadi citra biner dengan ambang
r1
o Histogram Equalization
Histogram: diagram yang menunjukkan jumlah kemunculan grey level (0-255)
pada suatu citra
Histogram processing:
Gambar gelap: histogram cenderung ke sebelah kiri
Gambar terang: histogram cenderung ke sebelah kanan
Gambar low contrast: histogram mengumpul di suatu tempat
Gambar high contrast: histogram merata di semua tempat
à Histogram processing: mengubah bentuk histogram agar pemetaan gray level
pada citra juga berubah.
Contoh:
o Image Averaging
Dilakukan jika kita memiliki beberapa citra yang bergambar sama, namun
semua citra memiliki noise (gangguan)
Noise satu citra berbeda dengan noise citra lainnya (tidak berkorelasi)
Cara memperbaikinya adalah dengan melakukan operasi rata-rata terhadap
semua citra tersebut.
2. Mask Processing
Jika pada point processing kita hanya melakukan operasi terhadap
masing-masing piksel, maka pada mask processing kita melakukan operasi terhadap
suatu jendela ketetanggaan pada citra.
Kemudian kita menerapkan (mengkonvolusikan) suatu mask terhadap jendela
tersebut. Mask sering juga disebut filter.
- Lingkup Proses Perbaikan Citra
• Pengubahan
kecerahan (brightness)
Kecerahan/kecemerlangan gambar dapat diperbaiki dengan
menambahkan (mengurangkan) sebuah konstanta kepada (dari) setiap pixel di dalam
citra. Akibat dari operasi ini, histogram citra mengalami pergeseran.
Secara matematis
operasi ini ditulis sebagai:
f(x,y)’ = f(x,y)
+ b
Jika b positif, kecerahan gambar bertambah, sebaliknya
jika b negative kecerahan gambar akan berkurang,Kontras menyatakan sebaran
terang dan gelap.
• Pengubahan histogram
Ada 2 cara: peralatan histogram,
spesiikasi histogram.
• Pelembutan citra(smoothing)
Tujuannya menurunkan gangguan (noise) pada citra.
Gangguan biasanya berupa variasi intensitas pixel yang berkolerasi dengan pixel
tetangganya. Jika terkena gangguan pixel akan mempunyai frekuensi tinggi.
Pelembutan citra dilakukan dengan menekan komponen yang berfreuensi tinggi dan
membiarkan kom ponen yang berfrekuensi rendah seperti semula.
• Penajaman tepi
(edge sharpening)
Tujuannya memperjelas tepi objek pada citra, ini
merupakan kebalikan dari pelembutan. Metodenya menggunakan penapis lolos tinggi
(High Pass Filter). Sering juga disebut penajaman tepi.
• Pewarnaan semu
(pseudocolouring)
Proses pemberian warna tertentu pada nilai pixel citra
hitam-putih berdasarkan kriteria tertentu. Agar nantinya mata manusia dapat
membedakan warna.
• Pengubahan
geometric
Lebih untuk mengubah nilai geometrisnya. Metode yang
digunakan rotasi, translasi penskalaan/perbesaran/pengecilan, skew, dan
lain-lain.
• Penapisan derau
Merupakan Proses penghalusan dilakukan untuk setiap
pixel dari citra , dengan memperhitungkan statistik pixel. Setiap pixel yang
diproses akan digantikan dengan nilai median dari himpunan nilai pixel yang
ada.
http://iputprihanarko.blogspot.co.id/2012/09/perbaikan-kualitas-citra-pengolahan_15.html
http://uchie-blog.blogspot.co.id/2008/10/pengubahan-kecerahan-gambar-dan.html