скачать doc
3.2. ОПИСАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
В качестве программного обеспечения комплекса для изучения двумерных цифровых фильтров используется программа, написанная в среде разработки MatLab и реализующая следующую логику. Программа состоит из нескольких процедур (тексты соответствующих процедур приведены в приложении Б):
Процедура моделирования входного сигнала (create_signal). Входными атрибутами для данной процедуры являются характеристики моделируемого сигнала (тип, частота дискретизации, а также составляющие частоты, амплитуды и фазы). При задании периодических сигналов (синусоидальных, прямоугольных и пилообразных) необходимо указать параметры (частоту, амплитуду, фазу) по двум направлениям. Параметры задаются пользователем с помощью графического интерфейса. Выходными атрибутами для данной процедуры являются два двумерных массива: первый – значения смоделированного входного сигнала в пространственной области, второй – значения спектральной характеристики входного сигнала. Кроме того, представляется графическое изображение соответствующих характеристик сигнала.
Процедура моделирования фильтра (create_filter). Входными атрибутами для данной процедуры являются результаты расчета процедуры create_signal и параметры проектируемого фильтра (вид фильтра, тип, порядок, частота/частоты среза), которые задаются пользователем. По прототипу одномерного окна фильтра с указанными параметрами моделируется соответствующий двумерный фильтр. Выходными атрибутами данной процедуры являются значения АЧХ и ФЧХ смоделированного двумерного фильтра. На экране представляется графическое отображение соответствующих характеристик.
Процедура получения результата (result_filter). Входными атрибутами данной процедуры являются результаты процедур create_signal и create_filter. В процедуре выполняется наложение смоделированного фильтра на входной сигнал. На выходе процедуры получаются двумерные массивы значений пространственной и частотной характеристик выходного сигнала, которые представляются в виде двумерных графиков.
3.3. ТЕСТИРОВАНИЕ ПРОГРАММНОЙ ЧАСТИ КОМПЛЕКСА
Для работы с программой моделирования цифровых двумерных фильтров необходимо запустить MatLab, а затем выполнить следующие действия:
1. В окне выбора Current Directory установить рабочий каталог filter_2D, в котором расположены рабочие файлы комплекса (см. рисунок 3.2).
2. В командной строке набрать имя файла filter_main для запуска программы.

Рисунок 3.2. – Командное окно MatLab
3. В появившемся окне «Моделирование входного сигнала» задать желаемые параметры входного сигнала:
-тип сигнала (случайный, сумма двух синусоид, прямоугольный и пилообразный);
-амплитуда, частота, фаза (для периодических сигналов) по двум направлениям;
-частота дискретизации.
4. Для отображения результата моделирования входного сигнала нажать кнопку «Рассчитать сигнал», на экране будут представлены характеристики сигнала (пространственная и частотная) (см. рисунок 3.3)
5. Для выбора фильтра необходимо перейти в следующее окно с помощью кнопки «Выбрать фильтр».
6. В окне «Моделирование фильтра» задать параметры фильтра:
-фильтр (Баттерворда, Чебышева 1, Чебышева 2),
-тип фильтра (низких, высоких частот, полосовой, фильтр-пробка),
-порядок фильтра,
-частота среза (для полосового и фильтра-пробки – два значения).
7. Для отображения результата моделирования фильтра нажать кнопку «Рассчитать фильтр», на экране будет представлена АЧХ и ФЧХ спроектированного фильтра (см. рисунок 3.4).

Рисунок 3.3 – Моделирование входного сигнала

Рисунок 3.4 – Моделирование фильтра

Рисунок 3.5 – Результат моделирования выходного сигнала
8. Для просмотра выходного сигнала (результата наложения спроектированного фильтра на заданный сигнал) нажать кнопку «Выходной сигнал». На экране будут представлены характеристики выходного сигнала (пространственная и частотная). Внешний вид окна представлен на рисунке 3.5.
9. Для работы с графиками в системе предусмотрено использование встроенных команд, которые расположены в меню Tools:
Zoom In, Zoom Out – уменьшение/ увеличение изображения,
Rotate 3D – «ручное» вращение изображения в трехмерном пространстве,
Move Camera – автоматическое вращение изображения в трехмерном пространстве.
На рисунках 3.6-3.8 приведен тестовый пример, в котором в качестве входного выбран случайный сигнал, а для фильтрации выбран фильтр Чебышева 1 (нижних частот) с частотой среза 5.

Рисунок 3.6 – Результат моделирования входного случайного сигнала

Рисунок 3.7 – Результат моделирования фильтра Чебышева 1 (нижних частот, частота среза 5)

