ЛР3 / МТ ЛР3
.pdfГУАП
КАФЕДРА №41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
доц., канд. техн. наук |
|
|
|
О.О. Жаринов |
|
|
|
|
|
|
|
|
|
|
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №3
ИЗУЧЕНИЕ МЕТОДОВ УПРАВЛЕНИЯ КОНТРАСТНОСТЬЮ ПОЛУТОНОВЫХ ИЗОБРАЖЕНИЙ
по курсу: МУЛЬТИМЕДИА ТЕХНОЛОГИИ
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. №
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2023
Цель работы
Изучить методологию управления контрастностью полутоновых изображений с целью улучшения их визуального восприятия. Реализовать типовые методы контрастирования изображений в среде Matlab.
Краткие сведения о методах управления контрастностью полутоновых
изображений
Методы управления контрастностью полутоновых изображений используются для изменения распределения яркостей на изображении с целью улучшения его внешнего вида и читаемости. Они включают в себя гистограммное выравнивание, локальное контрастирование, использование нелинейных функций преобразования яркости и методы. Все эти методы позволяют управлять контрастом изображения как в целом, так и в отдельных его частях.
Индивидуальный вариант
Индивидуальный вариант в соответствии с таблицей 1.
Таблица 1 – Индивидуальный вариант задания
№ варианта |
Функция Matlab |
Параметр |
|
||
|
|
|
9 |
histeq(I,h) |
h |
|
||
|
|
|
2
Ход работы
1. Написали код для программной реализации методов повышения контрастности изображений. Код программы фильтрации в соответствии с листингом 1.
Листинг 1 – Программа для моделирования тестового аудиосигнала
clc, clear, close all
I1 = imread('image1.jpg'); % чтение изображения в матрицу figure('Name','Исходник 1')
imshow(I1); figure('Name','histogram_Image1');
imhist(I1(:,:,1)); % вычисление и вывод графика гистограммы
I = I1;
I=I1;
% % HISTEQ h=64;
J1 = histeq(I(:,:,1),h); figure('Name','Equalized Image1'); imshow(J1); figure('Name','histogram_EQ_Image1'); imhist(J1(:,:,1));
%IMADJUST
A=0.3; B=0.7; % may be tuned for better quality 0<A<1; A<B<1; J2 = imadjust(I,[A B],[]);
figure('Name','imadjust');
imshow(J2); figure('Name','histogram_imajust_Image'); imhist(J2(:,:,1));
% ADAPTHISTEQ
LAB = rgb2lab(I);
L = LAB(:,:,1)/100;
% L = adapthisteq(L,'NumTiles',[8 8],'ClipLimit',0.005);
L = adapthisteq(L,'ClipLimit',0.02,'Distribution','rayleigh'); LAB(:,:,1) = L*100;
J3 = lab2rgb(LAB); figure('Name','adapthisteq_Image'); imshow(J3); figure('Name','histogram_adapthisteq_Image'); imhist(J3(:,:,1));
imwrite(J3, 'output_image.jpg'); %запись полученного изображения в файл
3
Первая часть
Выполнении преобразований исходного изображения с теми же настройками, что и в программе с листинга 1.
Исходное изображение и гистограмма в соответствии с рисунком 1. Обработанные изображения в соответствии с рисунками 2-4.
Рисунок 1 – Исходное изображение
Рисунок 2 – Изображение, преобразованное фильтром HISTEQ
Рисунок 3 – Изображение, преобразованное фильтром IMADJUST
Рисунок 4 – Изображение, преобразованное фильтром ADAPTHISTEQ
4
Вторая часть
Параметр h в функции histeq в MATLAB определяет количество ячеек гистограммы,
на которые будет разбито изображение при вычислении эквализации гистограммы. Этот параметр позволяет задавать более точное разбиение гистограммы и более точное выравнивание яркости изображения.
Значение параметра h может быть целым числом или вектором целых чисел, в
зависимости от количества каналов цветности в изображении. Если изображение является серым, то значение параметра h будет являться целым числом. Если изображение имеет несколько цветовых каналов (RGB, HSV, LAB и т.д.), то значение параметра h будет вектором с целочисленными значениями для каждого канала.
Если значение параметра h слишком маленькое, то это может привести к недостаточной точности при вычислении гистограммы изображения и, как следствие, к
менее точному выравниванию яркости изображения. С другой стороны, слишком большое значение параметра h может привести к переобучению гистограммы, что также может привести к менее точному выравниванию яркости изображения.
Обычно, в качестве значения параметра h в функции histeq выбирают значение между 64 и 256, которое дает хорошее соотношение между точностью и вычислительной нагрузкой.
5
Провели исследование влияния параметра h для нашего варианта функции HISTEQ
на получаемые результаты обработки. Протестировали заданную функцию при нескольких значениях указанного в варианте задания параметра h.
Провели обработку исходного изображения для значений параметра h равных 10 для верхнего и 250 для нижнего изображения в соответствии с рисунком 5. Код программы в соответствии с листингом 2.
Листинг 2 – Код программы подбора значения параметра фильтра
clc, clear, close all %очистка памяти
I1 = imread('image1.jpg'); % чтение изображения в матрицу figure('Name','Исходник 1')
imshow(I1); figure('Name','histogram_Image1');
imhist(I1(:,:,1)); % вычисление и вывод графика гистограммы
I2=imread('image2.jpg');
I = I1;
%% HISTEQ h = 10;
J1 = histeq(I(:,:,1),h); figure('Name','Equalized Image1'); imshow(J1); figure('Name','histogram_EQ_Image1'); imhist(J1(:,:,1));
imwrite(J1, 'output_image.jpg'); %запись полученного изображения в файл
%% HISTEQ
h = 250;
J1 = histeq(I(:,:,1),h); figure('Name','Equalized Image1'); imshow(J1); figure('Name','histogram_EQ_Image1'); imhist(J1(:,:,1));
imwrite(J1, 'output_image.jpg'); %запись полученного изображения в файл
6
Рисунок 5 – Обработка изображения
Изучив изображения пришли к выводу что для получения наилучшего качества изображения необходимо задавать большее значения в нашел случае это 250. Так как из за специфики функции обработки она оставляет такое количество оттенков сколько задано в параметре, то задав слишком маленькое значения все оттенки сольются и оно станет неразборчивым.
7
Вывод
В ходе данной лабораторной работы мы получили навыки управления контрастностью полутоновых изображений с целью улучшения их визуального восприятия.
Реализовали типовые методы контрастирования изображений в среде Matlab.
Нами были написаны программы, которые проводили обработку изображений и строили гистограммы частот тонов пикселей получаемых изображений.
Изучив параметры функции histeq выяснили что лучше не задавать слишком низких значений параметра h, так как оттенки цвета сливаются и детали на изображении пропадают, что влечет за собой ухудшение качества изображения и потерю информации изображаемой на нем.
8
Список использованной литературы
1. Обработка изображений в среде Matlab с использованием Image Processing Toolbox: лабораторный практикум / Н.П. Семичевская, Л.А. Соловцова. Благовещенск:
Амурский гос. ун-т, 2005 – 32 с.
2.Основы цифровой обработки изображений. Учебно-методическое пособие. /сост. К.В. Филатов, Изд-во ТРТУ, Таганрог, 2002. 89 с.
3.Цифровая обработка изображений в информационных системах. Учебное пособие. / Грузман И.С., Киричук В.С., Косых В.П., Перетягин Г.И., Спектор А.А.,
Новосибирск: Изд-во НГТУ, 2000. 168 с.
4.Улучшение качества растровых изображений: Учеб. пособие. / Н.В.Соловьев,
А.М.Сергеев. СПб: СПбГУ ИТМО, 2010. 158 с.
5. Мультимедиатехнологии в информационных системах. Представление и
обработка изображений в компьютере: учеб. пособие/ Н.Н.Красильников,
О.И.Красильникова. ГУАП. СПб, 2007. 132 с.
6.Contrast-limited adaptive histogram equalization (CLAHE) // URL: https://www.mathworks.com/help/images/ref/adapthisteq.html
7.Список функций Image Processing Toolbox // URL: https://hub.exponenta.ru/post/spisok-funktsiy-image-processing- toolbox152?ysclid=l8vjnq87jn578408698
9