Обработка изображений1.ppt
- Количество слайдов: 23
Морфологические операции с изображением К операциям математической морфологии относятся следующие: n Расширение (dilation) n Сужение (erosion) n Закрытие (closing) n Раскрытие (opening) Как правило они применяются для устранения шума на бинарных изображениях, нахождения на изображении объектов известной формы и для сегментации. Расширение. Для непрерывных функций эта операция определяется как A (+) B = {t R 2: t = a + b, a A, b B} A (+) B B
Морфологические операции с изображением Сужение A (-) B = (AC (+) B)С, где AC – дополнение A A B A(-)B
Морфологические операции с изображением Свойства морфологических операций Коммутативный закон • A (+) B = B (+) A • A (-) B != B (-) A Ассоциативный закон • A (+) (B (+) C) = (A (+) B) (+) C • A (-) (B (-) C) = (A (-) B) (-) C На изображениях используют дискретные операции морфологии A B A(+)B
Морфологические операции с изображением Для дискретных изображений морфологические операции основываются на масках называемых структурными элементами. В результате применения любой морфологической операции к исходному изображению результирующее изображение имеет тот же самый размер, что и исходное. При морфологических операциях значение пикселя выходного изображения вычисляется в зависимости от значений пикселей его соседей, задаваемых маской. Задавая размер и содержание маски (форму структурного элемента) можно сконструировать морфологическую операцию чувствительную к определенным формам на исходном изображении. Алгоритм дискретного расширения (dilation) • Просматривается каждый пиксель исходного изображения • В качестве выходного значения пикселя выбирается максимальное значение среди соседних с ним пикселей, задаваемых маской. Для бинарных изображений – если любой из соседних пикселей равен 1, то выходной пиксель устанавливается в 1. Алгоритм дискретного сужения (erosion) • Просматривается каждый пиксель исходного изображения • В качестве выходного значения пикселя выбирается минимальное значение среди соседних с ним пикселей, задаваемых маской. Для бинарных изображений – если любой из соседних пикселей равен 0, то выходной пиксель устанавливается в 0.
Морфологические операции с изображением Маска 1 16 14 14 17 16 53 67 51 62 67 126 128 127 123 Входное изображение фрагмент 16 Расширенное изображение 128 14 51 126 14 Суженное изображение Правило на краях: Расширение – значение пикселей вне границ считается минимально возможным. Сужение – значение пикселей вне границ считается максимально возможным.
Морфологические операции с изображением Маски можно задавать любые, исходя из того что, хотим обнаружить 0 0 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Морфологические операции с изображением 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; } } }
Морфологические операции с изображением • Пример сужения бинарного изображения с разными масками 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1
Морфологические операции с изображением • Пример расширения бинарного изображения с разными масками 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1
Морфологические операции с изображением Подавление шумов бинарного изображения при помощи сужения
Морфологические операции с изображением n n Комбинации расширения и сужения Раскрытие (opening) – это комбинация выполненных по порядку сужения и затем расширение изображения с той же маской. Закрытие (closing) – это комбинация выполненных по порядку расширения и затем сужения изображения с той же маской. Пример раскрытия бинарного изображения с единичной маской 40 x 30 Исходное сужение расширение
Морфологические операции с изображением Пример закрытия бинарного изображения с единичной маской 40 x 30 Исходное расширение сужение Результат закрытия
Морфологические операции с изображением Оконтуривание бинарных изображений Пиксель принадлежит контуру если – Его значение равно 1 и один или несколько его соседей равны 0. В терминах морфологических операций это можно записать как Внутреннее оконтуривание – CI = A – (A (-) B) Внешнее оконтуривание – CO = (A (+) B) – A
Морфологические операции с изображением Выделение связных областей Определение связной области: Множество пикселей, у каждого пикселя которого есть хотя бы один сосед, принадлежащий данному множеству. Маски связности: 4 -связность 8 -связность 0 При 4 -связности Имеется один фоновый объект 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 При 8 -связности Имеется два фоновых объекта
Морфологические операции с изображением Разметка связных областей. Заключается в нахождении пикселей, относящихся к связным областям и маркировании их номером выделенных связных областей 2 2 2 5 6 6 6 Бинарное изображение 1 1 3 4 4 4 7 Размеченное изображение
Морфологические операции с изображением Рекурсивная разметка связных областей void Labeling(BIT* img[], int* labels[]) { // labels должна быть обнулена L = 1; for(y = 0; y < H; y++) for(x = 0; x < W; x++) { Fill(img, labels, x, y, L++); } } void Fill(BIT* img[], int* labels[], int x, int y, int L) { if( (labels[x][y] = = 0) && (img[x][y] = = 1) ) { labels[x][y] = L; if( x > 0 ) Fill(img, labels, x – 1, y, L); if( x < W - 1 ) Fill(img, labels, x + 1, y, L); if( y > 0 ) Fill(img, labels, x, y - 1, L); if( y < H - 1 ) Fill(img, labels, x, y + 1, L); } }
Морфологические операции с изображением Разметка связных областей путем последовательного сканирования Последовательно, сканируем бинарное изображение сверху вниз, слева направо: if A = O do nothing else if (not B labeled) and (not C labeled) increment label numbering and label A else if B xor C labeled copy label to A else if B and C labeled if B label = C label copy label to A else copy either B label or C label to A record equivalence of labels
Морфологические операции с изображением При разметке возможны конфликты
Морфологические операции с изображением Анализ формы связных областей Для каждой области можно подсчитать некий набор простейших числовых характеристик: • Площадь • Периметр • Компактность • Ориентацию главной оси инерции • Удлиненность (эксцентриситет) На основе этих характеристик можно классифицировать получаемые области. Площадь – количество пикселей в области; Периметр – количество пикселей принадлежащих границе области; Компактность – отношение квадрата периметра к площади; Наиболее компактная фигура – круг, .
Морфологические операции с изображением Нахождение периметра 1. Пиксель лежит на границе области, если он сам принадлежит области и хотя бы один из его соседей области не принадлежит. (внутренняя граница) 2. Пиксель лежит на границе области, если он сам не принадлежит области и хотя бы один из его соседей области принадлежит. (внешняя граница) Периметр зависит также от того 4 -х или 8 -ми связность используется для определения соседей. Внутренняя граница Внешняя граница
Морфологические операции с изображением Статистические моменты области Дискретный центральный момент mij области определяется следующим образом: n – общее количество пикселей в области
Морфологические операции с изображением Инвариантные характеристики Для распознавания нас интересуют характеристики инвариантные по отношению к масштабированию, переносу, повороту: n Удлиненность, нецентрированность (эксцентриситет) n Компактность Ориентация главной оси инерции - не является инвариантной к повороту, но в ряде случаев предоставляет полезную информацию об ориентации объекта:
Морфологические операции с изображением Другие инвариантные характеристики области представляют собой сконструированные зависимости от моментов
Обработка изображений1.ppt