Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гришкин / 25. Обработка изображений1.ppt
Скачиваний:
34
Добавлен:
16.04.2015
Размер:
409.09 Кб
Скачать

Морфологические операции с изображением

К операциям математической морфологии относятся следующие:

Расширение (dilation)

Сужение (erosion)

Закрытие (closing)

Раскрытие (opening)

Как правило они применяются для устранения шума на бинарных изображениях, нахождения на изображении объектов известной формы и для сегментации.

Расширение. Для непрерывных функций эта операция определяется как

A (+) B = {t R2: 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

1

1

 

16

14

14

17

53

67

51

62

126

128

127

123

Входное изображение фрагмент

16

16

Расширенное

67

 

 

изображение

128

 

 

14 14

51

Суженное

изображение

126

 

Правило на краях:

Расширение – значение пикселей вне границ считается минимально возможным. Сужение – значение пикселей вне границ считается максимально возможным.

Морфологические операции с изображением

Маски можно задавать любые, исходя из того что, хотим обнаружить

0

0

0

1

0

0

0

 

 

 

 

 

 

0

0

1

1

1

0

0

 

 

 

 

 

 

0

1

1

1

1

1

0

 

 

 

 

 

 

1

1

1

1

1

1

1

 

 

 

 

 

 

0

1

1

1

1

1

0

 

 

 

 

 

 

0

0

1

1

1

0

0

 

 

 

 

 

 

0

0

0

1

0

0

0

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

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

1

1

1

1

1

1

1

1

1

 

 

 

 

 

1

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

1

1

1

0

0

0

1

0

0

1

1

1

1

1

0

0

0

1

0

0

1

1

1

0

0

0

0

0

1

0

0

1

0

0

 

 

 

 

 

Морфологические операции с изображением

Пример расширения бинарного изображения с разными масками

1

1

1

1

1

1

1

1

1

1

1

1

 

 

 

 

 

1

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

1

1

1

0

0

0

1

0

0

1

1

1

1

1

0

0

0

1

0

0

1

1

1

0

0

0

0

0

1

0

0

1

0

0

 

 

 

 

 

Морфологические операции с изображением

Подавление шумов бинарного изображения при помощи сужения

 

 

 

 

 

 

0

0

1

1

1

0

0

 

0

1 0

 

1 1

1

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

0

1 0

1 1

1

 

1

1

1

1

1 1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

1

1

 

 

 

 

 

 

 

0

0

 

 

 

 

 

 

 

 

0

1

1

1

0

 

 

 

 

 

 

 

 

0

0