Рисунок 3.8 – Результат расчета выходного сигнала
3.4. ОБРАБОТКА ИЗОБРАЖЕНИЙ
В системе MatLab имеется встроенный набор демонстрационных программ, реализующих различную обработку изображений. Ниже рассмотрены некоторые из них.
3.4.1. ПРИМЕНЕНИЕ КИХ-ФИЛЬТРОВ ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЙ
Демонстрационная программа обработки изображений выполняет фильтрацию исходного рисунка с помощью КИХ-фильтров методом оконного проектирования. Для работы с программой необходимо запустить из командной строки файл firdemo.
В появившемся окне необходимо выбрать изображение для обработки и задать параметры фильтра:
Изображение – файл исходного изображения,
Тип фильтра – фильтр (нижних частот – lowpass, высоких частот – highpass),
Вид окна– одномерный прототип окна (Bartlett, Blackman, Hanning, Hamming),
Срез – частота среза фильтра,
Порядок – порядок фильтра,
Метод – метод оконного проектирования. Возможные значения:
fsamp2 – формирование маски линейного двумерного КИХ-фильтра по желаемой АЧХ,
fwind1 – формирование маски линейного двумерного КИХ-фильтра по желаемой АЧХ одномерного прототипа фильтра (по методу Хуанга),
fwind2 – формирование маски линейного двумерного КИХ-фильтра по желаемой АЧХ двумерного фильтра (по методу Хуанга),
ftrans2 – формирование маски линейного двумерного КИХ-фильтра с помощью преобразования частот для трансформации одномерного КИХ-фильтра.
Для просмотра результата фильтрации необходимо нажать кнопку Apply Filter. На экране отобразятся результаты фильтрации.
На рисунке 3.9 приведен пример размытия изображения с помощью фильтра нижних частот. На графиках в нижней части окна представлены коэффициенты и частотный отклик применяемого фильтра. Размытие изображения (удаление высокочастотной составляющей с помощью ФНЧ) применяется для устранения регулярной составляющей, которая обычно появляется при сканировании изображений.

Рисунок 3.9. – Размытие изображения
(частота среза ФНЧ –0,15)
На рисунке 3.10 приведен пример применения фильтра нижних частот с более широкой полосой пропускания (0,9). Пример иллюстрирует наличие минимального размытия исходного изображения.

Рисунок 3.10. – Размытие изображения (частота среза ФНЧ – 0,9)
На рисунках 3.11 –3.12 приведены примеры детализации изображения (устранения низкочастотной составляющей сигнала с помощью фильтра высоких частот). В данном случае удаляются размытые границы, изображение становится более четким. При этом, чем больше частота среза, тем более резкое изображение получается после фильтрации.

Рисунок 3.12 – Детализация изображения (частота среза ФВЧ – 0,4)

