
лаб7 / lab7
.pdfГУАП
КАФЕДРА 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
доцент, к.т.н. доцент |
|
|
|
О.О. Жаринов |
|
|
|
|
|
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №7
Основы цифровой фильтрации изображений средствами MATLAB. Пространственные фильтры
по курсу: МУЛЬТИМЕДИА ТЕХНОЛОГИИ
РАБОТУ ВЫПОЛНИЛ |
|
|
|
|
|
|
СТУДЕНТ гр. № |
4016 |
|
|
|
М.О. Жовтяк |
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2024

1.Цель.
Изучить основы обработки изображений на примере методов фильтрации с использованием пространственных фильтров.
2. Краткие теоретические сведения о задачах обработки
мультимедиа цифроых изображений.
Фильтрация является одним из широко применяемых методов обработки изображений. Концептуальные идеи, положенные в основу методов фильтрации изображений, опираются на методологическую базу обработки одномерных сигналов. Фильтрацию изображений можно производить без вычисления спектра изображения, непосредственно во пространстве значений пикселей, составляющих изображение.
Математически принцип линейной пространственной фильтрации изображения {I[m,n]} описывается формулой
где массив коэффициентов {H[p,q]}p=−P,...P; q=−Q,...Q называется маской фильтра и полностью определяет его свойства. В программах обработки изображений для задания массива маски часто используется идентификатор PSF (англ. Point Spread Function – функция рассеяния точки).
Размер маски в составляет (2P+1) на (2Q+1) элементов. Обычно размер маски выбирают небольшим, чаще всего задают P=Q=1, т. е. в этом случае маска представляет собой массив размера 3×3.
Таким образом, пространственная фильтрация предполагает выполнение операции взвешенного суммирования значений пикселей исходного изображения в некоторой окрестности для каждого пикселя для всех индексов n и m. Нужно заметить, что при программной реализации формулы придется несколько видоизменить формулу, чтобы избежать отрицательных значений индексов массива в самой маске и при обработке краев изображения.
2

Принцип задания значений элементов маски определяется желаемым действием фильтра на обрабатываемое изображение. В рамках лабораторной работы предполагается рассмотрение возможностей пространственных фильтров для решения задачи повышения четкости расфокусированных изображений. Четкость изображения является одним из критериев его качества. Небольшая расфокусировка изображений, получаемых при фотосьемке, является весьма распространенным явлением.
Основная идея улучшения четкости изображения заключается в добавлении к исходному размытому изображению дополнительного изображения, в котором подчеркнуты компоненты границ объектов, с
некоторым весовым коэффициентом. Чаще всего в качестве дополнительного используют изображение, полученное из исходного изображения обработкой фильтром Лапласа. Основанный на этом подходе пространственный фильтр повышения четкости изображения реализуется с использованием маски
где выбор положительной константы с следует производить,
ориентируясь на получаемый результат: при c ≈ 0 коррекция будет неощутима, а при чрезмерном ее увеличении («перекоррекции») каждый,
даже мелкий, объект в выходном изображении получит окантовки по периметру, и полученное изображение будет восприниматься хуже исходного.
3.Ход работы
Для первой и второй части работы будет использовано исходное изображение, представленное на рисунке 1.
3

Рисунок 1 – Исходное изображение В первой части работы исходное изображение подвергается искажению
типа «смазывание» с типом движения фотоаппарата с длиной пикселей 15
пикселей под углом 30 градусов с параметром “circular” (согласно варианту).
После этого изображение исправляется с такими же указанными параметрами методом А.Н. Тихонова с коэффицентом шума = 0,5 и методом Н. Винера с коэффицентом шума = 0,5. Код этих действий представлен в Листинге 1.
Листинг 1 – Первая часть работы.
% Пример моделирования смаза изображения clc,clear, close all %очистка памяти
input_image = imread('cat.jpg'); %чтение изображения
%Вывод исходного изображения: figure (1) imshow(input_image)
title('input image','FontSize',10, 'FontName','Tahoma')
%% движение фотоаппарата на P пикселей под углом А градусов
PSF = fspecial('motion',15,30);
distorted_image = imfilter(input_image, PSF,'circular');
4

