Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория / мт__МТ__лаб05

.pdf
Скачиваний:
0
Добавлен:
25.04.2024
Размер:
676.47 Кб
Скачать

Лабораторная работа №5.

Изучение методов управления контрастностью изображений

Цель работы. Изучить методологию управления контрастностью изображений с целью улучшения их визуального восприятия. Реализовать типовые методы контрастирования изображений в среде Matlab.

Краткие теоретические сведения

Цифровые изображения принято представлять в виде матриц (двумерных прямоугольных массивов чисел) с неотрицательными элементами (для полутоновых, палитровых и полноцветных изображений значения элементов заключены в диапазоне [0 255]).

Каждый элемент матрицы отвечает одному элементу изображения - пикселю. При рассмотрении методов обработки полутоновых изображений изображение представляется матрицей чисел M×N, где значение каждого элемента отвечает определенному уровню квантования его энергетической характеристики (яркости). Каждый пиксель цветного изображения кодируется тремя числами, представляющими собой значения интенсивностей трех основных цветов – красного, зеленого и синего. Таким образом, цветное изображение представляется тремя матрицами.

Для обработки изображений в составе Matlab имеется множество библиотечных функций в составе пакета Image Processing Toolbox (IPT).

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

Одной из основных статистических характеристик черно-белого (синонимы: полутонового, монохромного) изображения является гистограмма распределения яркостей элементов изображения, которую можно вычислять как для всего изображения целиком, так и локально.

Для построения общей гистограммы полутонового изображения используется, как правило, 256 уровней яркости (интенсивности) изображения (ширина интервалов гистограммы равна 1), а высота каждого столбца – это количество пикселей изображения соответствующей яркости (интенсивности).

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

На листинге 1 приведена MATLAB-программа в виде mat-файла, в которой осуществляется построение гистограммы изображения. На рисунке 1

1

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

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

С целью повышения контраста изображений, на которых мелкие детали на темных и светлых участках плохо различимы, и/или сами изображения характеризуются низким контрастом, используют методы обработки изображений, когда величина яркости, соответствующая каждому пикселю, изменяется так, чтобы гистограмма изображения после обработки приобретала бы заданные свойства. Оптимальным с точки зрения зрительного восприятия человеком является изображение, элементы которого имеют равномерное распределение яркостей.

Листинг 1 – MATLAB-программа в виде mat-файла, посредством которой осуществляется построение гистограммы яркости изображения.

clc, clear, close all

I=imread('D:/image.jpg'); % чтение изображения в матрицу figure('Name','Исходное изображение');

imshow(I);

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

J = rgb2gray(I); % выделение матрицы яркостей imhist(J); % вычисление и вывод графика гистограммы

Рисунок 1 – Изображения и соответствующие им гистограммы (примеры).

Улучшенные изображения получают путем выравнивания (эквализации) гистограммы, то есть, согласованно изменяя величины

2

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

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

Данный метод преобразования может быть глобальным, когда используется информация обо всем изображении и получается общий для всех пикселей закон преобразования, и скользящими, когда для преобразования используются локальные области изображения и выравниваются гистограммы отдельных участков. Такой локальный подход к обработке бывает эффективным в случаях, когда контрастность на разных участках изображения существенно неодинакова, в результате чего некоторые низкоконтрастные детали могут не “проявиться” при глобальном методе обработки. Существует также ряд других методов видоизменения гистограммы, которые приводят к получению изображений с заранее заданным распределением яркостей пикселей, с целью не только улучшения качества изображения, а для создания визуальных спецэффектов.

Основным этапом при создании методов гистограммных преобразований является корректное построение гистограммы распределения яркостей элементов изображения. Для этого в большинстве случаев используется встроенная функция IMHIST. Результаты ее работы можно использовать при дальнейшей обработке для произвольного изменения гистограммы.

В Matlab реализация методов обработки изображений, с целью улучшения визуального восприятия, осуществляется посредством следующих функций:

-HISTEQ выполняет операцию эквализации (выравнивания) гистограммы. В этом подходе увеличение контрастности изображения происходит путем преобразования гистограммы распределения значений интенсивностей элементов исходного изображения. Нужно заметить, что применение этой функции к слабоконтрастным изображениям с узким динамическим диапазоном изменения яркости часто приводит к не слишком хорошим результатам.