Рисунок 3.12 – Детализация изображения (частота среза ФВЧ – 0,2)
Выбрать в качестве метода проектирования двумерного фильтра fwind1 .
Применить двумерного ФНЧ к заданному номером варианта изображению с заданными частотой среза и порядком фильтра для выбранного вида окна. Сделать вывод о результатах применения двумерного ФНЧ к изображению, влиянии частоты среза и порядка фильтра на результаты фильтрации, коэффициенты фильтра и АЧХ фильтра.
Применить двумерного ФВЧ к заданному номером варианта изображению с заданными частотой среза (0,2 и 0,6) и порядком фильтра (7 и 15) для выбранного вида окна. Сделать вывод о результатах применения двумерного ФВЧ к изображению, влиянии частоты среза и порядка фильтра на результаты фильтрации, коэффициенты фильтра и АЧХ фильтра.
Для выбранных частоты среза и порядка фильтра провести исследование и анализ влияния вида окна на результаты фильтрации заданного номером варианта изображения, коэффициенты фильтра и АЧХ фильтра. Сделать вывод.
Номер варианта | Изображение | Частоты среза | Порядки |
| Vertigo | 0.2 и 0.6 | 5 и 21 |
| Rectangles | 0.2 и 0.6 | 5 и 21 |
| Saturn | 0.2 и 0.6 | 5 и 21 |
| Flower | 0.2 и 0.6 | 5 и 21 |
| Quarter | 0.2 и 0.6 | 5 и 21 |
| Bone Marrow | 0.2 и 0.6 | 5 и 21 |
| Vertigo | 0.1 и 0.7 | 7 и 15 |
| Rectangles | 0.1 и 0.7 | 7 и 15 |
| Saturn | 0.1 и 0.7 | 7 и 15 |
| Flower | 0.1 и 0.7 | 7 и 15 |
| Quarter | 0.1 и 0.7 | 7 и 15 |
| Bone Marrow | 0.1 и 0.7 | 7 и 15 |
3.4.2. ИСПОЛЬЗОВАНИЕ ФИЛЬТРОВ ДЛЯ УДАЛЕНИЯ ШУМА
Демонстрационная программа удаления шума выполняет восстановление исходного изображения, устраняя искажения и дефекты. Для работы с программой необходимо запустить из командной строки файл nrfiltdemo.
В появившемся окне необходимо задать следующие параметры:
Изображение – файл исходного изображения,
Тип шума – модель помехи. Возможные значения:
– Gaussian – добавляет к исходному изображению S гауссовский шум с математическим ожиданием, указанным в параметре Интенсивность и дисперсией, указанной в параметре Разброс. По умолчанию математическое ожидание равно 0, а дисперсия – 0,01.
– Salt&Pepper – добавляет к исходному изображению S импульсный шум. Параметр Интенсивность определяет плотность шума и равен доле искаженных пикселов (по умолчанию равно 0,05).
– Speckle – добавляет к исходному изображению S мультипликативный шум D=S+n*S, где n - равномерно распределенная случайная величина с математическим ожиданием 0 и дисперсией, в указанной в параметре Разброс (по умолчанию равно 0,04).
Интенсивность или/и разброс (в зависимости от типа шума) – параметры шума
Тип фильтрации – метод фильтрации шума. Возможные значения:
– Медианная – создает полутоновое изображение D, каждый пиксель которого формируется следующим образом. Пиксели исходного полутонового изображения, соответствующие всем элементам маски фильтра, составляют упорядоченную последовательность А. Пикселю D(r, с), где r и с – координаты текущего положения центрального элемента маски, присваивается значение медианы последовательности А. Операция применяется нерекурсивно для всех положений маски.
– Средняя – выполняет фильтрацию данных, заданных в исходном двумерном массиве, двумерным КИХ-фильтром, коэффициенты которого заданы в маске фильтра.
– Адаптивная – формирует полутоновое изображение D, которое является результатом адаптивной фильтрации Винера исходного полутонового изображения S. Параметры функции задают размеры скользящего окна, в пределах которого оцениваются среднее и среднеквадратичное отклонение значений яркости.
Число точек – размер окна фильтра (3х3, 5х5, 7х7).
На экране представляются следующие изображения:
исходное (Original Image),
зашумленное (Corrupted Image),
восстановленное (Filtered Image).
Для просмотра результата искажения изображения помехой необходимо нажать кнопку Apply Noise. Для просмотра результата фильтрации необходимо нажать кнопку Apply Filter.
На рисунках 3.13 – 3.14 приведены примеры устранения импульсного шума Salt&Pepper различной интенсивности (0,2 и 0,5) методом медианной фильтрации (размер окна 5х5).
На рисунке 3.15 приведен пример устранения мультипликативного шума (разброс 0,2) методом адаптивной фильтрации (размер окна 5х5).
На рисунке 3.16 приведен пример устранения гауссовского шума (среднее значение 0,1, разброс 0,1) методом медианной фильтрации (размер окна 5х5).

Рисунок 3.13 – Применение медианной фильтрации
для удаления импульсного шума (интенсивность 0,2)

Рисунок 3.14 – Применение медианной фильтрации
для удаления импульсного шума (интенсивность 0,5)

Рисунок 3.15 – Применение адаптивной фильтрации для удаления мультипликативного шума

Рисунок 3.16 – Применение медианной фильтрации для удаления гауссовского шума
Номер варианта | Изображение |
| Flower |
| Blood |
| Circuit |
| Rice |
| Pout |
| Saturn |
| Quarter |
| Bone Marrow |
| Aluminum |
Gaussian | Mean | -0.4; 0; 0.4 |
Variance | 0.1; 0.01 | |
Salt&Pepper; | Density | 0.1; 0.01 |
Speckle | Variance | 0.1; 0.01 |
Применить последовательно к заданному номером варианта изображению каждый из типов шумов с заданными в таблице параметрами. Сделать вывод о влиянии каждого из типов шумов и их параметров на изображение.
Применить последовательно к заданному номером варианта изображению каждый из типов шумов с заданными в таблице параметрами и выполнить фильтрацию различными типами фильтров с различной длиной. Сделать вывод о влиянии каждого из типов фильтров и их длины на изображения, зашумленные различными типами шумов с различными параметрами. Определить, какой из видов фильтров эффективен при подавлении каких шумов.