Обработка изображений. Часть 1
Techniques & Applications
Как получается цветное цифровое изображение в видео-регистрации
Обработка изображений (IP)
Причины потери качества изображения
Что такое гистограмма
Точечные фильтры. Коррекция яркости/контраста изображения.
Линейная коррекция
Линейная коррекция. Результат
Линейная коррекция. Пример
Линейная коррекция не всегда успешна
Нелинейная коррекция
Гамма-коррекция
Нелинейная коррекция. Пример
Разд. 2. "Цветовая коррекция изображений". План
Гипотеза «Серый мир»
«Серый мир» - пример 1
«Серый мир» - пример 2
«Серый мир» - пример 3
Цветовая коррекция изображений
Растяжение контрастности (“autolevels”)
Коррекция с опорным цветом
Растяжение контрастности всех каналов (“autolevels”)
Коррекция с опорным цветом. Примеры
Гипотеза «Идеальный отражатель»
Статистическая цветокоррекция
Устранение шума в бинарных изображениях.
Как выполнить фильтрацию на краях изображения?
Как выполнить фильтрацию на краях изображения?
Разд.3. "Борьба с шумом"
Шум в бинарных изображениях
Подавление и устранение шума
Операции матморфологии. Расширение
Операции матморфологии. Сужение
Свойства операции Dilation
Свойства Erosion
Дискретные операции морфологии. Расширение
Дискретные операции морфологии. Сужение
Алгоритм морфологического расширения
Алгоритм морфологического сужения
Операции открытия и закрытия
Operations of opening and closing
Operations of opening and closing
Замечание
Применения сужения к бинарному изображению с сильным шумом
Применения открытия (A(-)B)(+)B к бинарному изображению с сильным шумом
Шум в бинарных изображениях с дефектами объектов. Пример.
Применения закрытия (A(+)B)(-)B к бинарному изображению с дефектами объектов
Применение операции открытия (A(-)B)(+)B
Свойства морфологических операций
Свойства операций открытия и закрытия
Шум «соль и перец» - не лучший пример для морфологии
Источники
4.36M
Категория: ИнформатикаИнформатика

Обработка изображений. Часть 1

1. Обработка изображений. Часть 1

Information Technology, Mathematics & Mechanics (ITMM) institute
Software & Supercomputing Technology department
CS255. Computer Graphics Introduction Course
Обработка изображений. Часть 1
Турлапов Вадим Евгеньевич
проф. каф. МОСТ, ИТММ, ННГУ

2. Techniques & Applications

Techniques & Applications
Some Techniques:
Some Applications:
•Image filtering: correction and
adjusting, special effect creation
•Computer vision, video-surveillance
•Image binarization (conversion to
b & w)
•Noise reduction and removal
•Feature detection, face detection
•Image Segmentation
•Medical including microscope 3D
image processing
•Morphological processing of image
•Hyperspectral 3D Images
Emboss
Transform
Dot filters
2
Matrix filters
Medical
Medical image
image processing:
processing: filtering;
filtering; binarization;
binarization;
morphological
morphological processing.
processing.

3. Как получается цветное цифровое изображение в видео-регистрации

Свет, падая на светочувствительный элемент матрицы ПЗС (прибор с
зарядовой связью, CCD-Charge-Coupled Device), преобразуется в
электрические сигналы, зависящие от интенсивности света проблема
воссоздания цвета!
Сигналы оцифровываются, превращаются в массив чисел
y f (x)
x
x – характеристика яркости света
y – яркость пиксела изображения
Пример субпиксела
3 — R-красный светофильтр
субпикселя, фрагмент фильтра
Байера;
3
Lobachevsky State University of Nizhni Novgorod
13.04.2025

4. Обработка изображений (IP)

Функция интенсивности (яркости) канала изображения:
I g ( x, y), {x [ x0 , x1 ], y [ y0 , y1 ]}
В компьютере используется ее дискретное представление:
I g (i, j),{i 1, n, j 1, m}
IP: Семейство методов и задач, где входной и выходной
информацией являются изображения.
Примеры :
Устранение шума в изображениях
Улучшение качества изображения
Усиления полезной и подавления нежелательной (в контексте конкретной
задачи) информации
Сегментация/Классификация? – попытки распознавания фрагментов
4
Lobachevsky State University of Nizhni Novgorod
13.04.2025

