Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LR6 / LR6_2

.m
Скачиваний:
0
Добавлен:
18.06.2024
Размер:
1.33 Кб
Скачать
clc, clear, close all
I = imread('image.jpg');
if (size(I,3) == 3) I = rgb2gray(I); end
I = im2double(I);
S_I = fftshift(fft2(I)); % 2D-БПФ ярк. составляющей
% **************************************************
D_up = 45; K=4; deg = 2*K;
[M, N] = size(I); W = zeros([M N]); %пустой массив для W
Cn = round(N/2); Cm = round(M/2); % координаты центра
% формируем массив W
for n = 1:N
for m = 1:M
d = sqrt((m - Cm)^2 + (n - Cn)^2);
W(m,n) = (d/D_up)^K/sqrt(1+(d/D_up)^deg);
end
end
% **************************************************
S_J = S_I.* W; %изменение спектра фильтром
% визуализируем полученный спектр. вых. изобр.:
A = abs(S_J); % амплитудный спектр
A_max = max(max(A));
eps = A_max*10^(-6); %добавка, чтобы не вычислить lg(0)
A_dB = 20*log10(A + eps); % перевод в дБ
imagesc(A_dB)
J = (ifft2(ifftshift(S_J), 'symmetric')); %2D-ОБПФ
figure('Name','Изобр. на вых. фильтра');
max_J = max(max(J));
output_image = im2uint8(J./max_J);
output_image = 255 - output_image; % инверсия
% output_image = imbinarize(output_image, 'global');
imshow(output_image)
imwrite(output_image, 'edge_image.jpg');
Соседние файлы в папке LR6