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

ЛР3 / мт + МТ - лаб_03

.pdf
Скачиваний:
4
Добавлен:
25.06.2023
Размер:
682.66 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

На рисунке 1 приведена MATLAB-программа в виде mat-файла, в которой осуществляется построение гистограмм для двух изображений (image1.jpg и image2.jpg). Полученные гистограммы приведены на рисунке 2. Видно, что они существенно неравномерны.

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

1

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии“, гр.4916,4917, 4918. ГУАП, 2023. – 9 с.

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

clc, clear, close all

I1=imread('D:/image1.jpg'); % чтение изображения в матрицу

figure('Name','Исходник 1'); imshow(I1); I2=imread('D:/image2.jpg'); figure('Name','Исходник 2'); imshow(I2);

figure('Name','histogram_Image1');

imhist(I1(:,:,1)); % вычисление и вывод графика гистограммы figure('Name','histogram_Image2');

imhist(I2(:,:,1));

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

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

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

2

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии“, гр.4916,4917, 4918. ГУАП, 2023. – 9 с.

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

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

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

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

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

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

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

имеет много настраиваемых параметров.

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

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

Id = histeq(Is, hgram)

3

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии“, гр.4916,4917, 4918. ГУАП, 2023. – 9 с.

или

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, то характеристика передачи уровней будет вогнутой и результирующее изображение будет темнее, чем

4

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии“, гр.4916,4917, 4918. ГУАП, 2023. – 9 с.

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

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

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

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

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

 

 

 

Параметр

 

Значение (val)

(param)

 

 

 

 

 

 

 

 

Двухэлементный вектор целых чисел, описывающих число

'NumTiles'

 

локальных окрестностей [M N]. Оба параметра M и N должны быть

 

кратны 2. Общее число областей эквивалентно M*N. По умолчанию:

 

 

 

 

[8 8]

 

 

 

 

 

Вещественный скаляр в диапазоне [0 1], который определяет границу

'ClipLimit'

 

усиления контраста. Большее число соответствует большему

 

 

контрасту. По умолчанию: 0.01

 

 

 

 

 

Положительный целый скаляр, определяющий число значений

 

 

гистограммы, которая используется при трансформациях

'NBins'

 

изображений с целью улучшения контраста. Большее число

 

 

соответствует большему динамическому диапазону, однако приводит

 

 

к уменьшению быстродействия. По умолчанию: 256

 

 

 

 

 

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

 

 

изображения.

 

 

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

'Range'

 

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

 

 

'full' - полный ранг (диапазон) для результирующего изображения.

 

 

Например, для изображения в формате uint8, диапазон равен [0 255].

 

 

По умолчанию: 'full'

 

 

 

 

 

 

 

 

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

 

 

окрестностей изображения:

'Distribution'

 

'uniform' - равномерная гистограмма

 

'rayleigh' - колоколообразная гистограмма

 

 

'exponential' - экспоненциальная гистограмма

 

 

По умолчанию: 'uniform'

 

 

 

 

 

Неотрицательный вещественный скаляр, описывающий параметр

'Alpha'

 

распределения. По умолчанию: 0.4

 

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

 

 

 

 

значения 'rayleigh' или 'exponential'.

 

 

 

 

 

 

5

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии“, гр.4916,4917, 4918. ГУАП, 2023. – 9 с.

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

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

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, 'D:/output_image.jpg'); %запись полученного изображения в файл

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

6

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии“, гр.4916,4917, 4918. ГУАП, 2023. – 9 с.

Рисунок 4 – Результаты обработки тестовых изображений (примеры): сверху вниз: иcходное изображение, после HISTEQ, после IMADJUST, после ADAPTHISTEQ; cлева – изображения, справа – гистограммы.

7

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии“, гр.4916,4917, 4918. ГУАП, 2023. – 9 с.

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

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

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

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

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

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

Вар.

Функция Matlab

Параметр

1

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

rayleigh,

 

eigh')

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','rayl

A

 

eigh')

 

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','expo

A

 

nential')

 

 

 

 

11

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

A

12

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

A

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

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

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

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

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

8

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии“, гр.4916,4917, 4918. ГУАП, 2023. – 9 с.

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

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

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

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

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

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

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

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

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

© Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии“, гр.4916,4917, 4918. ГУАП, 2023. – 9 с.

Соседние файлы в папке ЛР3