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

Z9411_Чурилов_ММ_ЛР6

.docx
Скачиваний:
0
Добавлен:
10.11.2024
Размер:
334.57 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

КАФЕДРА № 41

ЛАБОРАТОРНАЯ РАБОТА

ЗАЩИЩЕНА С ОЦЕНКОЙ

РУКОВОДИТЕЛЬ

доц., канд. техн. наук, доц.

О. О. Жаринов

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЁТ О ЛАБОРАТОРНОЙ РАБОТЕ №6

Основы цифровой фильтрации изображений средствами MATLAB. Метод фильтрации в спектральном пространстве

по курсу: Мультимедиа технологии

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

Z9411

А. С. Чурилов

подпись, дата

инициалы, фамилия

Санкт-Петербург

2024

Цель работы

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

Ход работы:

Выберем изображение и выполним его преобразования с настройками из методических указаний. Код программы приведён в листинге 1.

Листинг 1 – Преобразование изображения по общему заданию

img = imread('1427663514_898053012.jpg'); % импорт изображения

figure('Name','Исходное изображение');

imshow(img); % вывод изображения на экран

figure('Name','Гистограмма исходного изображения');

imhist(rgb2gray(img)); % формирование гистограммы распред. яркостей и вывод на экран

% Применение функции HISTEQ() с выделением матрицы яркости

h = 64; % количество столбцов желаемой гистограммы

img_hstq = rgb2hsv(img); % перевод изображения в цветовое пр-во HSV

hist_hstq = img_hstq; % подготовка данных результирующего изображения

V = img_hstq(:,:,3); % формирование матрицы яркости

V_out = histeq(V, h); % эквализация гистограммы

hist_hstq(:,:,3) = V_out; % изменение матрицы яркости в соответствии с итогом эквализации

J1 = im2uint8(hsv2rgb(hist_hstq)); % создание обновленного изображения

% печать изображения и гистограммы

figure('Name','Изображение после эквализации (HISTEQ)');

imshow(J1);

figure('Name','Гистограмма после применения HISTEQ');

imhist(im2uint8(V_out));

imwrite(J1, 'output_image1.jpg') % запись изображения в файл

% Применение функции IMADJUST()

MinMaxValues = stretchlim(img); % выделение диапазона яркости

J2 = imadjust(img, MinMaxValues, []); % видоизменение изображения

% печать изображения и гистограммы

figure('Name', 'Линейно-контрастированное изображение (IMADJUST)');

imshow(J2);

figure('Name','Гистограмма после применения IMADJUST');

imhist(J2);

imwrite(J2, 'output_image2.jpg') % запись изображения в файл

% Применение функции ADAPTHISTEQ()

param = rgb2lab(img); % перевод изображения в цветовое пр-во CIELAB

norm_param = param(:,:,1)/100; % нормировка значений параметров под диапазон от 0 до 1

norm_param = adapthisteq(norm_param, 'ClipLimit', 0.02, 'Distribution', 'rayleigh'); % видоизменение изображения

param(:,:,1) = norm_param * 100; % реализация денормировки

J3 = lab2rgb(param); % обратное преобразование в изображение

% печать изображения и гистограммы

figure('Name','Изображение после адапт. выравнивания (ADAPTHISTEQ)');

imshow(J3);

figure('Name','Гистограмма после применения ADAPTHISTEQ');

imhist(uint8(norm_param.*255)); % построение гистограммы

imwrite(J3, 'output_image3.jpg'); % запись изображения в файл

Исходное изображение показано на рисунке 1.

Рисунок 1. Исходное изображение

Вывод

В ходе выполнения лабораторного задания были получены теоретические знания о методологиях управления контрастностью изображений с целью улучшения их визуального восприятия и приобретены практические навыки работы с типовыми функциями настройки параметров графических объектов в среде технических вычислений MATLAB.

С целью решения поставленных задач было реализовано три программных модуля на языке MATLAB. В рамках первого производилось импортирование выбранного изображения, вычисление и построение его гистограммы распределения яркостей элементов. Данные действия были реализованы путем применения операторов imread(), rgb2gray() и imhist().

Второй блок отвечал за обработку фотографии путём обращения к трём функциям: histeq(), imadjust() и adapthisteq(). С помощью первой производилась эквализация гистограммы яркостей, в результате чего объект стал значительно светлее, однако на нём были обнаружены лишние контуры и пятна. Второй оператор позволил осуществить линейное контрастирование, но в случае загруженного изображения, у которого в столбиковой диаграмме на концах наблюдались ненулевые колонки, указанный метод привел только к нарушению изначальной цветовой схемы. Инструментом adapthisteq() было реализовано адаптивное выравнивание гистограммы. Итоговое изображение обладало большой неестественностью: вокруг темных объектов появились светлые контуры, в однотонных областях возникли шумовые эффекты. Так, для выбранной фотографии более подходящим вариантом стало использование метода histeq().

Третий этап заключался в подробном изучении влияния значения параметра D в конструкции вида: imadjust(I, [A B], [C D], gam). Было определено, что чем меньше величина указанной характеристики, тем на более узком интервале осуществляется распределение яркости, что приводит к неравномерной настройке контрастности изображения.

Список использованных источников

1. Основы цифровой обработки изображений: учеб. Пособие / Жаринов О.О. ГУАП. СПб, 2023. 122 с.

2. Работа с изображениями в среде Matlab. // URL: https://studbooks.net/2140144/informatika/rabota_izobrazheniyami_srede_matlab

3. Список функций Image Processing Toolbox // URL: https://hub.exponenta.ru/post/spisok-funktsiy-image-processing-toolbox152?ysclid=l8vjnq87jn578408698