
Z9411_Чурилов_ММ_ЛР5
.docxМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 41
ЛАБОРАТОРНАЯ РАБОТА
ЗАЩИЩЕНА С ОЦЕНКОЙ
РУКОВОДИТЕЛЬ
доц., канд. техн. наук, доц. |
|
|
|
О. О. Жаринов |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЁТ О ЛАБОРАТОРНОЙ РАБОТЕ №5 |
Изучение методов управления контрастностью изображений |
по курсу: Мультимедиа технологии |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
Z9411 |
|
|
|
А. С. Чурилов |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург
2024
Цель работы
Изучить методологию управления контрастностью изображений с целью улучшения их визуального восприятия. Реализовать типовые методы контрастирования изображений в среде Matlab.
Вариант задания:
Вариант |
Функция MATLab |
Параметр |
7 |
imadjust(I,[A B],[C D],gam) |
C |
Ход работы:
Выберем изображение и выполним его преобразования с настройками из методических указаний. Код программы приведён в листинге 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. Исходное изображение
Гистограмма исходного изображения показана на рисунке 2.
Рисунок 2. Гистограмма исходного изображения
Изображение после эквализации показано на рисунке 3.
Рисунок 3. Исходное после эквализации
Гистограмма изображения после эквализации показана на рисунке 4.
Рисунок 4. Гистограмма изображения после эквализации
Линейно-контрастированное изображение показано на рисунке 5.
Рисунок 5. Линейно-контрастированное изображение
Гистограмма линейно-контрастированного изображения показана на рисунке 6.
Рисунок 6. Гистограмма линейно-контрастированного изображения
Изображение после адапт. выравнивания показано на рисунке 7.
Рисунок 7. Изображение после адапт. выравнивания
Гистограмма изображения после адапт. выравнивания показана на рисунке 8.
Рисунок 8. Гистограмма изображения после адапт. выравнивания
Выполним преобразование изображение с настройками по варианту. Код программы приведён в листинге 2.
Листинг 2 – Преобразование изображения по заданию варианта
img = imread('1427663514_898053012.jpg'); % импорт изображения figure('Name','Исходное изображение'); imshow(img); figure('Name','Гистограмма исходного изображения'); imhist(rgb2gray(img)); % формирование гистограммы распред. яркостей и вывод на экран
% Применение функции imadjust с параметром C=0.3 img_D1 = imadjust(img, [0.1 0.5],[0.3 0]); % обработка фото figure('Name','Изображение после применения IMADJUST с параметром C1'); imshow(img_D1); figure('Name','Гистограмма после применения IMADJUST с параметром C1'); imhist(img_D1); % вычисление и построение гистограммы imwrite(img_D1, 'output_image_C1.jpg')
% Применение функции imadjust с параметром C=0.7 img_D2 = imadjust(img, [0.1 0.5],[0.7 0]); % обработка фото figure('Name','Изображение после применения IMADJUST с параметром C2'); imshow(img_D2); figure('Name','Гистограмма после применения IMADJUST с параметром C2'); imhist(img_D2); % вычисление и построение гистограммы imwrite(img_D2, 'output_image_C2.jpg')
% Применение функции imadjust с параметром C=1 img_D3 = imadjust(img, [0.1 0.5],[1 0]); % обработка фото figure('Name','Изображение после применения IMADJUST с параметром C3'); imshow(img_D3); figure('Name','Гистограмма после применения IMADJUST с параметром C3'); imhist(img_D3); % вычисление и построение гистограммы imwrite(img_D3, 'output_image_C3.jpg')
|
Исходное изображение показано на рисунке 9.
Рисунок 9. Исходное изображение
Гистограмма исходного изображения показана на рисунке 10.
Рисунок 10. Гистограмма исходного изображения
Изображение с вариантом параметра C = 0.3 показано на рисунке 11.
Рисунок 11. Изображение с вариантом параметра C = 0.3
Гистограмма изображения с вариантом параметра C = 0.3 показана на рисунке 12.
Рисунок 12. Гистограмма изображения с вариантом параметра C = 0.3
Изображение с вариантом параметра C = 0.7 показано на рисунке 13.
Рисунок 13. Изображение с вариантом параметра C = 0.7
Гистограмма изображения с вариантом параметра C = 0.7 показана на рисунке 14.
Рисунок 14. Гистограмма изображения с вариантом параметра C = 0.7
Изображение с вариантом параметра C = 1 показано на рисунке 15.
Рисунок 15. Изображение с вариантом параметра C = 1
Гистограмма изображения с вариантом параметра C = 1 показана на рисунке 16.
Рисунок 16. Гистограмма изображения с вариантом параметра C = 1
Как видно из полученных результатов чем параметр С[bottom top] выше, тем ярче (засвеченнее) становится изображение.
Вывод
В ходе выполнения лабораторного задания были получены теоретические знания о методологиях управления контрастностью изображений с целью улучшения их визуального восприятия и приобретены практические навыки работы с типовыми функциями настройки параметров графических объектов в среде технических вычислений MATLAB.
С целью решения поставленных задач было реализовано три программных модуля на языке MATLAB. В рамках первого производилось импортирование выбранного изображения, вычисление и построение его гистограммы распределения яркостей элементов. Данные действия были реализованы путем применения операторов imread(), rgb2gray() и imhist().
Второй блок отвечал за обработку фотографии путём обращения к трём функциям: histeq(), imadjust() и adapthisteq(). С помощью первой производилась эквализация гистограммы яркостей, в результате чего объект стал значительно светлее, однако на нём были обнаружены лишние контуры и пятна. Второй оператор позволил осуществить линейное контрастирование, но в случае загруженного изображения, у которого в столбиковой диаграмме на концах наблюдались ненулевые колонки, указанный метод привел только к нарушению изначальной цветовой схемы. Инструментом adapthisteq() было реализовано адаптивное выравнивание гистограммы. Итоговое изображение обладало большой неестественностью: вокруг темных объектов появились светлые контуры, в однотонных областях возникли шумовые эффекты. Так, для выбранной фотографии более подходящим вариантом стало использование метода histeq().
Третий этап заключался в подробном изучении влияния значения параметра D в конструкции вида: imadjust(I, [A B], [C D], gam). Было определено, что чем меньше величина указанной характеристики, тем на более узком интервале осуществляется распределение яркости, что приводит к неравномерной настройке контрастности изображения.
Список использованных источников
Новак, Д. Цифровые изображения и их виды / Д. Новак // Медиаскоп. – 2006. – № 1. – С. 14.
Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине «Мультимедиа-технологии», гр. Z9411. ГУАП, 2024. – 10 с. // URL: https://pro.guap.ru/inside/student/tasks/144342.
Начаров, Д. В. метод контрастирования изображений средствами модифицированного S-образного преобразования яркости / Д. В. Начаров // Вестник Воронежского государственного технического университета. – 2023. – Т. 19, № 2. – С. 94-102. – DOI 10.36622/VSTU.2023.19.2.014.
Романов, П. Н. Цифровые методы обработки цифровых изображений / П. Н. Романов // Актуальные проблемы науки и техники, 2018 : Материалы национальной научно-практической конференции, Ростов-на-Дону, 12–14 марта 2018 года. – Ростов-на-Дону: Донской государственный технический университет, 2018. – С. 318-319.
Эквализация гистограмм // LightHouse Software, URL: https://blog.lhs.su/programming/dlang/ekvalizacziya-gistogramm/ (дата обращения 28.03.2024).
Анисимова, Е. В. Цифровая обработка цифровых изображений: гистограммные методы преобразования яркости изображения / Е. В. Анисимова, Р. А. Ешенко // Современные тенденции и проекты развития информационных систем и технологий : Материалы Всероссийской научно-исследовательской конференции студентов и школьников, Хабаровск, 10–11 марта 2016 года / Хабаровский государственный университет экономики и права. – Хабаровск: Хабаровский государственный университет экономики и права, 2016. – С. 231-237.
Адаптивное выравнивание гистограммы - Adaptive histogram equalization // ВикибриФ, URL: https://ru.wikibrief.org/wiki/Adaptive_histogram_equalization (дата обращения 28.03.2024).