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.

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)

  1. Carilah nilai intensitas terkecil pada tetangga f(y, x) dengan
  2. menggunakan 8-ketetanggan dan simpan pada minInt.
  3. Carilah nilai intensitas terbesar pada tetangga f(y, x) dengan
  4. menggunakan 8-ketetanggan dan simpan pada maksInt.
  5. 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
end

figure(1)
subplot(1,2,1);imshow(oriFile);
title(‘Sebelum’)
subplot(1,2,2);imshow(newFile);
title(‘Sesudah’)

Pengolahan Citra dengan matlab

Leave a Reply