5. Причины потери качества изображения

Ограниченный диапазона чувствительности ПЗС-матрицы
“Плохая” функция передачи ПЗС-матрицы
“Плохая” освещенность
5
Lobachevsky State University of Nizhni Novgorod
13.04.2025

6. Что такое гистограмма

Гистограмма – это график распределения интенсивности в изображении.
На горизонтальной оси - шкала яркостей тонов от белого до черного,
на вертикальной оси - число пикселей заданной яркости.
0
255
0
255
Вопрос: Сколько бинов на горизонтальной оси гистограммы?
6
Lobachevsky State University of Nizhni Novgorod
13.04.2025

7. Точечные фильтры. Коррекция яркости/контраста изображения.

Что может не устраивать в полученном изображении:
• Узкий или смещенный диапазон яркостей
(узкий диапазон - тусклое изображение “underexposed”, «пересвеченное |
overexposed» изображение)
• Концентрация яркостей вокруг определенных значений,
неравномерное заполнение диапазона яркостей
Коррекция - к изображению применяется преобразование
яркостей, компенсирующее нежелательный эффект:
f 1 ( y) x
y – яркость пиксела на исходном изображении,
x – яркость пиксела после коррекции.
7
Lobachevsky State University of Nizhni Novgorod
13.04.2025

8. Линейная коррекция

Компенсация узкого диапазона яркостей – линейное растяжение:
f 1 ( y ) ( y ymin ) *
(255 0)
( ymax ymin )
График функции f -1(y)
8
Lobachevsky State University of Nizhni Novgorod
13.04.2025

9. Линейная коррекция. Результат

Компенсация узкого диапазона яркостей – линейное растяжение:
9
Lobachevsky State University of Nizhni Novgorod
13.04.2025

10. Линейная коррекция. Пример

Линейное растяжение – «как AutoContrast в Photoshop»
10
Lobachevsky State University of Nizhni Novgorod
13.04.2025

11. Линейная коррекция не всегда успешна

Линейная коррекция не помогает, если в изображении
уже представлены все интенсивности!
11
Lobachevsky State University of Nizhni Novgorod
13.04.2025

12. Нелинейная коррекция

Нелинейная компенсация недостаточной контрастности
Часто применяемые функции:
• Гамма-коррекция
• Изначальная цель – коррекция для правильного
отображения на мониторе.
y c x
• Логарифмическая
• Цель – сжатие динамического диапазона при визуализации
данных (связано с отображением HDR на обычные диапазон)
y c log( 1 x)
12
Lobachevsky State University of Nizhni Novgorod
13.04.2025

13. Гамма-коррекция

Гамма-коррекция (коррекция яркости монитора изменением
напряжения).
y c x
Так называют преобразование вида:
Возможный график
функции f -1(y)
>1
<1
Графики функции f -1(y)
13
Lobachevsky State University of Nizhni Novgorod
13.04.2025

14. Нелинейная коррекция. Пример

График функции
f -1(y)
Растянуты вдвое
низкие и сжаты
высокие
интенсивности
14
Lobachevsky State University of Nizhni Novgorod
13.04.2025

15. Разд. 2. "Цветовая коррекция изображений". План

Разд. 2. "Цветовая коррекция
изображений". План
Введение
1. Серый мир
Изменение цветового баланса
2. Коррекция "autolevels"
3. Коррекция с опорным цветом
Компенсация:
Неверного цветовосприятия
камеры
Цветного освещения
4. Идеальный отражатель
5. Статистическая цветокоррекция
15
Lobachevsky State University of Nizhni Novgorod
13.04.2025

16. Гипотеза «Серый мир»