-IMADJUST осуществляет увеличение контраста изображений путем растяжения диапазона интенсивностей исходного изображения c одновременным выполнением гамма-коррекции.

-ADAPTHISTEQ выполняет контрастно-ограниченное адаптивное выравнивание гистограммы. Здесь методика повышения контрастности изображений базируется на анализе и эквализации гистограмм локальных окрестностей изображения. Данная функция имеет много настраиваемых параметров.

Каждый из этих методов (функций) нацелен на устранение некоторого недостатка, поэтому может быть применен для эффективной обработки такого класса изображений, на которых есть такой тип искажений.

Функция HISTEQ используется одним из двух способов:

Id = histeq(Is, hgram)

или

3

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

Id=histeq(Is, n)

Первый вариант обеспечивает преобразование исходного полутонового изображения Is таким образом, чтобы гистограмма яркостей пикселов результирующего полутонового изображения Id приблизительно соответствовала гистограмме, задаваемой вектором hgram. Количество элементов в hgram задает число столбцов гистограммы, а значение каждого элемента — относительную высоту каждого столбца. Значение элементов вектора hgram должно быть в диапазоне [0, 1]. Функция hgram автоматически масштабирует значения элементов hgram так, чтобы сумма значений элементов в гистограмме была равна количеству пикселов изображения, т.е. sum(hgram)=prod(size(Is)). Гистограмма результирующего изображения Id будет лучше соответствовать заданной гистограмме hgram в том случае, когда количество столбцов hgram (length(hgram)) много меньше количества градаций яркости исходного изображения Is.

Второй вариант преобразует исходное полутоновое изображение Is таким образом, чтобы результирующее полутоновое изображение Id имело гистограмму яркостей пикселов, близкую к равномерной. Равномерная гистограмма hgram создается из n столбцов как hgram=ones(1,n)*prod(size(Is))/n. Чем меньше n по сравнению с количеством градаций яркости в изображении Is, тем более равномерной получается гистограмма яркостей пикселов результирующего изображения Id. По умолчанию значение n равно 64, и данный параметр можно не указывать при вызове функции. Формат результирующего изображения Id совпадает с форматом исходного Is.

Функция IMADJUST используется следующим образом:

Id=imadjust(Is, [low high], [bottom top], gamma)

При этом создается полутоновое изображение Id путем контрастирования исходного полутонового изображения Is. Значения яркости в диапазоне [low high] преобразуются в значения яркости в диапазоне [bottom top]. Значения яркости, меньшие low, принимают значение bottom, а значения яркости, большие high, принимают значение top. Значения top, bottom, low, high должны принадлежать диапазону [0,1]. Если в качестве второго ([low high]) или третьего ([bottom top]) параметров передать пустой вектор [], то по умолчанию будет использован вектор [0,1]. С помощью показателя gamma можно дополнительно осуществлять преобразование, называемое гамма - коррекцией. Параметр gamma определяет форму кривой характеристики передачи уровней яркости. Если gamma меньше 1, то характеристика передачи уровней будет выпуклой и результирующее изображение будет светлее, чем исходное. Если gamma больше 1, то характеристика передачи уровней будет вогнутой и результирующее изображение будет темнее, чем исходное. По умолчанию параметр gamma равен 1, что соответствует

4

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

линейной характеристике передачи уровней и отсутствию гамма - коррекции. При вызове функции показатель gamma можно опустить.

Функция ADAPTHISTEQ используется следующим образом:

J=adapthisteq(I, param1, val1, param2, val2...)

Функция содержит несколько дополнительных пар параметров, описание которых приведено в таблице 1. Названия некоторых параметров приведены в сокращенном виде. Возможен вызов функции без параметров:

J=adapthisteq(I).

Таблица 1 – Параметры функции ADAPTHISTEQ

Параметр

(param)

'NumTiles'

'ClipLimit'

'NBins'

'Range'

'Distribution'

'Alpha'

Значение (val)

Двухэлементный вектор целых чисел, описывающих число локальных окрестностей [M N]. Оба параметра M и N должны быть кратны 2. Общее число областей эквивалентно M*N. По умолчанию: [8 8]

Вещественный скаляр в диапазоне [0 1], который определяет границу усиления контраста. Большее число соответствует большему контрасту. По умолчанию: 0.01

