MODUL 2 PCD part 2

Pengujian berbagai teknik restorasi citra spasial pada citra dokumen riil (Paper_15.jpg) menggunakan Mean Filter, Order Statistic Filter, Adaptive Filter, dan Adaptive Median Filter berukuran 7x7.

modul2/
  adapt_median.m
  adaptive.m
  Addnoise.m
  MeanFilter.m
  OrdStatFilt.m
  filevar1.m
  namaopsional.m

1. Membaca Citra Riil Asli

Membaca citra dokumen koran (citraopsional.jpg) dan mengonversinya ke bentuk grayscale jika input berupa RGB.

%% 1. Membaca Citra Riil Asli
I_rgb = imread('Paper_15.jpg'); % Membaca citra dokumen koran
% Konversi ke grayscale jika citra bernilai RGB
if size(I_rgb, 3) == 3
    I = rgb2gray(I_rgb);
else
    I = I_rgb;
end
figure('Name', 'Citra Riil Asli');
imshow(I);
title('Citra Riil Asli (Grayscale)');

a. Seluruh Jenis Mean Filter Ukuran 7x7

Penerapan Mean Filter 7x7 dengan berbagai metode (Arithmetic, Geometric, Harmonic, dan Contraharmonic Mean $Q=1.5$ & $Q=-1.5$) pada citra riil.

%% a. Seluruh Jenis Mean Filter Ukuran 7x7
M_arith   = MeanFilter(I, 'arithmetic', 7, 7);
M_geom    = MeanFilter(I, 'geometric', 7, 7);
M_harm    = MeanFilter(I, 'harmonic', 7, 7);
M_contra1 = MeanFilter(I, 'contraharmonic', 7, 7, 1.5);
M_contra2 = MeanFilter(I, 'contraharmonic', 7, 7, -1.5);
figure('Name', 'Pengujian Mean Filter 7x7');
subplot(2, 3, 1); imshow(I);         title('Citra Asli');
subplot(2, 3, 2); imshow(M_arith);   title('Arithmetic Mean 7x7');
subplot(2, 3, 3); imshow(M_geom);    title('Geometric Mean 7x7');
subplot(2, 3, 4); imshow(M_harm);    title('Harmonic Mean 7x7');
subplot(2, 3, 5); imshow(M_contra1); title('Contraharmonic Q=1.5');
subplot(2, 3, 6); imshow(M_contra2); title('Contraharmonic Q=-1.5');

b. Seluruh Jenis Order Statistic Filter Ukuran 7x7

Pengujian Order Statistic Filter 7x7 (Median, Max, Min, Midpoint, dan Alpha-Trimmed Mean $d=4$) pada citra riil.

%% b. Seluruh Jenis Order Statistic Filter Ukuran 7x7
O_med   = OrdStatFilt(I, 'median', 7, 7);
O_max   = OrdStatFilt(I, 'max', 7, 7);
O_min   = OrdStatFilt(I, 'min', 7, 7);
O_mid   = OrdStatFilt(I, 'midpoint', 7, 7);
O_alpha = OrdStatFilt(I, 'alphatrimmed', 7, 7, 4);
figure('Name', 'Pengujian Order Statistic Filter 7x7');
subplot(2, 3, 1); imshow(I);       title('Citra Asli');
subplot(2, 3, 2); imshow(O_med);   title('Median 7x7');
subplot(2, 3, 3); imshow(O_max);   title('Max 7x7');
subplot(2, 3, 4); imshow(O_min);   title('Min 7x7');
subplot(2, 3, 5); imshow(O_mid);   title('Midpoint 7x7');
subplot(2, 3, 6); imshow(O_alpha); title('Alpha-Trimmed (d=4)');

c & d. Adaptive Filter dan Adaptive Median Filter Ukuran 7x7

Penerapan Adaptive Filter dan Adaptive Median Filter ($S_{max}=7$) ukuran 7x7 untuk merestorasi citra riil.

%% c & d. Adaptive Filter dan Adaptive Median Filter Ukuran 7x7
% Estimasi varians derau lokal untuk adaptive filter
F_adaptive     = adaptive(I, 7, 7, 100);
F_adapt_median = adapt_median(I, 7, 7, 7);
figure('Name', 'Pengujian Adaptive & Adaptive Median Filter 7x7');
subplot(1, 3, 1); imshow(I);              title('Citra Asli');
subplot(1, 3, 2); imshow(F_adaptive);     title('Adaptive Filter 7x7');
subplot(1, 3, 3); imshow(F_adapt_median); title('Adaptive Median 7x7 (Smax=7)');