Предположение:
Сумма всех цветов на изображении естественной сцены дает серый цвет;
Метод:
Посчитать средние яркости по всем каналам:
R
1
1
1
R G B
R
(
x
,
y
)
;
G
G
(
x
,
y
)
;
B
B
(
x
,
y
)
;
Avg
;
N
N
N
3
Масштабировать яркости пикселей по следующим коэффициентам:
R R
16
Avg
Avg
Avg
; G G
; B B
;
R
G
B
Lobachevsky State University of Nizhni Novgorod
13.04.2025

17. «Серый мир» - пример 1

17
Lobachevsky State University of Nizhni Novgorod
13.04.2025

18. «Серый мир» - пример 2

18
Lobachevsky State University of Nizhni Novgorod
13.04.2025

19. «Серый мир» - пример 3

Один источник
света слева
Один источник
света спереди
Два источника
света: слева и
спереди
19
Lobachevsky State University of Nizhni Novgorod
13.04.2025

20. Цветовая коррекция изображений

Растяжение контрастности (“autolevels”)
Идея – растянуть интенсивности по каждому из каналов на весь диапазон;
Метод:
Найти минимум, максимум по каждому из каналов:
Rmin , Rmax , Gmin , Gmax , Bmin , Bmax
Преобразовать интенсивности:
( R Rmin ) *
(255 0)
(255 0)
; (G Gmin ) *
;
( Rmax Rmin )
(Gmax Gmin )
( B Bmin ) *
(255 0)
;
( Bmax Bmin )
20
Lobachevsky State University of Nizhni Novgorod
13.04.2025

21. Растяжение контрастности (“autolevels”)

Эффект изменения цветовой
гаммы изображения
21
Lobachevsky State University of Nizhni Novgorod
Серый мир
13.04.2025

22. Коррекция с опорным цветом

Предположение
Пользователь указывает пиксел, цвет которого Rsrc, Gsrc, Bsrc, >0, но для которого
известен правильный (целевой) цвет Rdst, Gdst, Bdst >0.
Пользователь указывает целевой цвет вручную;
Источники для указания целевого цвета:
Знание реального цвета
Хорошая фотография этой же сцены
Метод
Преобразовать по каждому из каналов цвета по формуле:
R*
22
Rdst
;
Rsrc
G*
Gdst
;
Gsrc
B*
Bdst
;
Bsrc
Lobachevsky State University of Nizhni Novgorod
13.04.2025

23. Растяжение контрастности всех каналов (“autolevels”)

Авто
23
Lobachevsky State University of Nizhni Novgorod
По белому
13.04.2025

24. Коррекция с опорным цветом. Примеры

Коррекция по серому
24
Lobachevsky State University of Nizhni Novgorod
13.04.2025

25. Гипотеза «Идеальный отражатель»

Предположение:
Наиболее яркие области изображения относятся к бликам на поверхностях,
модель отражения которых такова, что цвет блика = цвету освещения;
(дихроматическая модель)
Метод
Обнаружить максимумы по каждому из каналов:
Rmax , Gmax , Bmax
Масштабировать яркости пикселей:
R*
25
255
;
Rmax
B*
255
;
Bmax
G*
255
;
Gmax
Lobachevsky State University of Nizhni Novgorod
13.04.2025

26. Статистическая цветокоррекция

исходное (s)
целевое (t)
Пример 1:
Пример 2:
Алгоритм состоит в том, что к каждому каналу каждого пиксела целевого изображения
применяется следующее преобразование:
Ctnew Es (Ct Et ) s
t
где E, – матожидание и среднеквадратическое отклонение исходного (s) и целевого (t)
изображения; Сt – цвет целевого изображения. Лучше сделать в L*a*b*.
26
Lobachevsky State University of Nizhni Novgorod
13.04.2025

27. Устранение шума в бинарных изображениях.

Матричные фильтры.
Операции математической морфологии
в подавлении шума
27
Lobachevsky State University of Nizhni Novgorod
13.04.2025
23:29

28. Как выполнить фильтрацию на краях изображения?

Ситуация, когда окно матричного фильтра выходит за границы
изображения.
Необходимо экстраполировать изображение.
Возможные варианты экстраполяции:
1)
copy edge –
2)
clip filter –
3)
wrap around –
4)
reflect across edge –
5)
линейная экстраполяция за границу –
Какой вариант лучше?
28
Lobachevsky State University of Nizhni Novgorod
13.04.2025
23:29