Положительный целый скаляр, определяющий число значений гистограммы, которая используется при трансформациях изображений с целью улучшения контраста. Большее число соответствует большему динамическому диапазону, однако приводит к уменьшению быстродействия. По умолчанию: 256

Строка, описывающая ранг (диапазон) данных результирующего изображения.

'original' - ранг, ограниченный диапазоном исходного изображения

[min(I(:)) max(I(:))].

'full' - полный ранг (диапазон) для результирующего изображения. Например, для изображения в формате uint8, диапазон равен [0 255]. По умолчанию: 'full'

Строка, определяющая желательную форму гистограммы для окрестностей изображения:

'uniform' - равномерная гистограмма 'rayleigh' - колоколообразная гистограмма 'exponential' - экспоненциальная гистограмма По умолчанию: 'uniform'

Неотрицательный вещественный скаляр, описывающий параметр распределения. По умолчанию: 0.4

Примечание: Используется, когда параметр 'Distribution' принимает значения 'rayleigh' или 'exponential'.

5

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

На листинге 2 приведена MATLAB-программа в виде mat-файла, в которой приведены примеры применения перечисленных функций для обработки изображений. Также вычисляются и строятся графики гистограмм изображений, полученных после обработки. На рисунке 2 приведены результаты применения перечисленных функций к тестовым изображениям.

Листинг 2 – MATLAB-программа в виде mat-файла, посредством которой осуществляется обработка выбранного изображения с использованием функций IMADJUST, HISTEQ и ADAPTHISTEQ.

I=imread('D:/image.jpg'); figure('Name','Исходное изображение'); imshow(I);

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

% 1) функция HISTEQ:

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

%1.1) простейший вариант применения:

%J1 = histeq(I,h);

%1.2) вариант с выделением матрицы яркости:

I_hsv = rgb2hsv(I); % перевод в цветовое пр-во HSV J_hsv = I_hsv; % подготавливаем данные вых. изображения V = I_hsv(:,:,3); % выделение матрицы яркости

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

J1 = im2uint8(hsv2rgb(J_hsv)); % формируем изображение figure('Name','Изображение после эквализации (HISTEQ)'); imshow(J1);

figure('Name','Гистограмма после эквализации (HISTEQ)'); imhist(im2uint8(V_out));

imwrite(J1, 'D:/output_image1.jpg')

%2) функция IMADJUST: MinMaxValues = stretchlim(I);

J2 = imadjust(I,MinMaxValues,[]); figure('Name','Линейно-контрастированное изображение'); imshow(J2);

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

imwrite(J2, 'D:/output_image2.jpg')

%3) функция ADAPTHISTEQ:

%у функции есть особенность: исходные данные д.б. от 0 до 1

LAB = rgb2lab(I);

L = LAB(:,:,1)/100; % нормировка под диапазон от 0 до 1

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(uint8(L.*255)); % построение гистограммы imwrite(J3, 'D:/output_image3.jpg');

6

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

Рисунок 2 – Результаты обработки тестового изображения программой, текст которой представлен в листинге 2 (слева – изображения, справа – соответствующие им гистограммы яркостей): а) иcходное изображение,

б) после HISTEQ, в) после IMADJUST, г) после ADAPTHISTEQ.

7

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

Из рисунка 2 видно, что рассматриваемое исходное изображение является слабоконтрастным со сравнительно узким динамическим диапазоном изменения яркостей. В подобных случаях применение функции HISTEQ почти всегда сопровождается нежелательными эффектами: на однородных участках изображения становятся заметны артефакты и ложные контуры, особенно при относительно небольших значениях параметра h.

Функция IMADJUST позволяет практически всегда получить хороший результат даже при реализации простейшего способа ее применения, хотя иногда можно заметить искажение цветовых характеристик обработанного изображения, в этом случае рекомендуется осуществить обработку, выделяя матрицу яркости, аналогично тому, как это выполнено в листинге 2 для функции HISTEQ.

Функция адаптивного выравнивания гистограммы ADAPTHISTEQ является с одной стороны, довольно эффективной в случаях, когда необходимо подчеркнуть мелкие детали в слабоконтрастных изображениях, с другой стороны, после ее применения изображение часто теряет естественность: вокруг темных объектов появляются ореолы, “свечения”, а также наблюдаются другие, довольно специфические, изменения в пределах изображения. В некоторых случаях вызванные функцией изменения сцены могут оказаться очень впечатляющими, что позволяет рассматривать функцию ADAPTHISTEQ как один из инструментов создания оригинальных художественных эффектов при обработке изображений [1].

