Tugas Keempat Pengolahan Citra Digital - Peningkatan Kualitas Citra
Soal 1
1. Lakukan konvolusi dengan dua buah fungsi berikut : (matriks kernel harus diputar dulu 180°)
Penyelesaian :
* matriks kernel harus diputar dulu 180°
FILTER SPASIAL
Pentapisan pada pengolahan citra biasa disebut dengan pentapisan spasial (spasial filtering ). Pada proses penapisan, nilai piksel baru umumnya dihitung berdasarkan piksel tetangga (neighborhood).
Proses-proses yang termasuk ke dalam filter spasial citra adalah pelembutan citra (image smoothing) dan penajaman citra (image sharphening).
1. Pelembutan Citra
Pelembutan citra bertujuan untuk menekan gangguan (noise) pada citra. Gangguan tersebut muncul sebagai akibat dari hasil penerokan yang tidak bagus. Piksel yang mengalami gangguan biasanya memiliki frekuensi tinggi. Operasi pelembutan citra dilakukan untuk menekan komponen berfrekuensi tinggi dan meloloskan komponen berfrekuensi rendah.
Gambar 1. Citra yang mengalami gangguan (noise)
2. Filter Linier (Low Pass Filter)
Filter yang digunakan dalam filter linear adalah neighborhood averaging merupakan salah satu jenis low-pass filter, yang bekerja dengan cara mengganti nilai suatu piksel pada citra asal dengan nilai rata-rata dari piksel tersebut dan lingkungan tetangganya.
Contoh perintah melakukan neighborhood averaging dengan kernel berukuran 3 x 3:
Source Code :
clear; clc;
A = imread('eight.tif');
A = imnoise(A, 'salt & pepper', 0.01);
k = ones(3) / 9;
[r c] = size(A);
[m n] = size(k);
h = rot90(k, 2);
center = floor((size(h)+1)/2);
left = center(2) - 1;
right = n - center(2);
top = center(1) - 1;
bottom = m - center(1);
Rep = zeros(r + top + bottom, c + left + right);
for x = 1 + top : r + top
for y = 1 + left : c + left
Rep(x,y) = A(x - top, y - left);
end
end
B = zeros(r , c);
for x = 1 : r
for y = 1 : c
for i = 1 : m
for j = 1 : n
q = x - 1;
w = y -1;
B(x, y) = B(x, y) + (Rep(i + q, j + w) * h(i, j));
end
end
end
end
figure, imshow(A);
figure, imshow(uint8(B));
Hasil Tampilan :
Gambar 2. (Figure 1) Citra yang mengandung noise,
(Figure 2) Hasil pelembutan dengan kernel 3 x 3
3. Filter Linier (High Pass Filter)
a. Penajaman Citra (Image Sharpening)
Inti dari penajaman (sharpening) citra adalah memperjelas tepi pada objek didalam citra. Penajaman citra merupakan kebalikan dari operasi pelembutan citra karena operasi ini menghilangkan bagian citra yang lembut. Metode atau filtering yang digunakan adalah hight-pass filtering.
Gambar 3. (a) Citra sebelum dikenai operasi penajaman,
(b) Citra setelah dikenai operasi penajaman
Contoh perintah untuk melakukan operasi penajaman terhadap suatu citra adalah sebagai berikut :
Source Code :
clear; clc;
I = imread('cameraman.tif');
hpf =[-1 -1 -1; -1 9 -1; -1 -1 -1];
[r c] = size(I);
[m n] = size(hpf);
h = rot90(hpf, 2);
center = floor((size(h)+1)/2);
left = center(2) - 1;
right = n - center(2);
top = center(1) - 1;
bottom = m - center(1);
Rep = zeros(r + top + bottom, c + left + right);
for x = 1 + top : r + top
for y = 1 + left : c + left
Rep(x,y) = I(x - top, y - left);
end
end
B = zeros(r , c);
for x = 1 : r
for y = 1 : c
for i = 1 : m
for j = 1 : n
q = x - 1;
w = y -1;
B(x, y) = B(x, y) + (Rep(i + q, j + w) * h(i, j));
end
end
end
end
figure, imshow(I);
figure, imshow(uint8(B));
Hasil Tampilan :
Gambar 4. (Figure 1) Citra ‘cameraman.tif’ sebelum dikenai operasi penajaman,
(Figure 2) Citra setelah dikenai operasi penajaman
4. Filter Non-Linier
a. Filter Median
Filter media sangat bermanfaat untuk menghilangkan outliers, yaitu nilai-nilai piksel yang eksrim.
Contoh perintah untuk melakukan median filtering terhadap citra yang terkena gangguan dengan kernel berukuran 3 x 3.
Source Code :
clear; clc;
I = imread('eight.tif');
I = imnoise(I, 'salt & pepper', 0.01);
[r c] = size(I);
Rep = zeros(r + 2, c + 2);
for x = 2 : r + 1
for y = 2 : c + 1
Rep(x,y) = I(x - 1, y - 1);
end
end
Rep;
B = zeros(r, c);
for x = 1 : r
for y = 1 : c
for i = 1 : 3
for j = 1 : 3
q = x - 1;
w = y -1;
array((i - 1) * 3 + j) = Rep(i + q, j + w);
end
end
B(x, y) = median(array(:));
end
end
figure, imshow(I);
figure, imshow(uint8(B))
Hasil Tampilan :
Gambar 4. (Figure 1) Citra yang mengandung noise
(Figure 2) Hasil pelembuatan dengan median filtering
Leave a Comment