145401_lection1

advertisement
Дисциплина: Методы и средства
распознавания образов и
визуализации
Тема № 1: Обработка изображений
1
Преобразование яркости и
контраста.
Преобразование яркости имеет большое значение в обработке цифровых
изображений. С его помощью можно исправлять ошибки экспозиции,
выделять темные, либо светлые области изображения. Рассмотрим
несколько определений понятия "яркость". Согласно колориметрическому
определению [G. Wyszecki, W. S. Stiles, Color Science. Concepts and Methods,
Quantitative Data and Formulae, Second Edition, John Wiley & Sons, 2000]
яркость – некоторая характеристика зрительного восприятия. Такое
определение не годится для обработки цифровых изображений.
2
Преобразование яркости и
контраста.
Одной из разновидностей YUV является широко используемая в
современном программном обеспечении цветовая координатная
система YCbCr. Например, в JPEG сжатии применяется следующая
координатная система [http://en.wikipedia.org/wiki/YCbCr]:
0.587
0.144   R   0 
 Y   0.299
  
   

0.5
 Cb     0.168736  0.331264
   G   128 
C  
  B  128 
0
.
5

0
.
418688

0
.
081312
   

 r 
где R, G, B – sRGB координаты.
3
Преобразование яркости и
контраста.
Еще одной широко используемой величиной является светлота канал в
цветовой координатной системе CIE L*a*b* (и других ей подобных цветовых
координатных системах, например, PCS Lab [ICC.1:2004-10, Image
technology colour management - Architecture, profile format, and data
structures , International Color Consortium. http://www.color.org], Hunter Lab и т.
д.). В различных RGB пространствах для расчета яркости часто
используется формула
1
( R  G  B)
3
однако такое определение не очень хорошо соответствует особенностям
человеческого зрения.
4
Преобразование яркости и
контраста.
Для описания телевизионного алгоритма изменения контраста введем ряд
обозначений. Яркость каждого пикселя представляется в виде суммы
Yxy  Y0  Yxy
где Yxy - YCbCr яркость пикселя в точке (x,y),
всему изображению:
Y0
- средняя яркость по
При изменении контраста с (положительным) множителем k, яркость
изменяется по формуле
Yxy'  Y0  k  Yxy
5
C xy  C xy  Y0
Преобразование яркости и
контраста.
В современных графических пакетах при редактировании изображений в
цветовой
координатной системе RGB применяется следующая модификация
телевизионного алгоритма.
Сначала, следуя телевизионному алгоритму, вычисляется средняя яркость
. Потом
для каждого пикселя (x, y) изображения для каждой из цветовых компонент
R, G и B
выполняется следующее преобразование:
C xy  C xy  Y0
C xy'  Y0  k  C xy
где С – одно из R, G, B. Т.е. , для каждой цветовой компоненты R, G,
и B вычисляется ее отклонение от среднего значения яркости, и это
отклонение умножается на коэффициент усиления (ослабления)
контраста.
6
Преобразование яркости и
контраста.
7
Преобразование яркости и
контраста.
8
Нахождение и построение
гистограмм
Гистограмма растрового изображения — это график распределения
полутонов изображения, в котором по горизонтальной оси представлена
яркость, а по вертикали — относительное число пикселей с данным
значением яркости. Гистограмма изображения (иногда: график уровней или
просто уровни) — гистограмма уровней насыщенности изображения
(суммарная, или разделённая по цветовым каналам).
9
Нахождение и построение
гистограмм
Гистограмма изображения позволяет оценить количество и разнообразие
оттенков изображения, а также общий уровень яркости изображения.
Например, недоэкспонированное изображение будет иметь пик в области
малых цветов и иметь спад (или полное отсутствие уровней) в области
ярких цветов, переэкспонированное — наоборот.
10
Нахождение и построение
гистограмм
Изображение с недостаточным динамическим диапазоном будет иметь узкий
всплеск яркостей. Считается, что идеальной формой гистограммы
изображения является пологая гауссиана, в которой мало совсем тёмных и
совсем ярких цветов, а по мере приближения к средним цветам, их количество
увеличивается.
11
Нахождение и построение
гистограмм
Для построение гистограммы растрового изображения
воспользуемся функцией – imhist из библиотеки Image Processing
Toolbox MATLAB. Функции imhist(I, n) и imhist(BW, n) в текущем окне
строят гистограммы яркостей пикселов соответственно полутонового
и бинарного изображений.
12
Нахождение и построение
гистограмм
c=imread('pic01.jpg');
[M,N,K]=size(c); % M - число строк, N - число
столбцов
M
N
K
imshow(c)
I=rgb2gray(c);
imhist(I)
13
Сжатие изображений.
Вейвлеты
По существу, информация о растровом изображении представляется в виде
двумерной матрицы, элементами которой являются числа. В простейшем
случае эти числа соответствуют яркостям пикселей. Кроме этого могут
использоваться так называемые индексированные цвета. В этом случае
числа матрицы указывают не яркость пикселей, а ячейку в специальной
таблице (палитре) цветов, которая также хранится в файле.
14
Сжатие изображений.
Вейвлеты
Сжатие (компрессия) имеет очень большое значение при создании,
хранении и передаче графических, видео - и аудио - файлов.
Особенно в сети Интернет. Сжатые данные должны содержать только
самую существенную информацию, здесь не должно быть места
избыточным данным.
Алгоритмы сжатия, используемые при создании файлов, делятся на
два класса:
Сжатие без потерь – по сжатым данным можно полностью
восстановить исходную информацию.
Сжатие с частичной потерей информации – если допускается
неточное восстановление сжатых данных.
15
Экономное представление
информаци
Рассмотрим простейший пример, демонстрирующий более
экономное представление информации. Пусть исходная
информация представлена в виде последовательности букв:
ААААААБББВВВВВААААА. Ее можно представить следующим
образом А5Б3В4А5, используя символ буквы и число ее повторений
в последовательности. При этом получим уменьшение объема
данных в 2,7 раз. Алгоритм декодирования этой
последовательности очевиден. Если изображение содержит
большие области одинаковых пикселей, будет получен хороший
результат сжатия.
ААААААБББВВВВВААААА
А5Б3В4А5
16
Сжатие изображений.
Вейвлеты
Идея вейвлет-сжатия заключается в следующем. Сначала к
изображению применяется вейвлет-преобразование, а затем из данных
преобразованного изображения удаляются некоторые коэффициенты. К
оставшимся коэффициентам может быть применено кодирование.
17
Сжатие изображений.
Вейвлеты
Сжатое изображение восстанавливается путем декодирования
коэффициентов, если это необходимо, и применением обратного
преобразования к результату. Предполагается, что в процессе удаления
части коэффициентов преобразования теряется не слишком много
информации.
18
Вейвлеты. Усреднение и
детализация
Рассмотрим изображение, состоящее из двух точек {x1, x2}. Эти
значения могут быть заменены средним значением a и полуразностью
d:
a = (x1 + x2)/2
d = (x1 - x2)/2
Заметим, что {x1, x2} можно выразить через {a, d}:
x1 = a + d
x2 = a – d
Рассмотрим массив чисел (1, 2, 3, 4, 5, 6, 7, 8). Сначала вычислим
четыре средние величины (1 + 2)/2 = 3/2, (3 + 4)/2 = 7/2, (5 + 6)/2 = 11/2 и
(7 + 8)/2 = 15/2. Вычислим четыре полуразности (1 – 2)/2 = -1/2, (3 – 4)/2=
-1/2, (5 – 6)/2 = -1/2 и (7 – 8)/2 = -1/2, которые будем называть
коэффициентами деталей.
19
Вейвлеты. Полусуммы и
полуразности
Полусуммы можно рассматривать как крупномасштабное представление
исходного образа, а полуразности – числа которые необходимы для
восстановления мелких подробностей или поправок.
Массив (3/2, 7/2, 11/2, 15/2, -1/2, -1/2, -1/2, -1/2), состоящий из четырех
полусумм и четырех полуразностей, можно использовать для
восстановления исходного массива чисел. При таком представлении
данных информация не добавляется и не теряется. Но если значения x1
и x2 не оказываются близкими друг другу, то в этом случае полуразность
d мала, и может быть заменена на нули. Тем самым мы получаем сжатие
с потерей части информации.
20
Вейвлет преобразование
Хаара
Повторим процедуру нахождения полусумм и полуразностей к четырем
первым (крупным) компонентам нашего нового массива. Они
преобразуются в два средних и в две полуразности. Остальные четыре
компонента оставим без изменений. Получим массив (10/4, 26/4, -4/4, 4/4, -1/2, -1/2, -1/2, -1/2).
Следующая и последняя итерация нашего процесса преобразует
первые две компоненты этого массива в одно среднее (которое, на
самом деле, равно среднему значению всех 8 элементов исходного
массива) и одну полуразность. В итоге получим массив чисел (36/8, 16/8, -4/4, -4/4, -1/2, -1/2, -1/2, -1/2), который называется вейвлет
преобразованием Хаара исходного массива данных.
21
Оценка сложности
преобразования
Для нашего примера требуется 8 + 4 + 2 = 14 операций (сложений и
вычитаний). Это число можно выразить как 14 = 2(8 – 1). В общем
случае, пусть имеется N = 2n элементов массива. На первой итерации
потребуется 2n операций, на второй – 2n-1 операций, и так далее до
последней итерации, в которой будет 2n-(n-1) = 21 операции. Значит,
суммарное число операций равно
n 1
n
2
1


i
i
n 1
n
2

2

1


1

2

2

2
(
2
 1)  2( N  1)




2 1
i 1
 i 0 
n
Таким образом для совершения преобразования Хаара массива из N
элементов потребуется совершить 2(N - 1) арифметических операций.
22
Стандартное разложение
Стандартное разложение начинается вычислением вейвлет преобразований
всех строк изображения. К каждой строке применяются все итерации процесса,
до тех пор пока, самый левый элемент каждой строки не станет равен среднему
значению чисел этой строки, а все остальные элементы будут равны
взвешенным разностям. Получится матрица в первом столбце которой
находится среднее столбцов исходного массива. После этого выполняется
вейвлет преобразование для каждого столбца.
23
Пирамидальное разложение
Пирамидальное разложение вычисляет вейвлет преобразование,
применяя итерации поочередно к строкам и столбцам. На первом шаге
вычисляются полусуммы и полуразности для всех строк (только одна
итерация, а не все вейвлет преобразование). Это действие образует
полусуммы в левой половине и полуразности – в правой половине. На
втором шаге вычисляются полусуммы и полуразности для всех столбцов
получившейся матрицы.
24
Обработка цветных
изображений
При сжатии изображений обычно используют другое разложение, называемое
YCrCb. Y – это набор яркостей, который основывается по большей части на
зелёном цвете, лучше всего воспринимаемом человеческим глазом. Наборы Cr и
Cb хранят ключи для восстановления красного и синего цвета из Y.
Использование разложения YCrCb позволяет сильнее сжимать изображение при
меньших потерях качества, так как главная информация для человека в
картинке – это именно информация о яркости отдельных точек. Составляющие
Cr и Cb хорошо сжимаются, не внося сильных ухудшений в качество картинки,
сами по себе они менее чёткие, чем Y
25
Литература
1. Агуров А.В. C#. Сборник рецептов. – СПб.: БХВ-Петербург, 2007.
– 432 с.: ил.
2. Павловская Т.А. С# Программирование на языке высокого
уровня. Учебний для вузов – СПб.: Питер, 2009. – 432 с.: ил.
3. Поршнев С.В. MATLAB 7. Основы работы и программирования.
Учебник. – М.: Бином. Лаборатория знаний, 2010. – 319 с.
4. Гонсалес, Рафаэл. Цифровая обработка изображений в среде
MATLAB / Р. Гонсалес, Р. Вудс, С. Л. Эддинс; пер. с англ. В. В.
Чепыжова .— М.: Техносфера, 2006 .
26
Download