29. Как выполнить фильтрацию на краях изображения?

Ситуация, когда окно фильтра выходит за границы изображения.
Необходимо экстраполировать изображение.
Возможные варианты экстраполяции:
1)
clip filter – прекращает действие фильтра за границей (black),
возможны существенные искажения
2) copy edge – наиболее популярен, но точность оценки
производной - 1-го порядка малости (хуже 2-го порядка)
3)
reflect across edge – в среднем хуже, чем 1)
4)
wrap around – круговое замыкание изображения – дает
искажения, если не соответствует реальности
5) линейная экстраполяция за границу – наименьшие
искажения, но практически не применяется из-за
необходимости дополнительных вычислений
29
Lobachevsky State University of Nizhni Novgorod
13.04.2025
23:29

30. Разд.3. "Борьба с шумом"

Разд.3. "Борьба с шумом"
1.
Шум в бинарных изображениях
2.
Операции матморфологии. Расширение.
Сужение.
3.
Операции закрытия и раскрытия.
4.
Примеры
30
Lobachevsky State University of Nizhni Novgorod
13.04.2025

31. Шум в бинарных изображениях

Бинарное изображение – изображение, пиксели
которого принимают всего два значения (0 и 1).
Пример бинарного изображения с сильным
шумом:
31
Lobachevsky State University of Nizhni Novgorod
13.04.2025

32. Подавление и устранение шума

Устранение шума в бинарных изображениях
Широко известный способ - устранение шума с
помощью операций математической
морфологии:
Расширение (dilation)
Сужение (erosion)
Закрытие (closing)
Раскрытие (opening)
32
Lobachevsky State University of Nizhni Novgorod
13.04.2025

33. Операции матморфологии. Расширение

Расширение (dilation)
A (+) B = {t R2: t = a + b, a A, b B}
A (+) B
B
Множество A обычно является объектом обработки, а множество
B (называемое структурным элементом) – инструментом.
33
Lobachevsky State University of Nizhni Novgorod
13.04.2025

34. Операции матморфологии. Сужение

Сужение (erosion)
A (-) B = (AC (+) B)С, где AC – дополнение A
B (-) A = (BC (+) A)С
A
AC
B
34

Lobachevsky State University of Nizhni Novgorod
A(-)B
13.04.2025

35. Свойства операции Dilation

Коммутативность (Commutativity):
A B B A
Означает, что изображение и инструмент могут поменяться
ролями
Ассоциативность (Associativity):
I1 ( I 2 I 3 ) ( I1 I 2 ) I 3
Означает, что иногда мы можем разбить большой инструмент на
совокупность маленьких:
Если справедливо I1 ( I 2 I 3 ) ( I1 I 2 ) I 3
То, большой структурный элемент B
B H1 H 2 ... H n
может быть выполнен как:
A B (...(( A H1 ) H 2 ) ... H n )
35
Lobachevsky State University of Nizhni Novgorod
13.04.202
5

36. Свойства Erosion

Операция не коммутативна:
I ( ) H H ( ) I
Операция не ассоциативна, однако справедливо следующее
равенство:
( I ( ) H1 )( ) H 2 I ( )( H1 H 2 )
которое позволяет заменить последовательность сужений
несколькими инструментами на сужение одним интегральным
(первым, расширенным всеми остальными).
36
Lobachevsky State University of Nizhni Novgorod
13.04.202
5

37. Дискретные операции морфологии. Расширение

A
37
B
Lobachevsky State University of Nizhni Novgorod
A(+)B
13.04.2025

38. Дискретные операции морфологии. Сужение

A
38
B
Lobachevsky State University of Nizhni Novgorod
A(-)B
13.04.2025

39. Алгоритм морфологического расширения

void Dilation(BIT* source[ ], bool* mask[ ], BIT* result[ ])
{
// Width, Height – размеры исходного и результирующего изображений
// MW, MH – размеры структурного множества
for(y = MH/2; y < Height – MH/2; y++)
for(x = MW/2; x < Width – 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]) && (source[x + i][y + j] > max))
{
max = source[x + i][y + j];
}
result[x][y] = max;
}
}
result[x][y] = max из пикселей, покрываемых маской
39
Lobachevsky State University of Nizhni Novgorod
13.04.2025

