Zorbing icon

[Medtec] localFiltering.m

Zorbing | PRO | 07/09/13 08:18:34 PM UTC | 0 ⭐ | 259 👁️ | Never ⏰ | []
MatLab |

1.54 KB

|

None

|

0 👍

/

0 👎

%% Bildkontrast
% 1.
mrImage = imread('MRIHead.png');
 
% 2.
figure, imshow(mrImage);
 
% 4.
imContrast = imageContrast(mrImage);
fprintf('Kontrast (Quellbild): %f\n', imContrast);
 
 
%% Bildglaettung mit lokalen Masken
% 1.
filterSize = [3, 5];
 
% 2.
for i = filterSize
    % 2.a)
    h_mean = ones(i, i) / (i * i);
    
    % 2.b)
    imageMean = imfilter(mrImage, h_mean);
    
    % 2.c)
    tmp = pascal(i, 2);
    vector = abs(tmp(:, 1));
    h_gauss = vector * transpose(vector);
    h_gauss = h_gauss / sum(sum(h_gauss));
    
    % 2.d)
    imageGauss = imfilter(mrImage, h_gauss);
    
    % 2.e)
    figure;
    subplot(1, 2, 1), imshow(imageMean);
    subplot(1, 2, 2), imshow(imageGauss);
    
    % 2.f)
    contrast_mean = imageContrast(imageMean);
    contrast_gauss = imageContrast(imageGauss);
    fprintf('Kontrast mean_%ix%i: %f\n', i, i, contrast_mean);
    fprintf('Kontrast gauss_%ix%i: %f\n', i, i, contrast_gauss);
end
 
% 3.
%   Je groesser der Filter gewaehlt ist, desto unschaerfer ist auch das
%   Bild, da mehr Bildpixel in die Filterung einbezogen werden (dies
%   entspricht folglich den Erwartungen). Ausserdem sorg der gleitende
%   Mittelwert fuer mehr Unschaerfe als der Gauss-Filter, da bei dem
%   Gauss-Filter der eigentliche Pixel eine viel hoehere Gewichtung beim
%   Filtern hat, als die umliegenden Pixel (und je weiter weg, desto
%   geringer ist die Gewichtung). Das Ergebnis ist somit wie erwartet.
 
% 4.
%   Ja. Je geringer der Kontrast ist, desto unschaerfer ist auch das Bild.

Comments