pada kali ini saya akan menjelaskan tentang filter kegunaan filter adalah untuk memperbaiki citra, namun algoritma ini hanya terbatas untuk memberbaiki citra 8 bit grayscale.
terdapat 3 macam filter yakni filter batas, filter pemerataan, dan filter median
sebelum lebih jauh ada beberapa hal yang harus kita ketahui untuk menggunakan algoritma ini, yaitu piksel tetangga. pengertian piksel tetangga adalah piksel yang mengelilingi suatu piksel tertentu. terdapat dua jenis piksel tetangga yaitu 4 piksel tetangga dan 8 piksel tetangga.
pada 4 ketetanggan
T1 = (B,K+1),T2=(B-1,K), T3=(B,K-1), T4 = (B+1,K)
pada 8 ketetanggan
T1 = (B,K+1), T2 = (B-1, K+1), T3 = (B-1,K), T4=(B-1,K-1),
T5 = (B,K-1), T6 = (B+1, K-1), T7 = (B+1, K), T8=(B+1, K+1)
1. filter batas
filter batas adalah sebuah algoritma filter yang membatasi piksel yang berada diluar piksel tetangga sehingga tidak ada piksel yang melebihi piksel tetangga pseudocode nya seperti berikut
Masukan:
f(y, x) : Piksel pada posisi (y, x)
Keluaran:
g(y, x) : Nilai intensitas untuk piksel pada citra g pada posisi
(y, x)
- Carilah nilai intensitas terkecil pada tetangga f(y, x) dengan
- menggunakan 8-ketetanggan dan simpan pada minInt.
- Carilah nilai intensitas terbesar pada tetangga f(y, x) dengan
- menggunakan 8-ketetanggan dan simpan pada maksInt.
- IF f(y, x) < minInt
g(y, x) = minInt
ELSEIF f(y. x) > maksInt
g(y, x) =maksInt
ELSE g(y, x) f(y, x)
END-IF
END-IF
oriFile = imread(‘images/kura.jpg’);
Size = size(oriFile);
H = Size(1);
W = Size(2);newFile = oriFile;
for row = 2 : H-1
for col = 2 : W-1
minValue = min([oriFile(row-1,col-1) oriFile(row-1,col) oriFile(row-1,col+1) oriFile(row,col+1) oriFile(row+1,col+1) oriFile(row+1,col) oriFile(row+1,col-1) oriFile(row,col-1)]);
maxValue = max([oriFile(row-1,col-1) oriFile(row-1,col) oriFile(row-1,col+1) oriFile(row,col+1) oriFile(row+1,col+1) oriFile(row+1,col) oriFile(row+1,col-1) oriFile(row,col-1)]);
if oriFile(row,col) < minValue
newFile(row,col) = minValue;
elseif oriFile(row,col) > maxValue
newFile(row,col) = maxValue;
else
newFile(row,col) = oriFile(row,col);
end
end
endfigure(1)
subplot(1,2,1);imshow(oriFile);
title(‘Sebelum’)
subplot(1,2,2);imshow(newFile);
title(‘Sesudah’)