mirror of https://github.com/2martens/uni.git
45 lines
1.9 KiB
Matlab
45 lines
1.9 KiB
Matlab
% 1.
|
|
% Let's take two sequences f(x) = {0 -> 1, 1 -> 1, 2 -> 100} and
|
|
% g(x) = { 0 -> 2, 1 -> 3, 2 -> 0}. The sum of both is
|
|
% h(x) = {0 -> 3, 1 -> 4, 2 -> 100}. The mean values are: mean(f) = 34,
|
|
% mean(g) = 5/3, mean(h) = 107/3 = 34 + 5/3. The linearity mean(f) +
|
|
% mean(g) = mean(f + g) is satisfied. The median values are: median(f) = 1,
|
|
% median(g) = 2, median(h) = 4. But median(f) + median(g) != median(f + g).
|
|
% Therefore the linearity isn't satisfied which means that median is
|
|
% non-linear.
|
|
|
|
% 2.
|
|
peppers = rgb2gray(imread('peppers.png'));
|
|
peppers_1 = imnoise(peppers, 'salt & pepper', 0.02);
|
|
peppers_2 = imgaussfilt(peppers);
|
|
peppers_3 = imnoise(peppers, 'salt & pepper', 0.6);
|
|
peppers_4 = imnoise(peppers, 'poisson');
|
|
peppers_5 = imgaussfilt(peppers, 3);
|
|
|
|
peppers_fft = fftshift(log(abs(fft2(peppers))));
|
|
peppers1_fft = fftshift(log(abs(fft2(peppers_1))));
|
|
peppers2_fft = fftshift(log(abs(fft2(peppers_2))));
|
|
peppers3_fft = fftshift(log(abs(fft2(peppers_3))));
|
|
peppers4_fft = fftshift(log(abs(fft2(peppers_4))));
|
|
peppers5_fft = fftshift(log(abs(fft2(peppers_5))));
|
|
|
|
%figure (1), imshow(peppers_fft, []);
|
|
%figure (2), imshow(peppers1_fft, []);
|
|
%figure (3), imshow(peppers2_fft, []);
|
|
%figure (4), imshow(peppers3_fft, []);
|
|
%figure (5), imshow(peppers4_fft, []);
|
|
%figure (6), imshow(peppers5_fft, []);
|
|
|
|
%3.
|
|
low_pass = fspecial('gaussian', [3 3], 1);
|
|
low_pass_fft = fft2(low_pass, size(peppers, 1), size(peppers, 2));
|
|
high_pass = fspecial('laplacian', 0.2);
|
|
high_pass_fft = fft2(high_pass, size(peppers, 1), size(peppers, 2));
|
|
peppers_fft2 = fft2(peppers);
|
|
peppers_filtered_low_fft = peppers_fft2 .* low_pass_fft;
|
|
peppers_filtered_high_fft = peppers_fft2 .* high_pass_fft;
|
|
peppers_filtered_low = real(ifft2(peppers_filtered_low_fft));
|
|
peppers_filtered_high = real(ifft2(peppers_filtered_high_fft));
|
|
figure (7), imshow(peppers_filtered_low, []);
|
|
figure (8), imshow(peppers_filtered_high, []);
|