2 / 2 / 0
Регистрация: 22.09.2013
Сообщений: 215
1

Фильтр нижних (и верхних) частот (изображения)

31.03.2014, 20:30. Показов 5171. Ответов 3
Метки нет (Все метки)

Добрый день, помогите построить фильтры нижних частот (и верхних) для изображения.
Необходимо реализовать их 2мя способами:
1) "идеальный" через ДПФ, обращая в ноль 3/4 низких частот, затем проводя обратное ДПФ.
2) При помощи фильтра Баттерворта.

В первом способе как я понял:
Matlab M
1
2
3
4
J=imread('moon.tif');
imshow(J), title('Original');
J=im2double(J);
J_fft = fft2(J);
Затем определить минимум и максимум и найти значение, соответствующее 3/4 и занулять все что меньше него, после чего произвести обратное ДПФ.

А вот как реализовать ФНЧ для изображения при помощи фильтра Баттерворта, подскажите пожалуйста??

Добавлено через 2 часа 42 минуты
С первым пунктом тоже помогите пожалуйста, вроде правильно написал, но при этом изображения нету:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clc, clear
close all
J=imread('moon.tif');
imshow(J), title('Original');
J=im2double(J);
J_fft = abs(fft2(J));
max_J = max(max(J_fft));
min_J = min(min(J_fft));
thresh_J = min_J + (max_J-min_J)*3/4;
S = size(J_fft)%
for i=1:S(1)
    for j = 1:S(2)
        if(J_fft(i,j) > thresh_J)
            J_fft(i,j) = 0;
        end
    end
end
J1 = ifft2(J_fft);
figure, imshow(J1), title('FFT');
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2014, 20:30
Ответы с готовыми решениями:

синусоида на входе в фильтр нижних частот
добрый день. мне нужно подать на вход фильтра низких частот синусоидальный сигнал. сам фильтр...

Нужно симулировать фильтр нижних частот
Мне нужно симулировать фильтр нижних частот на матлабе. Моя функция получает на вход вектор с...

Фильтр нижних частот
Мне нужно симулировать фильтр нижних частот на матлабе. Моя функция получает на вход вектор с...

Задача на цифровой фильтр нижних частот
Здравствуйте, преподаватель дал программу фильтра верхних частот 4-го порядка сказал что я могу...

3
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
31.03.2014, 23:14 2
Это, простите у вас фигня написана. Вместо обнуления частот высоких (или низких) частот, вы обнулили частоты, на которых амплитуда превышает порог.
Я бы сделал так
Matlab M
1
2
3
4
5
6
[H,W]=size(J_fft);
J_fft=fftshift(J_fft); %передвинули ноль в центр массива
[X,Y]=meshgrid(1:W,1:H);
J_fft(sqrt((X/W-0.5).^2+(Y/H-0.5).^2)<0.75*0.5)=0; % обнуляем низкие частоты, лежащие в эллипсе с полуосями 0.75*H и 0.75*W; чтобы уjбнулить высокие, перевернуть неравенство
J_fft=fftshift(J_fft); %вернули ноль на место
J1=ifft2(J_fft);
0
2 / 2 / 0
Регистрация: 22.09.2013
Сообщений: 215
31.03.2014, 23:53  [ТС] 3
А, точно, спасибо, вот как раз книгу читаю, заметил что не то обнуляю. А по Баттерворту - нужно просто условие нахождения расстояния изменить получается? Вроде остальное не должно же измениться?
0
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
01.04.2014, 00:51 4
про двумерный буттер не слышал. скорее всего имеется в виду применить одномерный вдоль и поперек.
правда результат будет отвратный
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2014, 00:51

Существование верхних и нижних частичных пределов
Доказать, что у любой последовательности есть как верхний так и нижний частичный предел.

Вычислить суму 4 чисел (верхних и нижних) в масиве
помогите пожалуйста написать программу которая показывает суму читерех чисел в масиве масив...

Что вызывает искажение нижних и верхних пиков сигнала?
Что вызывает искажение нижних и верхних пиков сигнала?

Расчет усилителя нижних частот
Здравствуйте, помогите пожалуйста, очень срочно, не успеваю. Усилитель нижних частот Необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.