40. Алгоритм морфологического сужения

void Erosion(BIT* source[ ], bool* mask[ ], BIT* result[ ])
{
// Width, Height – размеры исходного и результирующего изображений
// MW, MH – размеры структурного множества
for(y = MH/2; y < Height – MH/2; y++)
for(x = MW/2; x < Width – 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]) && (source[x + i][y + j] < min))
{
min = source[x + i][y + j];
}
result[x][y] = min;
}
}
result[x][y] = min из пикселей, покрываемых маской
40
Lobachevsky State University of Nizhni Novgorod
13.04.2025

41. Операции открытия и закрытия

Морфологическое открытие (opening)
open(A, B) = (A (-) B) (+) B
Морфологическое закрытие (closing)
close(A, B) = (A (+) B) (-) B
41
Lobachevsky State University of Nizhni Novgorod
13.04.2025

42. Operations of opening and closing

Morphological closing
close (A, B) = (A (+) B) (-) B=A ● B
Closing Properties:
•Closing is idempotent (при повторном
применении операции - тот же результат, что
и при первом), that is, (A●B)●B = A●B.
•Closing is increasing, that is, if A C,
then A●B C●B.
•Closing is extensive, i.e., A A●B.
•Closing is translation invariant.
The closing of the dark-blue shape by a
disk, resulting in the union of the darkblue shape and the light-blue areas
(Wikipedia)
Closing удаляет небольшие дыры на переднем плане (шум, потерянные или
желаемые к заполнению) объекты с переднего плана (обычно это темные объекты
или отдельные пиксели) изображения, помещая их из фона на передний план.
42/53

43. Operations of opening and closing

Morphological opening
open (A, B) = (A (-) B) (+) B
Opening Properties:
•Opening is idempotent, that is, (A○B)○B=A○B.
•Opening is increasing, that is, if A C, then A○B C○B.
•Opening is anti-extensive, i.e., A○B A.
•Opening is translation invariant.
•Opening and closing satisfy the duality A●B= (AC○BC)C, where
denotes closing.
B заметает внутреннюю часть границы A, не выходя за границу А.
Opening удаляет мелкие (шумные, лишние или нежелательные)
объекты с переднего плана (обычно это яркие объекты или
отдельные пиксели) изображения, помещая их на задний план.
Opening можно использовать для поиска вещей, в которые
может/не может поместиться конкретный структурный элемент
(края, углы, ...).
See also: https://en.wikipedia.org/wiki/Mathematical_morphology
43/53
The opening of the darkblue square by a disk,
resulting in the light-blue
square with round
corners (Wikipedia)

44. Замечание

Результат морфологических операций во многом
определяется применяемым структурным элементом
(множеством B). Выбирая различный структурный
элемент можно решать разные задачи обработки
изображений:
Шумоподавление
Выделение границ объекта
Выделение скелета объекта
Выделение дефектов
регулярных структур (напр.,
сломанных зубьев на
изображении шестерни)
44
Lobachevsky State University of Nizhni Novgorod
13.04.2025

45. Применения сужения к бинарному изображению с сильным шумом

Сужение позволяет подавлять «белый» шум фона с потерями для площади объекта
0 1 0
1 [1] 1
0 1 0
45
1 1 1
1 [1] 1
1 1 1
Lobachevsky State University of Nizhni Novgorod
0
0
1
1
1
0
0
0 1
1 1
1 1
1 1
1 1
1 1
0 1
1 0 0
1 1 1 0
1 1 1 1
[1] 1 1 1
1 1 1 1
1 1 1 0
1 1 0 0
1
13.04.2025

46. Применения открытия (A(-)B)(+)B к бинарному изображению с сильным шумом

