Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Компьютерная графика. Лекция 5
Обработка изображений как цифровых сигналов
Компьютерная графика. Лекция 5
Цифровая обработка сигналов
Компьютерная графика. Лекция 5
Цифровая обработка сигналовСигнал - это информационная функция, несущаясообщение о физических свойствах, состоянии илиповедении какой-либо физической системы, объектаили средыЦели обработки сигналов:
– извлечение определенных информационныхсведений, которые отображены в этих сигналах
– преобразование этих сведений в форму,удобную для восприятия и дальнейшегоиспользования.
Компьютерная графика. Лекция 5
Виды сигналовОдномерный сигнал – это сигнал, значениякоторого зависят от одной независимой переменной
– Звуковой сигнал – зависимость амплитудыколебаний воздуха в данной точке от времени
В общем случае сигналы являются многомернымифункциями пространственных, временных ипрочих независимых переменных
Изображение – двухмерный сигнал – функцияцвета от координат• методы обработки сигналов применимы к
изображениям так же, как и другим видамсигналов
Компьютерная графика. Лекция 5
Математическое описание позволяетабстрагироваться от физической природы сигнала иматериальной формы его носителя:
– классификации сигналов, сравнение,моделирование систем обработки сигналов
– Мат. описание сигнала - функциональнойзависимость определенного информационногопараметра сигнала от независимой переменной:s(x), y(t) и т.п.
Математическое описание сигналов
Компьютерная графика. Лекция 5
Аналоговые сигналы
Являются непрерывной функцией непрерывного аргумента, (определены для любого значения аргументов)
Источники аналоговых сигналов - физические процессы, непрерывные в динамике своего развития во времени или по другой независимой величинеАналоговые сигналы при этом подобны («аналогичны») порождающим их процессам
Компьютерная графика. Лекция 5
Аналоговые сигналы
Компьютерная графика. Лекция 5
Дискретные сигналыДискретный сигнал по своим значениям – тоженепрерывная функция, но определенная подискретным значениям аргумента
– Множество значений является счетным иописывается дискретной последовательностьюотсчетов (samples) y(n*Δt) Δt – интервал дискретизации (sampling time) n = 0, 1, 2, …N величина f=1/Δt – частота дискретизации
(sampling frequency, sampling rate)
Компьютерная графика. Лекция 5
Дискретные сигналы
Компьютерная графика. Лекция 5
Пример дискретизации изображения
ОригиналДискретизированиеИзображение (128*128)Дискретизированное изображение (32*32)
Компьютерная графика. Лекция 5
Цифровые сигналыЦифровой сигнал квантован по своим значениям идискретен по аргументу. Он описываетсярешетчатой функцией yn = Qk[y(n* Δt)]
– Qk - функция квантования с числом уровнейквантования k
– Интервалы квантования могут иметь какравномерное, так и неравномерноераспределение (напр. логарифмическое)
Компьютерная графика. Лекция 5
Квантование (quantization)
Квантование по уровню - процесспреобразования бесконечных по принимаемымзначениям аналоговых отсчетов в конечное числоцифровых значений
Возникающие при этом ошибки округленияотсчетов называются ошибками квантования.
Компьютерная графика. Лекция 5
Пример цифрового сигнала
Оригинал256 цветов64 цвета16 цветов4 цвета
Как получается цифровое изображение
Свет, падая на светочувствительный элементматрицы ПЗС (прибор с зарядовой связью, CCD-Charge-Coupled Device), преобразуется вэлектрические сигналы, зависящие от интенсивностисвета проблема воссоздания цвета!
Сигналы оцифровываются, превращаются в массив чисел
)(xfy =
x – характеристика яркости светаy – яркость пиксела изображения
x
Компьютерная графика. Лекция 5
Причины потери качества изображения
Ограниченный диапазона чувствительности ПЗС-матрицы
“Плохая” функция передачи ПЗС-матрицы “Плохая” освещенность
Компьютерная графика. Лекция 5
Компьютерная графика. Лекция 5
ГистограммаГрафик распределения интенсивности в изображении.На горизонтальной оси - шкала яркостей тонов отбелого до черного, на вертикальной оси - числопикселей заданной яркости.
0 255
0 255
Компьютерная графика. Лекция 5
Коррекция изображений
Компьютерная графика. Лекция 5
Коррекция изображенийЧто может не устраивать в полученном изображении:• узкий или смещенный диапазон яркостей (узкий
диапазон - тусклое изображение, «пересвеченное» изображение)
• концентрация яркостей вокруг определенных значений, неравномерное заполнение диапазона яркостей
Коррекция - к изображению применяется преобразование яркостей, компенсирующее нежелательный эффект:
y – яркость пиксела на исходном изображении, x – яркость пиксела после коррекции.
xyf =− )(1
Компьютерная графика. Лекция 5
Линейная коррекцияКомпенсация узкого диапазона яркостей – линейное растяжение:
График функции f -1(y)
)()0255(*)()(
minmaxmin
1
yyyyyf
−−
−=−
Компьютерная графика. Лекция 5
Линейная коррекция. РезультатКомпенсация узкого диапазона яркостей – линейное растяжение:
Компьютерная графика. Лекция 5
Линейная коррекция. Пример
Линейное растяжение – «как AutoContrast в Photoshop»
Компьютерная графика. Лекция 5
Линейная коррекция не всегда успешна
Линейная коррекция не помогает, если в изображении уже представлены все интенсивности
Компьютерная графика. Лекция 5
Графики функции f -1(y)
γ>1 γ<1
Гамма-коррекцияГамма-коррекция (коррекция яркости монитора изменением напряжения). Так называют преобразование вида: γxcy ⋅=
Компьютерная графика. Лекция 5
График функции f -1(y)Растянуты низкие и сжаты высокие интенсивности
Нелинейная коррекция. Пример
Компьютерная графика. Лекция 5
Нелинейная компенсация недостаточной контрастности
Часто применяемые функции:• Гамма-коррекция
Изначальная цель – коррекция для правильного отображения на мониторе.
• ЛогарифмическаяЦель – сжатие динамического диапазона при визуализации данных (связано с отображением HDRна обычные диапазон)
γxcy ⋅=
)1log( xcy +⋅=
Компьютерная графика. Лекция 5
Компенсация разности освещения
Компьютерная графика. Лекция 5
Компенсация разности освещенияИдея:Формирование изображения:
Плавные изменения яркости относятся к освещению, резкие - к объектам.
),(),(),( jifjiljiI ⋅=
объект освещение Изображение освещенного объекта
),( jil),( jif ),( jiI
Компьютерная графика. Лекция 5
Выравнивание освещения. АлгоритмАлгоритм
– Получить компонент освещения путем низкочастотной фильтрации G изображения
– Восстановить изображение по формулеGjiIjil ∗=′ ),(),(
),(),(),(
jiljiIjif
′=′
/ =
Компьютерная графика. Лекция 5
Выравнивание освещения. Пример
Компьютерная графика. Лекция 5
Компенсация разности освещения
/ =
Gauss 14.7 пикселей
Компьютерная графика. Лекция 5
Цветовая коррекция изображений
1. Серый мир2. Идеальный отражатель3. Коррекция "autolevels"4. Коррекция с опорным цветом5. Статистическая цветокоррекция
Изменение цветового баланса – Компенсация:
Неверного цветовосприятия камерыЦветного освещения
Компьютерная графика. Лекция 5
Гипотеза «Серый мир»
Предположение:Сумма всех цветов на изображении естественной сцены дает серый цвет
Метод:Посчитать средние яркости по всем каналам:
Масштабировать яркости пикселей по следующим коэффициентам:
;3
;),(1 ;),(1 ;),(1 BGRAvgyxBN
ByxGN
GyxRN
R ++==== ∑∑∑
; ; ;B
AvgBBG
AvgGGR
AvgRR ⋅=′⋅=′⋅=′
Компьютерная графика. Лекция 5
Гипотеза «Серый мир». Примеры
Компьютерная графика. Лекция 5
Гипотеза «Идеальный отражатель»
Предположение:Наиболее яркие области изображения относятся к бликам на поверхностях, модель отражения которых такова, что цвет блика = цвету освещения;(дихроматическая модель)Метод: обнаружить максимумы по каждому из каналов:
Масштабировать яркости пикселов:
maxmaxmax ,, BGR
;255*maxR
R ;255*maxB
B ;255*maxG
G
Компьютерная графика. Лекция 5
Растяжение контрастности (“autolevels”)
Идея: растянуть интенсивности по каждому из каналов на весь диапазон;– Метод: найти минимум, максимум по каждому из
каналов:
– Преобразовать интенсивности:
;)(
)0255(*)(minmax
min RRRR
−−
−
maxminmaxminmaxmin ,,,,, BBGGRR
;)(
)0255(*)(minmax
min BBBB
−−
−;)(
)0255(*)(minmax
min GGGG
−−
−
Компьютерная графика. Лекция 5
Растяжение контрастности (“autolevels”)
Авто По белому
Компьютерная графика. Лекция 5
Коррекция с опорным цветом– Идея: пользователь указывает целевой цвет
(например: белый, серый, черный) вручную;
Источники для указания целевого цвета:– Знание реального цвета– Хорошая фотография этой же сцены
Метод– Преобразовать по каждому из каналов цвета
по формуле:
;*src
dst
RRR ;*
src
dst
GGG ;*
src
dst
BBB
Компьютерная графика. Лекция 5
Коррекция с опорным цветом. Примеры
Коррекция по серому
Коррекция по черномуПолучили засветление окна
БОРЬБА С ШУМОМИЗОБРАЖЕНИЙ
Компьютерная графика. Лекция 5
Шум в бинарных изображенияхБинарное изображение – изображение, пиксели которого принимают всего два значения (0 и 1).
Пример бинарного изображения с сильным шумом:
Компьютерная графика. Лекция 5
Устранение шума в бинарных изображениях
Компьютерная графика. Лекция 5
Широко известный способ - устранение шума с помощью операций математической морфологии: • erosion (эрозия);• dilatation (расширение);• opening (открытие);• closing (закрытие);• morphological gradient (градиент);• top hat (цилиндр);• black hat (эффект черной шляпы).
Операции матморфологии. Расширение
Расширение (dilation)A (+) B = {t ∈ R2: t = a + b, a ∈ A, b ∈ B}
BA (+) B
Множество A обычно является объектом обработки, а множество B (называемое структурным элементом) –инструментом.
Компьютерная графика. Лекция 5
Операции матморфологии. Сужение
Сужение (erosion)
A (-) B = (AC (+) B)С, где AC – дополнение AB (-) A = (BC (+) A)С
A(-)B
A AC
BBС
Компьютерная графика. Лекция 5
Результат морфологических операций во многом определяется применяемым структурным элементом (множеством B). Выбирая различный структурный элемент можно решать разные задачи обработки изображений:
• шумоподавление;• выделение границ объекта;• выделение скелета объекта;• выделение сломанных зубьев на изображении шестерни.
Компьютерная графика. Лекция 5
1111]1[1111
Применения сужения к бинарному изображению с сильным шумом
0101]1[1010
001110001111101111111111]1[111111111101111100011100
Компьютерная графика. Лекция 5
111111111
Применения открытия (A(-)B)(+)B к бинарному изображению с сильным шумом
010111010
0011100011111011111111111111111111101111100011100
Компьютерная графика. Лекция 5
Шум в бинарных изображениях с дефектами объектов. Пример
Пример бинарного изображению с дефектами распознаваемых объектов
Компьютерная графика. Лекция 5
111111111
Применения закрытия (A(+)B)(-)B к бинарному изображению с дефектами объектов
0011100011111011111111111111111111101111100011100
0111011111111111111101110
Компьютерная графика. Лекция 5
Не лучший пример для морфологииНе во всех случаях математическая морфология так легко убирает дефекты, как хотелось бы…
Компьютерная графика. Лекция 5
111111111
Результат применения операции открытия
010111010
0011100011111011111111111111111111101111100011100
Компьютерная графика. Лекция 5
Устранение шума в полутоновых и цветных изображениях
Усреднение (box filter) Медианный фильтр Фильтр Гаусса (gaussian blurring) Адаптивные фильтры
Компьютерная графика. Лекция 5
Причины и примеры шума цветного изображенияПричины возникновения шума:
Несовершенство регистрирующих приборовХранение и передача изображений с потерей
данных
Шум фотоаппарата Сильное сжатие JPEG
Компьютерная графика. Лекция 5
Компьютерная графика. Лекция 5
Операция «свертка» (convolution)
Свертка – это функция, показывающая "схожесть"одной функции и отражённой и сдвинутой копиейдругой
∑∑= =
⋅−−=>∗<1
0
1
0
),())((),(n
nl
m
mkklgkjlifjigf
Свертка двумерной функции f по функции g в непрерывном и дискретном случае.
Часто, свертка изображения по какой-либо функции называется применением фильтра к изображению.
Усреднение (box filter)
∑ ∑−= −= ++
⋅−−=′n
nl
m
mk mnkjliIjiI
)12)(12(1))((),(
Операция усреднения значения каждого пикселя– cвертка по константной функции:
Результат применения:
Компьютерная графика. Лекция 5
Подавление и устранение шума. Медианный фильтрУстранение шума в полутоновых, цветных и бинарных изображениях с помощью медианного фильтра - выбор медианы среди значений яркости пикселей в некоторой окрестности. Определение медианы:
Медианный фильтр радиусом r – выбор медианы среди пикселей в окрестности [-r,r].
[ ] набора. медианачисел, набор анныйотсортиров-1
2/ −=
n
i
A;,n, iA
Компьютерная графика. Лекция 5
Пример очистки изображения с помощью медианного фильтра
Фильтр с окрестностью 3x3
Компьютерная графика. Лекция 5
Фильтр Гаусса (gaussian blurring)
22
2
2
21))((),(
kld
ekjliIjiIdn
nl
m
mk
+=
⋅−−=′−
−= −=∑ ∑ 2σ
σπ
Свертка по функции:
Параметр σ задает степень размытия.На графике функция с σ = 5.
Компьютерная графика. Лекция 5
Результаты свертки по функции Гаусса и по константной функции (усреднения).
Исходное изображениеФильтр Гаусса с
Sigma = 4Усреднение по 49
пикселям (7x7)Важное свойство фильтра Гаусса – он по сути является низкочастотным фильтром!
Компьютерная графика. Лекция 5
Фильтр Гаусса (gaussian blurring)
Адаптивные фильтры
Что нужно Размывать шум, резкие границы – сохранять.
Как этого добиться Предположение: перепады яркости из-за шума
относительно перепадов на резких границах невелики
Алгоритм: При расчете новой яркости усреднять только по тем пикселям из окрестности, которые не сильно отличаются по яркости от обрабатываемого
Компьютерная графика. Лекция 5
Компьютерная графика. Лекция 5
В чем отличие разных фильтров
• Box filer (простое размытие) – помимо подавления шума портитрезкие границы и размывает мелкие детали изображения• Gaussian filter – меньше размывает мелкие детали, лучшеубирает шум• Median filter – резких границ не портит, убирает мелкиедетали, изображение становится менее естественным• Адаптивные фильтры – меньше портят детали, зависят отбольшего числа параметров. Иногда изображение становитсяменее естественным.• «Продвинутые» фильтры – лучшее сохранение деталей,меньше размытие. Часто сложны в реализации и оченьмедленные.
Компьютерная графика. Лекция 5
Фильтр размытия, основанный на применении свертки
=1
1411
81*
Оригинальное изображение
Ядро свертки
Результат
Компьютерная графика. Лекция 5
Применение свертки в компьютерной графике
Примеры фильтров:– размытие изображений (blur);– повышение резкости (sharpen);– выделение контуров (edge detection);– размытие движения (Motion blur);– тиснение (emboss).
Компьютерная графика. Лекция 5
Размытие Гаусса (Gaussian Blur)
)2/()(2
222
21),( σ
πσvuevuG +−=
Компьютерная графика. Лекция 5
Повышение резкости (sharpen)
1212222121
101
−−−−−−−−
Компьютерная графика. Лекция 5
Тиснение (emboss)
100010002
−−
010101
010
−−либо
Компьютерная графика. Лекция 5
Выделение границ (Edge detection)
010141
010
−−−
−
Компьютерная графика. Лекция 5
Медианный фильтр (подавление шумов)
Компьютерная графика. Лекция 5
Смазывание движения (Motion Blur)
0000000000111110000000000
51