Download - Обработка изображений
![Page 1: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/1.jpg)
Обработка изображений
• Компьютерная графикаComputer graphics
• Компьютерное (машинное) зрениеComputer (machine) vision
• Обработка изображений Image processing
Вежневец Владимир[email protected]
![Page 2: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/2.jpg)
Цель лекции
• Рассказать о нескольких способах обработки изображений, которые могут пригодиться в «реальной жизни»
• Зачем обрабатывать?
1. Улучшение изображения для восприятия человеком
• цель – чтобы стало «лучше» с субъективной точки зрения человека
2. Улучшение изображения для восприятия компьютером
• цель – упрощение последующего распознавания
3. Развлечение (спецэффекты)
• цель – получить эстетическое удовольствие от красивого эффекта
![Page 3: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/3.jpg)
План лекции
• Введение
• Коррекция контрастности/яркости изображения
• Коррекция цветового баланса изображения
• Подавление шума в изображениях
• Подчеркивание резких границ (краев) на изображении
• Спецэффекты
![Page 4: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/4.jpg)
Изображение
Изображение оптическое – картина, получаемая в результате прохождения через оптическую систему лучей, распространяющихся от объекта, и воспроизводящая его контуры и детали. Физический энциклопедический словарь.
Компьютерное представление изображения: Функция интенсивности (яркости) канала
Используется дискретное представление
]},[],,[{),,( 1010 yyyxxxyxgI
},1,,1{),,( mjnijigI
![Page 5: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/5.jpg)
Обработка изображений
Семейство методов и задач, где входной и выходной информацией являются изображения. Примеры :
Устранение шума в изображениях Улучшение качества изображения Усиления полезной и подавления нежелательной (в
контексте конкретной задачи) информации
![Page 6: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/6.jpg)
Как получается цифровое изображение?
Свет, падая на светочувствительный элемент преобразуется в электрические сигналы
Сигналы оцифровываются, превращаются в массив чисел
yxf )( x – характеристика яркости светаy – яркость пиксела изображения
![Page 7: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/7.jpg)
Почему оно может получиться плохо?
Ограниченный диапазона чувствительности датчика
“Плохой” функции передачи датчика
![Page 8: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/8.jpg)
«Улучшение» изображения
Изменение контраста изображения Компенсация:
Ограниченного диапазона яркостей датчика “Плохой” функции передачи датчика
yxf )( x – характеристика яркости светаy – яркость пиксела изображения
![Page 9: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/9.jpg)
Что такое гистограмма?
Гистограмма – это график распределения тонов на изображении. На горизонтальной оси - шкала яркостей тонов от белого до черного, на вертикальной оси - число пикселей заданной яркости.
0 255
0 255
![Page 10: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/10.jpg)
Изменение контраста изображения
Что может не устраивать в полученном изображении:
• Узкий или смещенный диапазон яркостей пикселей (тусклое или «пересвеченное» изображение)
• Концентрация яркостей вокруг определенных значений, неравномерное заполнение диапазона яркостей(узкий диапазон - тусклое изображение)
Коррекция - к изображению применяется преобразование яркостей, компенсирующий нежелательный эффект:
y – яркость пиксела на исходном изображении,
x – яркость пиксела после коррекции.
xyf )(1
![Page 11: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/11.jpg)
Линейная коррекция
Компенсация узкого диапазона яркостей – линейное растяжение:
График функции f -1(y)
)(
)0255(*)()(
minmaxmin
1
yyyyyf
![Page 12: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/12.jpg)
Линейная коррекция
Компенсация узкого диапазона яркостей – линейное растяжение:
![Page 13: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/13.jpg)
Линейная коррекция
Линейное растяжение – «как AutoContrast в Photoshop»
![Page 14: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/14.jpg)
Линейная коррекция
Линейная коррекция помогает не всегда!
![Page 15: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/15.jpg)
Нелинейная коррекция
Нелинейная компенсация недостаточной контрастности
Часто применяемые функции:• Гамма-коррекция
• Изначальная цель – коррекция для правильного отображения на мониторе.
• Логарифмическая• Цель – сжатие динамического диапазона при визуализацииданных
xcy
)1log( xcy
![Page 16: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/16.jpg)
Гамма-коррекция
Гамма-коррекция• Изначальная цель – коррекция для правильного отображения на мониторе. Так называют преобразование вида:
xcy
Графики функции f -1(y)
![Page 17: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/17.jpg)
Нелинейная коррекция
График функции f -1(y)
![Page 18: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/18.jpg)
Нелинейная коррекция
График функции f -1(y)
![Page 19: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/19.jpg)
Сравнение линейной и нелинейной коррекции
![Page 20: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/20.jpg)
Компенсация разности освещения
Пример
![Page 21: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/21.jpg)
Компенсация разности освещения
Идея:
Формирование изображения:
Плавные изменения яркости относятся к освещению, резкие - к объектам.
),(),(),( jifjiljiI
объект освещениеИзображение освещенного объекта
),( jil),( jif
),( jiI
![Page 22: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/22.jpg)
Выравнивание освещения
Алгоритм Получить приближенное изображение освещения
путем низочастотной фильтрации
Восстановить изображение по формуле
GjiIjil ),(),(
),(
),(),(
jil
jiIjif
![Page 23: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/23.jpg)
Выравнивание освещения
Пример
![Page 24: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/24.jpg)
Компенсация разности освещения
Пример
/ =
Gauss 14.7 пикселей
![Page 25: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/25.jpg)
План лекции
Введение
Коррекция контрастности/яркости изображения
• Коррекция цветового баланса изображения
• Подавление шума в изображениях
• Подчеркивание резких границ (краев) на изображении
• Спецэффекты
![Page 26: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/26.jpg)
Цветовая коррекция изображений
Изменение цветового баланса Компенсация:
Неверного цветовосприятия камеры Цветного освещения
![Page 27: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/27.jpg)
«Серый мир»
Предположение: Сумма всех цветов на изображении естественной
сцены дает серый цвет; Метод:
Посчитать средние яркости по всем каналам:
Масштабировать яркости пикселей по следующим коэффициентам:
;3
;),(1
;),(1
;),(1 BGR
AvgyxBN
ByxGN
GyxRN
R
; ; ;B
AvgBB
G
AvgGG
R
AvgRR
![Page 28: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/28.jpg)
«Серый мир» - примеры
![Page 29: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/29.jpg)
«Серый мир» - примеры
![Page 30: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/30.jpg)
«Серый мир» - примеры
![Page 31: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/31.jpg)
«Идеальный отражатель»
Предположение: Наиболее яркие области изображения относятся к
бликам на поверхностях, модель отражения которых такова, что цвет блика = цвету освещения;(дихроматическая модель)
Метод Обнаружить максимумы по каждому из каналов:
Масштабировать яркости пикселов:
maxmaxmax ,, BGR
;255
*maxR
R ;255
*maxB
B ;255
*maxG
G
![Page 32: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/32.jpg)
Цветовая коррекция изображений
Растяжение контрастности (“autolevels”) Идея – растянуть интенсивности по каждому из
каналов на весь диапазон; Метод:
Найти минимум, максимум по каждому из каналов:
Преобразовать интенсивности:
;)(
)0255(*)(
minmaxmin RR
RR
maxminmaxminmaxmin ,,,,, BBGGRR
;)(
)0255(*)(
minmaxmin BB
BB
;)(
)0255(*)(
minmaxmin GG
GG
![Page 33: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/33.jpg)
Растяжение контрастности всех каналов (“autolevels”)
![Page 34: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/34.jpg)
Растяжение контрастности (“autolevels”)
![Page 35: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/35.jpg)
Коррекция с опорным цветом
Предположение Пользователь указывает цвет вручную;
Источник: Априорные знания – «облака – белые» Хорошая фотография этой же сцены
Метод Преобразовать по каждому из каналов цвета по
формуле:
;*src
dst
R
RR ;*
src
dst
G
GG ;*
src
dst
B
BB
![Page 36: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/36.jpg)
Коррекция с опорным цветом
Примеры:
![Page 37: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/37.jpg)
План лекции
Введение
Коррекция контрастности/яркости изображения
Коррекция цветового баланса изображения
• Подавление шума в изображениях
• Подчеркивание резких границ (краев) на изображении
![Page 38: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/38.jpg)
Борьба с шумом изображения
Подавление и устранение шума Причины возникновения шума:
Несовершенство измерительных приборов Хранение и передача изображений с потерей данных
Шум фотоаппарата Сильное сжатие JPEG
![Page 39: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/39.jpg)
Шум в бинарных изображениях
Пример бинарного изображению с сильным шумом
![Page 40: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/40.jpg)
Подавление и устранение шума
Устранение шума в бинарных изображениях
Бинарное изображение – изображение, пиксели которого принимают всего два значения (0 и 1).
Широко известный способ - устранение шума с помощью операций математической морфологии: Сужение (erosion) Расширение (dilation) Закрытие (closing) Раскрытие (opening)
![Page 41: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/41.jpg)
Операции математической морфологии
Расширение
A (+) B = {t R2: t = a + b, a A, b B}
BA (+) B
![Page 42: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/42.jpg)
Операции математической морфологии
Сужение
A (-) B = (AC (+) B)С, где AC – дополнение A
A(-)BB
A
![Page 43: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/43.jpg)
Свойства морфологических операций
Коммутативный закон A (+) B = B (+) A A (-) B < > B (-) A
Ассоциативный закон A (+) (B (+) C) = (A (+) B) (+) C A (-) (B (-) C) = (A (-) B) (-) C
![Page 44: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/44.jpg)
Дискретные операции морфологии
A B A(+)B
![Page 45: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/45.jpg)
Алгоритм морфологического сужения
void Erosion(BIT* src[], bool* mask[], BIT* dst[]){
// W, H – размеры исходного и результирующего изображений// MW, MH – размеры структурного множестваfor(y = MH/2; y < H – MH/2; y++){
for(x = MW/2; x < W – MW/2; x++){
BIT min = MAXBIT;for(j = -MH/2; j <= MH/2; j++){
for(i = -MW/2; i <= MW/2; i++)if((mask[i][j]) && (src[x + i][y + j] < min)){
min = src[x + i][y + j];}
}dst[x][y] = min;
}}
}
![Page 46: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/46.jpg)
Алгоритм морфологического расширения
void Dilation(BIT* src[], bool* mask[], BIT* dst[]){
// W, H – размеры исходного и результирующего изображений// MW, MH – размеры структурного множестваfor(y = MH/2; y < H – MH/2; y++){
for(x = MW/2; x < W – MW/2; x++){
BIT max = 0;for(j = -MH/2; j <= MH/2; j++){
for(i = -MW/2; i <= MW/2; i++)if((mask[i][j]) && (src[x + i][y + j] > max)){
max = src[x + i][y + j];}
}dst[x][y] = max;
}}
}
![Page 47: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/47.jpg)
Операции раскрытия и закрытия
Морфологическое раскрытие (opening) open(A, B) = (A (-) B) (+) B
Морфологическое закрытие (closing) close(A, B) = (A (+) B) (-) B
Образовательные материалы по мат. морфологии доступны по адресу:
http://projects.graphicon.ru/publiclib/catalog/214
![Page 48: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/48.jpg)
Важное замечание
Множество A обычно является объектом обработки, а множествоB (называемое структурным элементом) – инструментом.
Результат морфологических операций во многом определяется применяемым структурным элементом. Выбирая различный структурный элемент можно решать разные задачи обработки изображений:
• Шумоподавление• Выделение границ объекта• Выделение скелета объекта• Выделение сломанных зубьев на изображении шестерни
![Page 49: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/49.jpg)
111
1]1[1
111
Применения сужения к бинарному изображению с сильным шумом
010
1]1[1
010
0011100
0111110
1111111
111]1[111
1111111
0111110
0011100
![Page 50: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/50.jpg)
111
111
111
Применения открытия к бинарному изображению с сильным шумом
010
111
010
0011100
0111110
1111111
1111111
1111111
0111110
0011100
![Page 51: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/51.jpg)
Устранение шума в бинарных изображениях
Пример бинарного изображению с дефектами распознаваемых объектов
![Page 52: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/52.jpg)
111
111
111
Применения закрытия к бинарному изображению с дефектами объектов
0011100
0111110
1111111
1111111
1111111
0111110
0011100
01110
11111
11111
11111
01110
![Page 53: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/53.jpg)
Не лучший пример для морфологии
Не во всех случаях математическая морфология так легко убирает дефекты, как хотелось бы…
![Page 54: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/54.jpg)
111
111
111
Применения операции открытия
010
111
010
0011100
0111110
1111111
1111111
1111111
0111110
0011100
![Page 55: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/55.jpg)
Подавление и устранение шума
Устранение шума в полутоновых и цветных изображениях Усреднение (box filter) Медианный фильтр Фильтр Гаусса (gaussian blurring) Адаптивные фильтры
![Page 56: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/56.jpg)
Устранение шума в полутоновых и цветных изображениях
Пример: изображение с равномерным шумом.
Err(i,j) – нормально распределенная случайнаявеличина.
),(),(),( jiErrjigjiI r
![Page 57: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/57.jpg)
Операция «свертка» (convolution)
1
0
1
0
),())((),(n
nl
m
mk
klgkjlifjigf
Свертка двумерной функции f по функции g в непрерывном и дискретном случае.
Часто, свертка изображения по какой-либо функции называется применением фильтра к изображению.
![Page 58: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/58.jpg)
Усреднение (box filter)
n
nl
m
mk nmkjliIjiI
41
))((),(
Операция усреднения значения каждого пикселя – cвертка по константной функции:
Результат применения:
![Page 59: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/59.jpg)
Подавление и устранение шума
Устранение шума в полутоновых, цветных и бинарных изображениях с помощью медианного фильтра - выбор медианы среди значений яркости пикселей в некоторой окрестности.
Определение медианы:
Медианный фильтр радиусом r – выбор медианы среди пикселей в окрестности [-r,r].
набора. медиана
чисел, набор анныйотсортиров-1
2/
n
i
A
;,n, iA
![Page 60: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/60.jpg)
Медианный фильтр
Результат применения медианного фильтра с радиусом 5 пикселей.
Результат применения медианного фильтра с радиусом в 7 пикселей к изображению с шумом и артефактами в виде тонких светлых окружностей.
![Page 61: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/61.jpg)
Очистка изображения с помощью медианного фильтра
Фильтр с окрестностью 3x3
![Page 62: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/62.jpg)
Быстрая реализация медианного фильтра
Медианный фильтр считается дольше, чем операция свертки, поскольку требует частичной сортировки массива яркостей окрестных пикселей.
Возможности ускорения:
• Использовать алгоритмы быстрой сортировки
• Конкретная реализация для каждого радиуса (3x3, 5x5)
• Не использовать сортировку вообще – считать через гистограмму окрестности точки
![Page 63: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/63.jpg)
Фильтр Гаусса (gaussian blurring)
22
2
2
2
1))((),(
kld
ekjliIjiIdn
nl
m
mk
2σ
σπ
Свертка по функции:
Параметр задает степень размытия.
На графике функция с .
σ
5σ
![Page 64: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/64.jpg)
Маленькая экскурсия к Фурье
+
Низкие частоты Высокие частоты
![Page 65: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/65.jpg)
Фильтр Гаусса (gaussian blurring)
Результаты свертки по функции Гаусса и по константной функции (усреднения).
Исходное изображение
Фильтр Гаусса с Sigma = 4
Усреднение по 49 пикселям (7x7)
Важное свойство фильтра Гаусса – он по сути является низкочастотным фильтром.
![Page 66: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/66.jpg)
Адаптивные фильтры
Чего бы хотелось? Размывать шум, резкие границы – сохранять.
Как бы этого добиться? Предположение: перепады яркости из-за шума
относительно перепадов на резких границах невелики
Алгоритм: При расчете новой яркости усреднять только по тем пикселям из окрестности, которые не сильно отличаются по яркости от обрабатываемого
![Page 67: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/67.jpg)
Адаптивный фильтр - пример
for (each pixel of the current video frame){ GetRGB (source_pixel, r, g, b); tot_red = tot_green = tot_blue = 0; count_red = count_green = count_blue = 0; for (each pixel in the specified radius) { GetRGB (neighbour_pixel, r1, g1, b1); if (abs(r1-r) < Threshold) {tot_red += r1; count_red ++;} if (abs(g1-g) < Threshold) {tot_green += g1; count_green ++;} if (abs(b1-b) < Threshold) {tot_blue += b1; count_blue ++;} } destination_pixel = RGB (tot_red / count_red, tot_green / count_green , tot_blue / count_blue );}
![Page 68: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/68.jpg)
Адаптивные фильтры
Примеры таких фильтров:http://www.compression.ru/video/denoising/denoising.pdf
![Page 69: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/69.jpg)
«Продвинутые» фильтры
Примеры таких фильтров – лекция Алексея Лукина
![Page 70: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/70.jpg)
В чем отличие разных фильтров?
• Box filer (простое размытие) – помимо подавления шума портит резкие границы и размывает мелкие детали изображения
• Gaussian filter – меньше размывает мелкие детали, лучше убирает шум
• Median filter – резких границ не портит, убирает мелкие детали, изображение становится менее естественным
• Адаптивные фильтры – меньше портят детали, зависят от большего числа параметров. Иногда изображение становится менее естественным.
• «Продвинутые» фильтры – лучшее сохранение деталей, меньше размытие. Часто сложны в реализации и очень медленные.Что лучше? – зависит от конкретной
задачи
![Page 71: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/71.jpg)
Как бороться с шумом аппаратуры?
Предположим, камера, которой производится съемка заметно «шумит». Обычно шум измерительной аппаратуры моделируется как случайная нормально распределенная случайная величина с нулевым средним - Err(i,j) ;
);,()),((
);,(1
),(
);,(),(),(
1
jigjiIE
jiIN
jiI
jiErrjigjiI
r
N
kk
r
![Page 72: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/72.jpg)
Примеры шумоподавления
Зашумленные изображения
Усреднение по 10 изображениям
Так работают камеры в некоторых сотовых телефонах
![Page 73: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/73.jpg)
Примеры шумоподавления
Исходное изображение
Испорченное изображение
![Page 74: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/74.jpg)
Примеры шумоподавления
Усреднение по 9 пикселям (3x3)
Медианный фильтр (3x3)
![Page 75: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/75.jpg)
План лекции
Введение
Коррекция контрастности/яркости изображения
Коррекция цветового баланса изображения
Подавление шума в изображениях
• Подчеркивание резких границ (краев) на изображении
• Спецэффекты
![Page 76: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/76.jpg)
Подчеркивание контуров объекта
Рассмотрим подчеркивание краев (границ)
Край(edge) – резкое изменение яркости на изображении, часто соответствует границам объектов на изображении.
![Page 77: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/77.jpg)
Операция оконтуривания объекта
При работе с бинарными изображениями контуры объекта можно получить с помощью операций математической морфологии
Внутреннее оконтуривание
CI = A – (A (-) B)
Внешнее оконтуривание
CO = (A (+) B) – A
![Page 78: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/78.jpg)
Пример оконтуривания объекта
![Page 79: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/79.jpg)
Подчеркивание краев
Нас интересуют области резкого изменения яркости – нахождение таких областей можно организовать на основе анализа первой и второй производной изображения.
График функции
График производной
График 2ой производной
![Page 80: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/80.jpg)
Подчеркивание краев
Известно, что наибольшее изменение функции происходит в направлении ее градиента. Величина изменения измеряется абсолютной величиной градиента.
22
),(),(),(
;),(),,(),(
yxy
Iyx
x
IyxI
yxy
Iyx
x
IyxI
Часто используется приближенное вычисление градиента:
),(),(),( yxy
Iyx
x
IyxI
![Page 81: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/81.jpg)
Подчеркивание краев
01
10
10
01
Математический смысл – приближенное вычисление производных по направлению.
101
101
101-
111
000
111-
101
202
101-
121
000
121-
Робертса Превитт Собеля
Семейство методов основано на приближенном вычисление градиента, анализе его направления и абсолютной величины. Свертка по функциям:
![Page 82: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/82.jpg)
Подчеркивание краев
Примеры применения операторов подчеркивания краев:
Робертса Превитт
Собеля
![Page 83: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/83.jpg)
План лекции
Введение
Коррекция контрастности/яркости изображения
Коррекция цветового баланса изображения
Подавление шума в изображениях
Подчеркивание резких границ (краев) на изображении
• Спецэффекты
![Page 84: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/84.jpg)
Спецэффекты
Рассмотрим Тиснение Негатив «Светящиеся» края Геометрические эффекты
Перенос/поворот Искажение
«Эффект стекла»
![Page 85: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/85.jpg)
Тиснение
010
101
010
Фильтр + сдвиг яркости,
нормировка…
![Page 86: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/86.jpg)
Цифровой негатив
;255 ;255 ;255 BBGGRR
![Page 87: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/87.jpg)
Светящиеся края
Медианный фильтра + выделение краев + фильтр «максимума»
![Page 88: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/88.jpg)
Перенос/поворот
Перенос: x(k; l) = k + 50; y(k; l) = l;
Поворот: x(k; l) = (k . x0)cos(µ) + (l . y0)sin(µ) + x0;y(k; l) = .(k . x0)sin(µ) + (l . y0)cos(µ) + y0;
x0 = y0 = 256.5 (центр поворота), µ = /6
![Page 89: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/89.jpg)
«Волны»
Волны 1: x(k; l) = k + 20sin(2l / 128); y(k; l) = l;
Волны 2: x(k; l) = k + 20sin(2k / 30); y(k; l) = l;
![Page 90: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/90.jpg)
«Эффект стекла»
x(k; l) = k + (rand(1, 1) – 0.5) * 10; y(k; l) = l + (rand(1, 1) – 0.5) * 10;
![Page 91: Обработка изображений](https://reader030.vdocuments.pub/reader030/viewer/2022020920/56813b49550346895da434f9/html5/thumbnails/91.jpg)
Что такое гистограмма?
Гистограммы - представления распределения частот выбранных переменных.
Каждому интервалу значений переменной соответствует некий счетчик (столбец гистограммы).
Значение счетчика (высота столбца) соответствует частоте попадания значения переменной в данный интервал.
Гистограмма – это график распределения тонов на изображении. На горизонтальной оси отображается шкала яркостей тонов от белого до черного, а на вертикальной оси указано число пикселей заданной яркости на изображении.