
- •Санкт-Петербург 2024
- •Краткие теоретические сведения о задачах обработки изображений и их практическом применении, а также об изученных методах фильтрации.
- •Ход работы:
- •Выполнили фильтрацию тестового изображение с целью выделения краев объектов при помощи алгоритмов, реализованных в программах, приведенных в листинге 1.
- •Выполнили фильтрацию изображения усовершенствованным способом реализации метода Фурье-фильтрации. Код представлен в листинге 2.
- •Выполнили фильтрацию изображения при помощи метода Собеля. Код представлен в листинге 3.
- •Список используемых источников
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 41 |
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
доц., канд. техн. наук, доц. |
|
|
|
О. О. Жаринов |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ЛАБОРАТОРНАЯ РАБОТА №6
|
ОСНОВЫ ЦИФРОВОЙ ФИЛЬТРАЦИИ ИЗОБРАЖЕНИЙ СРЕДСТВАМИ MATLAB. МЕТОД ФИЛЬТРАЦИИ В СПЕКТРАЛЬНОМ ПРОСТРАНСТВЕ |
по дисциплине: Мультимедиа технологии |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ гр. № |
Z9411 |
|
|
|
Р. С. Кафка |
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет № |
2019/3603 |
|
|
|
Шифр ИНДО |
|
Санкт-Петербург 2024
Цель работы: изучить основы обработки изображений на примере методов фильтрации, реализуемых в спектральном пространстве.
Краткие теоретические сведения о задачах обработки изображений и их практическом применении, а также об изученных методах фильтрации.
Обработка изображений — это форма сигнальной обработки, где входной сигнал является изображением, например фотография или видео. Цели могут включать улучшение изображений для человеческого восприятия, обработку для автономной интерпретации, извлечение информации и создание графических представлений.
Применяется в самых разнообразных областях — от медицинской визуализации и сателлитной фотографии до автоматизированного видеонаблюдения и искусственного интеллекта. Особенно важно в областях, где необходимо выделение и распознавание объектов, реставрация изображений и преобразования для улучшения визуального восприятия.
Один из методов обработки изображений — фильтрация в спектральном пространстве, часто используемая для улучшения качества изображений (увеличения резкости, уменьшения смазанности) или для выделения границ объектов.
Принципы работы:
Преобразование Фурье: изображение преобразуется из пространственного представления в частотное с помощью двумерного быстрого преобразования Фурье (2D-БПФ).
Модификация спектра: спектр исходного изображения модифицируется путём умножения на передаточную функцию фильтра, которая может действовать как фильтр нижних (ФНЧ), высоких (ФВЧ) или полосовых частот.
Обратное преобразование: после изменения спектра применяется обратное 2D-БПФ для получения финального изображения.
Применение фильтров:
Фильтр нижних частот (ФНЧ): используется для сглаживания изображения, уменьшения детализации и шума.
Фильтр высоких частот (ФВЧ): применяется для усиления или выделения деталей и границ объектов на изображении.
Полосовые и режекторные фильтры: находят применение в задачах, где нужно выделить или подавить определенные частотные составляющие изображения.
Технические аспекты:
Центрирование спектра: используется функция fftshift для центрирования спектра, что упрощает работу с ФНЧ и ФВЧ.
Проблемы и решения: спектральные методы могут вводить искажения, такие как эффекты "звонов" или "Гиббса", которые могут быть уменьшены с использованием более гладких функций для фильтра.
Практическое применение:
Медицина: обработка рентгеновских снимков, МРТ и УЗИ изображений для более точной диагностики.
Безопасность: распознавание лиц, анализ видеонаблюдения для обеспечения безопасности.
Промышленность: автоматический контроль качества, сортировка и упаковка товаров.
Научные исследования: обработка изображений с космических аппаратов, микроскопических снимков и т.д.
Ход работы:
Тестовое изображение представлено на рисунке 1.
Рисунок
1 – Исходное изображение
Выполнили фильтрацию тестового изображение с целью выделения краев объектов при помощи алгоритмов, реализованных в программах, приведенных в листинге 1.
Подобрали значения параметра space_freq, при котором результат работы получился субъективно наилучшим. Сохранили несколько изображений, полученных при различных значениях параметра space_freq.
Листинг 1 - MATLAB-программа, реализующая простейший способ реализации метода Фурье-фильтрации изображения с целью выделения краев объектов
clc, clear, close all %очистка памяти I = imread('image.jpg'); % перевод изображения в оттенки серого % (получение матрицы яркости): if (size(I,3) == 3) I = rgb2gray(I); end I = im2double(I); % Вычисление 2D-БПФ изображения: %(получение матрицы центрированного спектра): Spectr_input_image = fftshift(fft2(I)); A = abs(Spectr_input_image); % амплитудный спектр A_max = max(max(A)); eps = A_max*10^(-6); %добавка, чтобы не вычислить lg(0) A_dB = 20*log10(A + eps); % перевод в дБ figure(1) % вывод графика спектра изображения imagesc(A_dB) [M,N] = size(Spectr_input_image); % получение размера массива % ********************************************************* % настраиваем пространственную частоту среза фильтра: space_freq = 1; % массив из единиц для маски фильтрации в частотной области mask=ones([M, N]); % задание маски ФВЧ (обнуляем элементы % в прямоугольной области в окрестности центра): mask(round(M/2) - space_freq : round(M/2) + space_freq, ... round(N/2) - space_freq : round(N/2) + space_freq)=0; % ********************************************************** % изменение спектра по формуле (1): Spectr_output_image = Spectr_input_image.* mask; figure(2) % визуализация измененного спектра: imagesc(20*log10(abs(Spectr_output_image)+eps)) % обратное 2D-БПФ: J = (ifft2(ifftshift(Spectr_output_image), ... 'symmetric')); %обратное 2D-БПФ % нормировка значений пикселей: max_J = max(max(J)); output_image = im2uint8((J./max_J)); % инверсия яркостей пикселей, % чтобы получить черные границы на белом фоне output_image = 255 - output_image; figure(3), imshow(I) figure(4), imshow(output_image) imwrite(output_image, 'edges_image.jpg'); |
Результат фильтрации методом Фурье представлен на рисунке 2.
|
|
|
|
Рисунок 2 – Результат Фурье-фильтрации изображения при помощи
фильтра, выделяющего края объектов (см. программу на листинге 1): слева
исходное изображение, справа – результат фильтрации, под каждым визуализирован амплитудный спектр
Попробовали разные значения параметра space_freq в диапазоне от 2 до 100 и заметили, что при слишком большом значении изображение выцветает и грани становятся нечёткими, а при малых появляется больше артефактов. Эмпирически пришли к оптимальному для нашего изображения значению равному 1, при котором получается изображение с оптимальным количеством деталей и без артефактов.
Неудачные варианты параметра space_freq при значениях 10, 50 и 100 соответственно представлены на рисунке 3.
|
|
|
|
|
Рисунок 3 – Неудачные результаты обработки при space_freq равным: а) 10, б) 50, в)100