Открытие позволяет подавлять «белый» шум фона, если объекты без шума
0 1 0
1 1 1
0 1 0
46
1 1 1
1 1 1
1 1 1
Lobachevsky State University of Nizhni Novgorod
0
0
1
1
1
0
0
0 1 1 1 0 0
1 1 1 1 1 0
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 0
0 1 1 1 0 0
13.04.2025

47. Шум в бинарных изображениях с дефектами объектов. Пример.

Пример бинарного изображению с дефектами
распознаваемых объектов
47
Lobachevsky State University of Nizhni Novgorod
13.04.2025

48. Применения закрытия (A(+)B)(-)B к бинарному изображению с дефектами объектов

Закрытие позволяет подавлять «черный» шум на объектах, если фон без шума
0 1 0
1 1 1
0 1 0
48
1 1 1
1 1 1
1 1 1
Lobachevsky State University of Nizhni Novgorod
0
0
1
1
1
0
0
0 1 1 1 0 0
1 1 1 1 1 0
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 0
0 1 1 1 0 0
13.04.2025

49. Применение операции открытия (A(-)B)(+)B

Объекты полностью разрушены
0 1 0
1 1 1
0 1 0
49
1 1 1
1 1 1
1 1 1
Lobachevsky State University of Nizhni Novgorod
0
0
1
1
1
0
0
0 1 1 1 0 0
1 1 1 1 1 0
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 0
0 1 1 1 0 0
13.04.2025

50. Свойства морфологических операций

образ
Erosion I(-)B
Dilatation I B
Структурный
элемент
0 1 0
1 1 1
0 1 0
Opening I◦B=(I(-)B)(+)B
Grad(I)= (I(+)B)-(I(-)B)
50
Closing I•B= (I(+)B)(-)B
Top Hat (I)=I-(I•B)
Black Hat (I)=(I◦B)-I
Lobachevsky State University of Nizhni Novgorod
13.04.2025

51. Свойства операций открытия и закрытия

Примеры применения Opening и Closing в регистрации клеток мозга
Примеры определения границы клеток (слева направо): исходное изображение клеток; найденные границы;
регион, заполненный по найденным границам; заполненный регион после применения операции
морфологического открытия
51
Lobachevsky State University of Nizhni Novgorod
13.04.2025

52. Шум «соль и перец» - не лучший пример для морфологии

Не во всех случаях математическая морфология так
легко убирает дефекты, как хотелось бы…
Шум «соль и перец»
52
Lobachevsky State University of Nizhni Novgorod
13.04.2025

53. Источники

Gonzalez, R. C. and Woods, R. E. [2018]. Digital Image Processing, 4rd ed., Prentice Hall,
(Image Processing techniques using OpenCV and Python)
https://dl.icdst.org/pdfs/files4/01c56e081202b62bd7d3b4f8545775fb.pdf
William K. Pratt. Digital Image Processing. Digital Image Processing: PIKS Inside, Third Edition.
Copyright © 2001 John Wiley & Sons, Inc. 0-471-22132-5 (Electronic) (exist a colored one)
https://nana.lecturer.pens.ac.id/index_files/referensi/image_processing/Digital%20Image%20Proces
sing.pdf
Gary Bradski and Adrian Kaehler. Learning OpenCV/ Published by O’Reilly Media, Inc., 2008. 577pp.
Ватолин Д.С. Сжатие изображений. :Изд. МГУ, 1999. -76с. (local)
Open Source Computer Vision Library. Reference Manual. Copyright © 1999-2001 Intel
Corporation. Issued in U.S.A. Order Number: 123456-001 (http://developer.intel.com)
Рекомендации для начинающих пользователей: Programming with intel IPP (integrated
performance primitives) and intel OpenCV (open computer vision) under gnu linux: a beginner's
tutorial.( j.Landre@iutlecreusot.u-bourgogne.fr)
Intel® OPEN SOURCE COMPUTER VISION LIBRARY
Image Analysis Cookbook 6.0. http://www.reindeergraphics.com/foveaprotutorial.html
OpenCV
_ Open Computer Vision (OpenCV) sources, download site http://sourceforge.net/projects/opencvlibrary
53
Lobachevsky State University of Nizhni Novgorod
13.04.2025
English     Русский Правила