Варианты заданий

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

Первая часть лабораторной работы заключается в выполнении преобразований исходного изображения с теми же настройками, что и в программе, приведенной на листинге 2.

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

Варианты заданий на вторую часть лабораторной работы приведены в таблице 2. Параметры функций, влияние которых не подлежит исследованию, обучающийся выставляет по своему усмотрению.

Для иллюстрации работы изучаемых методов контрастирования рекомендуется выбирать такие изображения, на которых будут появляться явно выраженные изменения после обработки. Следует помнить, что изменения контрастности обычно сильнее выражены на изображениях, в которых нет насыщенных цветов.

8

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

Порядок выполнения работы

1.Согласовать с преподавателем вариант задания во время занятия по расписанию, удостовериться в правильном понимании задания и критериев его оценки.

2.Выполнить первую часть лабораторной работы.

3.Выполнить вторую часть лабораторной работы.

4.Сформулировать выводы.

Таблица 2 – Варианты заданий

Вар.

Функция MatLAB

Параметр

1

adapthisteq(L,'ClipLimit',A,'Distribution',

rayleigh,

 

'rayleigh')

uniform,

 

 

exponential,

2

imadjust(I,[A B],[])

B

3

imadjust(I,[A B],[C D],gam)

D

4

adapthisteq(L,'NumTiles',[A B],'ClipLimit',C)

C

5

adapthisteq(L,'ClipLimit',A,'Distribution',

A

 

'rayleigh')

 

6

imadjust(I,[],[],gam)

gam

7

imadjust(I,[A B],[C D],gam)

C

8

adapthisteq(L,'NumTiles',[A B],'ClipLimit',C)

B

9

histeq(I,h), как в простейшем так и в

h

 

усовершенствованном варианте

 

 

 

 

10

adapthisteq(L,'ClipLimit',A,'Distribution',

A

 

'exponential')

 

 

 

 

11

adapthisteq(L,'NumTiles',[A B],'ClipLimit',C)

A

12

imadjust(I,[A B],[])

A

Содержание отчета

1.Цель работы.

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

3.Программа, в которой представлены результаты моделирования, с необходимыми комментариями (назначение констант и переменных, функций, и т.п.).

4.Полученные изображения при различных параметрах настройки используемых функций, с соответствующими им гистограммами, снабженные информативными подрисуночными подписями.

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

визуальные эффекты в изображениях после обработки.

9

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

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

Контрольные вопросы

1.Какие характеристики изображения можно оценить по гистограмме яркостей?

2.Каков принцип получения матрицы яркостей для цветного растрового изображения?

3.Какова цель метода эквализации гистограмм?

4.Почему метод эквализации гистограмм вызывает заметные искажения изображений?

5.Каким образом можно уменьшить искажений типа “ложные контуры”, часто образующиеся в изображении при применении к нему функции эквализации гистограмм histeq?

6.Как математически реализуется метод линейного контрастирования изображений?

7.Для чего рекомендуется осуществлять переход в цветовые пространства при решении задач управления контрастностью изображений?

8.В чем заключается главная идея, заложенная в функцию адаптивного выравнивания гистограммы?

Рекомендуемая литература

1. Основы цифровой обработки изображений: учеб. пособие

/ Жаринов О.О. ГУАП. СПб, 2023. 122 с.

2.Улучшение качества растровых изображений: Учеб. пособие.

/ Н.В.Соловьев, А.М.Сергеев. СПб: СПбГУ ИТМО, 2010. 158 с.

3.Обработка изображений в среде Matlab с использованием Image

Processing Toolbox: лабораторный практикум / Н.П. Семичевская, Л.А. Соловцова. Благовещенск: Амурский гос. ун-т, 2005. 32 с.

4.Contrast-limited adaptive histogram equalization (CLAHE) // URL: https://www.mathworks.com/help/images/ref/adapthisteq.html

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

10

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №5 по дисциплине “Мультимедиа-технологии”, испр. 21.02.2024, гр.4016,4017. ГУАП, 2024. – 10 с.

Соседние файлы в папке Теория