% ***********************************************************
%Вывод смазанного изображения: imshow(distorted_image)
title('distorted image','FontSize',10,'FontName','Tahoma')
% запись искаженного изображения в файл: imwrite(distorted_image, 'cat_image.jpg');
% Параметры смаза изображения:
Delta = 15; %длина смаза в пикселях theta = 30; %угол смаза в градусах
PSF = fspecial('motion',Delta,theta); % модель искажений
%% важно заметить, что здесь движение – равномерное! % устранение смаза изображения
noise_level_T = 0.5; % подбор уровня шума в изображении
% компенсация движения посредством метода А.Н.Тихонова:
Tikh = deconvreg(distorted_image,PSF,[], noise_level_T); figure(2) imshow(Tikh)
title('Restored image Tikhonov')
% запись восстановленного изображения в файл: imwrite(Tikh, 'restored_image_Tikhonov.jpg');
% компенсация движения посредством метода Н.Винера: noise_level_W = 0.5; % подбор уровня шума в изображении
Wnr = deconvwnr(distorted_image,PSF, noise_level_W); figure(3)
imshow(Wnr)
title('Restored image Wiener')
% запись восстановленного изображения в файл: imwrite(Wnr, 'restored_image_Wiener.jpg');
Результаты работы представлены на рисунках 2-5.
Рисунок 2 – Исходное и искажённое изображения
5

Рисунок 4 – Исходное и компенсированное изображение посредством метода А.Н. Тихонова
Рисунок 5 – Исходное и компенсированное изображение посредством метода Н. Винера
На рисунке 3 видно, что искажение произошло согласно заданию,
изображение стало более смазанным.
На рисунке 4 компенсирование искажения методом А.Н. Тихонова в целом прошло успешно, но проблемой стало то, оно стало слишком резким,
где кот «перестал быть пушистым».
На рисунке 5 компенсирование искажения методом Н. Винера аналогично прошло успешно. Единственный момент – это то, что изображение стало более тёмным, что может быть легко исправлено повышением яркости.
6

Очень важным моментом было указание тех же параметров длины смаза пикселей при компенсировании изображения. Так, при указании длины смаза в 50 пикселей вместо 15 при методе Тихонова изображение полностью разрушается, а при Винера – смазывание происходит ещё сильнее, что можно увидеть на рисунке 6.
Рисунок 6 – Неудачные попытки компенсирования методом Тихонова (слева)
и методом Винера (справа)
Во второй части работы уже берётся искажённое изображение из рисунка 2, где к нему ещё добавляется шум типа «соль и перец» с
зашумлением 10% изображения. Аналогично происходит восстановление изображения методами А.Н.Тихонова и Н.Винера с аналогичными параметрами, которые были применены ранее. Работа кода представлена в Листинге 2.
Листинг 2 – Вторая часть работы
% Пример моделирования смаза изображения clc,clear, close all %очистка памяти
input_image = imread('cat_image.jpg'); %чтение изображения
%Вывод исходного изображения: figure (1) imshow(input_image)
title('input image','FontSize',10, 'FontName','Tahoma') distorted_image = imnoise(input_image,'salt & pepper',0.01);
7

%Вывод смазанного изображения: imshow(distorted_image)
title('distorted image','FontSize',10,'FontName','Tahoma')
% запись искаженного изображения в файл: imwrite(distorted_image, 'cat_shum_image.jpg');
% Параметры смаза изображения: Delta = 10; %длина смаза в пикселях theta = 30; %угол смаза в градусах
PSF = fspecial('motion',Delta,theta); % модель искажений
%% важно заметить, что здесь движение – равномерное! % устранение смаза изображения
noise_level_T = 0.5; % подбор уровня шума в изображении
% компенсация движения посредством метода А.Н.Тихонова:
Tikh = deconvreg(distorted_image,PSF,[], noise_level_T); figure(2) imshow(Tikh)
title('Restored image Tikhonov')
% запись восстановленного изображения в файл: imwrite(Tikh, 'restored_image_Tikhonov_2.jpg');
% компенсация движения посредством метода Н.Винера: noise_level_W = 0.5; % подбор уровня шума в изображении
Wnr = deconvwnr(distorted_image,PSF, noise_level_W); figure(3)
imshow(Wnr)
title('Restored image Wiener')
% запись восстановленного изображения в файл: imwrite(Wnr, 'restored_image_Wiener_2.jpg');
Результаты работы представлены на рисунках 7-9.
8

Рисунок 7 – Исходное изображение и смазанное с шумом изображение В результате добавления шума на смазанном изображении появилось
множество красных, зелёных и синих точек.
9

Рисунок 8 – Исходное изображение и компенсированное изображение методом Тихонова
Метод Тихонова справился не очень хорошо: смаз по-прежнему сохранился, но при этом удивительном ему удалось избавиться от шума, хотя это было достигнуто тем, что они, похоже, приобрели цвет соседних пикселей, а изображение получило эффект зернистости.
10