praktek3_kuliah4-5
DESCRIPTION
praktek PCD 3TRANSCRIPT
-
@Fitri Arnia - Universitas Syiah Kuala 2015
Modul Praktikum 4
Pengolahan Citra
1. Judul: Penapisan Spasial Peningkatan Citra
2. Tujuan Percobaan
Memahami konsep penapisan spasial untuk
peningkatan citra.
Memahami tapis turunan pertama dan kedua
untuk deteksi tepi.
3. Teori Singkat
Modul 2 membahas penapisan spasial untuk denoising.
Pada bagian ini proses penapisan digunakan untuk
mempertajam citra yang blur (kabur). Citra yang kabur
adalah citra yang kehilangan bagian frekuensi
tingginya, yaitu yang berhubungan dengan komponen
detail citra. Blur sangat terlihat pada tepian objek yang
ada pada citra. Karena itu penajaman citra berhubungan
dengan deteksi tepi.
Metode deteksi tepi paling sederhana adalah
menghitung perbedaan antara dua nilai piksel yang
berturutan. Beda ini dirumuskan oleh persamaan beda
(difference equation); ingat persamaan diferensial
(differential equation untuk kasus analog). Persamaan
beda (difference equation) tingkat pertama dan kedua
berturut-turut dirumuskan sebagai berikut,
( ) ( ) (4.1)
[email protected] BoxModul 3
-
@Fitri Arnia - Universitas Syiah Kuala 2015
Gambar 4.1 Deteksi tepi menggunakan beda antara dua piksel yang berturutan.
( ) ( ) ( ( ) (4.2)
Apabila beda antara dua piksel berturutan jauh, maka
kemungkinan terdapat tepi pada lokasi tersebut. Hal ini
diilustrasikan pada Gambar 4 .1 untuk kasus 1-D. Baris
pertama adalah suatu sinyal. Baris kedua dan ketiga berturut-
turut adalah beda tingkat pertama (PB-I) dan beda tingkat
kedua (PB-II) dari nilai-nilai sinyal yang berturutan.
Pada kasus ini, PB-I ekivalen dengan mengkonvolusikan sinyal
dengan tapis yang koefisiennya (1, 1) pada arah horizontal
dan vertikal. Sementara PB-II ekivalen dengan
mengkonvolusikan sinyal dengan tapis yang koefisiennya (1, -
2, 1) pada arah horizontal dan vertikal.
Hasil deteksi tepi dengan PB-II dibandingkan PB-I, karena
dapat mendeteksi detail citra lebih baik. Karena itu, metode
deteksi tepi banyak yang selanjutnya dikembangkan
berdasarkan PB-II. Salah satunya adalah operator deteksi tepi
Laplacian (DT-Laplacian).
3.1 Penajaman Menggunakan Turunan Order Pertama
Penajaman citra menggunakan turunan order pertama
diperoleh dengan menghitung besar gradien dari dua piksel
yang berturutan, baik pada arah x dan y. Untuk fungsi f (x, y),
-
@Fitri Arnia - Universitas Syiah Kuala 2015
gradiennya pada koordinat (x, y) dan didefinisikan sebagai
vektor kolom 2 dimensi,
( ) ( ) (
) (4.3)
Besar (magnitude/panjang) dari vektor f pada posisi (x,y) dinotasikan dengan B(x,y) didefinisikan sebagai,
(a)
(b) (c)
Gambar 4.2 Tapis Sobel (a). Posisi piksel yang berada di bawah tapis 3 3 (b) dan (c) Tapis sobel horizontal dan
vertical
( ) ( ) (4.4)
B adalah citra yang besarnya sama dengan citra asal dan sering dinamai sebagai citra gradien.
Berdasarkan persamaan 4 .1 dan 4 .3, persamaan 4 .4 dapat dituliskan kembali sebagai,
( ) ( ) ( ( ) ( )) ( ( ) ( )) (4.5)
B(x, y) dapat juga dihitung dengan persamaan berikut,
B(x, y) |gx| + |gy | (4.6)
a b c
d e f
g h i
-1 -2 -1
0 0 0
1 2 1
-1 0 1
-2 0 2
-1 0 1
-
@Fitri Arnia - Universitas Syiah Kuala 2015
Tapis yang besarnya genap kurang praktis, karena tidak ada pusat simetrinya. Tapis terkecil yang banyak digunakan adalah tapis dengan besar 33. Rujuk Gambar 4.2 sebagai bantuan untuk menurunkan persamaan 4.1. Pada kasus ini, beda nilai piksel pada posisi e ke arah x dan y diperoleh dari,
( ) ( ) (4.7)
dan
( ) ( ) (4.8)
Kedua persamaan ini dapat diimplementasikan dengan tapis pada gambar 4.2 (b) dan (c) yang dikenal dengan tapis Sobel. Setelah menghitung persamaan beda partial masing-masing ke arah x dan y, selanjutnya B (x, y) dapat dihitung menggunakan persamaan 4.5 atau 4.6.
3.2 Penajaman dengan LaplacianTurunan Kedua
Laplacian adalah operator turunan isotropik, yang untuk fungsi 2-D f (x,y) (citra) didefinisikan sebagai,
(4.9)
Bentuk diskrit dari persamaan 4 .9 diturunkan menggunakan definisi pada persamaan 4.2. Ingatlah kita akan menurunkannya terhadap x dan y. Turunan pada arah x dapat dituliskan sebagai,
( ) ( ) ( ) (4.10)
sementara pada arah y,
( ) ( ) ( ) (4.11)
Jika kita subsitusi persamaan 4.10 dan 4.11 ke persamaan 4.9, kita peroleh:
2f (x,y) = f (x+1,y) + f (x1,y) + f (x, y+1)f (x,y1) 4f (x,y) (4 .12)
-
@Fitri Arnia - Universitas Syiah Kuala 2015
Persamaan ini bisa diimplementasikan menggunakan filter dengan koefisien seperti yang ditunjukkan Gambar 4.3(a). Tapis pada bagian (b), (c) dan (d) adalah tapis Laplacian lain yang biasa digunakan dalam praktek.
(a) (b)
(c) (d)
Gambar 4.3 Tapis Laplacian (a). Implementasi dari
persamaan 4.12. Tapis pada (b), (c) dan (d) adalah modifikasi
dari tapis (a).
4. Alat dan Bahan
PC dengan system operasi Windows dan Aplikasi Matlab
5. Prosedur Percobaan
Berikut adalah dua program Matlab untuk deteksi tepi
(selanjutnya untuk meningkatkan citra) dengan metode
turunan pertama dan kedua.
-1 0 1
-2 0 2
-1 0 1
-1 -2 -1
0 0 0
1 2 1
-1 0 1
-2 0 2
-1 0 1
-1 -2 -1
0 0 0
1 2 1
-
@Fitri Arnia - Universitas Syiah Kuala 2015
5.1 Metode Turunan Pertama
% METODE TURUNAN PERTAMA
clear; close all; clc;
%Program ini mendeteksi tepi suatu citra menggunakan
metode turunan pertama. Tapis yang digunakan adalah
tapis sobel.
A = double(imread('tmu blur.jpg'));
[m, n] = size(A);
d = 3;
M = zeros((2*(d-2)+m), (2*(d-2) + n));
%Proses pading
M (2 : m + 1, 2 : n + 1) = A;
M (1, 2 : n + 1) = A(1, :);
M (m + 2, 2 : n + 1) = A(m, :);
M (:, 1) = M (:, 2);
M (:, n + 2) = M (:, n + 1);
tapissobelh = [-1 -2 -1; 0 0 0; 1 2 1];% Tapis sobel
horizontal.
tapissobelv = [-101; -202; -101];% Tapis sobel
vertikal.
% Proses penapisan horizontal
H = zeros(m, n);
for i = 1 : m
for j = 1 : n
H (i, j) = sum(sum(M (i : i + 2, j : j + 2).*
tapissobelh));
end
end
% Proses penapisan vertikal
K = zeros(m, n);
for i = 1 : m
for j = 1 : n
K (i, j) = sum(sum(M (i : i + 2, j : j + 2).*
tapissobelv));
end
end
citratajam1 = abs(H ) + abs(K );
% Menghitung tepian dengan persamaan (3.6)
citratajam1 = citratajam1 + A;
% Menjumlahkan tepi dengan citra blur
-
@Fitri Arnia - Universitas Syiah Kuala 2015
citratajam2 = sqrt(H.^2 + K.^2);
% Menghitung tepian dengan persamaan (3.5)
citratajam2 = citratajam2 + A;
% Menjumlahkan tepian dengan citra blur
figure(1); imshow(uint8(A));
figure(2); imshow(uint8(citratajam1));
figure(2); imshow(uint8(citratajam2));
Penjelasan
Dari baris pertama sampai dengan proses padding,
semuanya sama dengan program smoothing dan tapis
median.
Variabel tapissobelh adalah tapis 3 3 yang isinya
koefisien tapis sobel horizontal.
Variabel tapissobelv adalah tapis 3 3 yang isinya
koefisien tapis sobel vertikal.
Proses penapisan horizontal dan vertikal adalah proses
penapisan spasial sesuai Gambar 2.1. Proses ini mirip
dengan proses smoothing dan penapisan median.
Variabel citratajam1 adalah variabel yang memuat
tepian yang dihitung dengan persamaan 3.6.
Variabel citratajam2 adalah variabel yang memuat
tepian yang dihitung dengan persamaan 3.5.
5.2 Metode Turunan Kedua
% METODE TURUNAN KEDUA
.
.
%Tapis Laplacian
tapislaplacian1 = [010; 1 - 41; 010];
H = zeros(m, n);
for i = 1 : m
for j = 1 : n
H (i, j) = sum(sum(M (i : i + 2, j : j +
2).*tapislaplacian1));
end
end
citratajam = A - H ;
-
@Fitri Arnia - Universitas Syiah Kuala 2015
Penjelasan
Dari baris pertama sampai proses padding, prosesnya
sama dengan metode turunan pertama.
Variabel tapislaplacian1 adalah tapis yang berisi
koefisien tapis laplacian (4.3(a)).
Proses penapisan dilakukan hanya sekali jalan. Tidak ada
tapis horizontal dan vertikal seperti pada penapisan sobel.
Variabel citratajam diperoleh dengan menjumlahkan
/mengurangkan citra asal (A) dengan citra hasil
penapisan Laplace (H). Jika nilai tapis pada posisi tengah
adalah negatif, maka dilakukan pengurangan, yaitu:
citratajam = A - H. Jika nilai tapis pada posisi tengah
positif; citratajam = A + H.
6. Tugas
Soal 1
Pergunakan kode Matlab metode turunan pertama
untuk memperbaiki citra blur.....
Simpan citra hasil simulasi (2 citra) untuk kebutuhan
praktikum berikutnya.
Soal 2
Pergunakan kode Matlab turunan kedua untuk
memperbaiki citra blur....
Rubah tapisnya sesuai tapis Laplacian pada Gambar 4.3
Bandingkan citra-citra hasil simulasi (4 citra). Menurut
anda, tapis manakah yang paling bagus untuk
mempertajam tepian?
Bandingkan hasil penapisan Laplacian (turunan kedua)
dengan hasil tapis sobel. Manakah yang lebih bagus?
Semua citranya disertakan dalam Laporan Praktikum