СПОСОБ ПОМЕХОУСТОЙЧИВОГО ГРАДИЕНТНОГО ВЫДЕЛЕНИЯ КОНТУРОВ ОБЪЕКТОВ НА ЦИФРОВЫХ ИЗОБРАЖЕНИЯХ
METHOD OF NOISE-IMMUNE GRADIENT DETECTION OF CONTOURS OF OBJECTS ON DIGITAL IMAGES

Изобретение относится к области цифровой обработки изображений и может быть использовано в фото, видео, оптико-локационной и оптико-электронной технике при решении задач распознавания образов по их контурам на регистрируемых цифровых изображениях.
В настоящее время известны несколько способов выделения контуров объектов с целью их последующего распознавания на цифровых полутоновых изображениях [1-4].
Большинство способов обработки изображений для выделения контуров основаны на вычислении модуля градиента на всей площади цифрового изображения по приближениям первой производной - локальным конечным разностям [1-4]. При этом приближенные компоненты градиента вычисляют с использованием скользящего окна (маски), перемещающегося по всему изображению и имеющему размеры, как правило, 3×3 пикселя. При этом пиксели изображения, попадающие в данную маску, подвергают вначале перемножению с соответствующими коэффициентами маски, а затем суммируют [1-4]. Коэффициенты маски подбирают таким образом, чтобы выходной сигнал оператора обработки реагировал (давал максимум) на перепады яркости изображения, и не реагировал на монотонные участки (имел нуль). В настоящее время известно [1-4] несколько типов масок: Робертса, Превитта, Собела, Кирша и др. При этом каждый тип маски характеризуется своими особенностями. Так например, маска Превитта является более удобной маски Робертса (размером 2×2 элемента), маска Собела позволяет придать больший вес центральным конечным разностям [1]. Недостатками градиентных способов выделения контуров изображений [1-4] является достаточно сильная их чувствительность к помехам, относящимся к классу импульсных [5-7], возникающих вследствие многих явлений при цифровом преобразовании и передаче изображений (пораженные пиксели).
К другим способам выделения контуров объектов на изображениях относятся способы, основанные на вычислении приближений вторых производных - операторы типа «лапласиан гауссиана», или операторы, использующие разновидности масок Лапласа [1-3]. Известна также корреляционная маска [3], коэффициенты которой пропорциональны соответствующим коэффициентам корреляции элементов изображения. В случае, когда корреляция между элементами изображения отсутствует, маска не оказывает влияния на изображение, в противоположном случае коэффициент корреляции равен единице, данная маска сводится к маске Лапласа [3]. Данные способы благодаря пересечению нулевого уровня прямой, соединяющей разнозначные вторые производные, позволяют получить более точное положение контура, но являются более чувствительными к различным помехам, в том числе и импульсным, чем градиентные, а также имеют недостаток, связанный с обнаружением многочисленных ложных замкнутых кривых [1].
К другим способам выделения контуров объектов на изображениях, более далеким от заявляемого способа, относятся способы аппроксимации перепадов яркости [3] и статистические способы [3], также являющиеся чувствительными к наличию на матрице цифрового изображения импульсных помех.
Наиболее близким по технической сущности к заявляемому способу является способ градиентного выделения контуров объектов на изображениях с использованием маски Превитта [1, 2] размером 3×3 пикселя.
Рассмотрим данный способ.
Цифровое полутоновое изображение, регистрируемое оптико-электронными сенсорами, является дискретным по пространству и квантованным по уровню, поэтому описывается выражением [1, 2]:
где А - матрица полутонового изображения;
i,j
a - элементы матрицы изображения;
i - номер строки матрицы;
j - номер столбца;
m - число строк матрицы;
n - число ее столбцов.
i,j
i,j
i,j
N
Элементы a (1) могут принимать квантованные значения, соответствующие их яркости, на интервале , где N - степень квантования изображений. Как правило, для полутоновых изображений используется 8-битное квантование, т.е. 255 градаций яркости (W=8). Примем, что а=0 соответствует абсолютно черному цвету на изображении, а а=(2-1)=255 - абсолютно белому.
На первом этапе вычисляют четыре матрицы: G1, G2, G3 и G4, имеющие тот же размер, что и А (m×n), элементы которых представляют собой соответственно вертикальные, горизонтальные и две взаимно противоположные диагональные составляющие компонент градиента [1, 2] (для сохранения инвариантности оператора обработки к пространственной ориентации сигнального перепада). При этом элементы матрицы G1 находят по формулам [1, 2]:
i,j
где g1 - элементы матрицы G1, представляющие собой вертикальные составляющие компонент градиента матрицы А (т.е. при движении по вертикали по матрице А);
s,q=(-1,0,1) - индексы коэффициентов маски, определяющие ее размеры (3×3 в данном случае);
s,q
w1 - коэффициенты маски Превитта, имеющей вид [1, 2]
i,j
i,j
s,q
Поскольку эта маска имеет нулевую центральную строку (горизонтальную ось), назовем ее горизонтальной. Таким образом, выражение (2) говорит о том, что вычисляемые элементы g1. матрицы G1 определяются как сумма произведений значений a на соответствующие коэффициенты w1 маски W1, перемещающейся построчно слева направо от верхнего левого пикселя матрицы А до нижнего правого (масочная обработка) [1-3].
Далее путем аналогичной масочной обработки А находят элементы матрицы G2 (горизонтальные составляющие компонент градиента матрицы А) [1, 2]:
i,j
где g2 - элементы матрицы G2;
s,q
w2 - коэффициенты маски Превитта, имеющей вид [1, 2]
Поскольку эта маска имеет нулевой центральный столбец (вертикальную ось), назовем ее вертикальной.
Аналогичным путем находят элементы матрицы G3 (диагональные составляющие компонент градиента матрицы А) [1, 2]:
i,j
где g3 - элементы матрицы G3, представляющие собой диагональные (вдоль побочной диагонали матрицы А) составляющие компонент градиента матрицы А;
s,q
w3 - коэффициенты маски Превитта, у которой нулевой является главная диагональ
Поскольку эта маска имеет нулевую главную диагональ (ось), назовем ее главно-диагональной маской.
Также находят элементы матрицы G4 (противоположные диагональные составляющие компонент градиента матрицы А) [1, 2]:
i,j
где g4 - элементы матрицы G4, представляющие собой диагональные (вдоль главной диагонали) составляющие компонент градиента матрицы А;
s,q
w4 - коэффициенты маски Превитта, у которой нулевой является побочная диагональ
Поскольку эта маска имеет нулевую побочную диагональ (ось), назовем ее побочно-диагональной маской.
Таким образом, с использованием разноориентированных на изображении А масок W1, W2, W3 и W4 находятся четыре компоненты (2)-(5) градиента.
На втором этапе вычисляют матрицу VG, элементы которой представляют собой единицы в случае, если модуль градиента превышает порог (указывающие на то, что элементы матрицы А с этими координатами i, j представляют собой пиксели, принадлежащие контурам) и нули в противном случае (указывающие на отсутствие элемента контура) [1, 2]:
где P - величина порога, устанавливаемая экспериментальным путем, как правило, на уровне 100…250 для полутоновых изображений со степенью квантования N=8 (1).
На третьем этапе, в целях визуализации результата выделения контура, осуществляют выделение на абсолютно белой матрице абсолютно черных точек, с координатами, в которых элементы  (6) равны единице:
i,j
где b - элементы матрицы В, являющейся матрицей визуального отображения результата выделения контура.
Таким образом, на основе матрицы регистрируемого изображения А с использованием совокупности операций (1)-(7) получают матрицу В, содержащую контуры объектов и другие перепады яркости.
В случае, когда нет необходимости визуализировать результат выделения контуров (например, при непосредственном распознавании объектов по контурам), операцию (7) не осуществляют. В случае, когда, наоборот, распознавание не используется, визуализацию осуществляют на этапе (6), т.е. операция (6) примет вид:
Необходимо отметить, что в случаях, когда обработке подвергают первые и/или последние элементы строк и/или столбцов, маска оператора выходит за пределы матрицы изображения (краевой эффект) [1-3]. Из техники цифровой обработки изображений известно несколько способов преодоления данного эффекта [1-3, 5-7], к которым относятся уменьшение числа элементов маски, выходящих за пределы изображения, добавление дополнительных строк и столбцов матрицы изображения
(i=-1, m+1, j=-1, n+1) и т.д. Все эти способы технически несложно реализуемы [1-3, 5-7]. Положим, что при выполнении операций (1)-(7) компенсацию краевых эффектов осуществляют путем уменьшения числа элементов маски, выходящих за пределы изображения [1, 2, 6].
Рассмотренный известный способ (1)-(7) более предпочтителен на практике, поскольку является менее чувствительным к различным помехам и не приводит к обнаружению ложных замкнутых линий в отличие от способов на основе вторых производных [1-3], а также не требующим априорного знания параметров довольно сложных математических моделей и больших вычислительных затрат в отличие от способов аппроксимации перепадов яркости [3] и статистических способов [3].
Между тем, рассмотренный градиентный способ (1)-(7) [1, 2] имеет недостаток, связанный с чувствительностью к импульсным помехам (неустойчивость к импульсным помехам), которые наиболее распространены в системах с цифровой передачей и преобразованием изображений [5-7]. Так, на фиг.1, в качестве примера приведено тестовое цифровое полутоновое изображение с образами букв и цифр (матрица А, m×n=300×300, N=8), а на фиг.2 - результат выделения на А контуров по известному способу (1)-(7) (матрица В). На фиг.3 приведено тестовое изображение фиг.1, искаженное действием импульсных помех с равномерным распределением яркости (сбойные пиксели со случайными на интервале квантования яркости уровнями) и равномерным распределением по площади изображения. На фиг.4 приведен результат выделения контуров объектов на изображении фиг.3 в соответствии с известным способом (1)-(7). Сопоставляя фиг.2 - фиг.4 видно, что наличие помех в каких-либо координатах исходного изображения приводит к возникновению ложных замкнутых контуров вокруг этих координат.
Предлагаемый способ направлен на повышение устойчивости градиентных операторов обработки с масками Превитта [1, 2] к наличию на изображении импульсных помех, т.е. снижению чувствительности способа (1)-(7) [1, 2] к импульсным помехам.
Структурная схема устройства обработки цифровых изображений, функционирующего по предлагаемому способу, представлена на фиг.5. Рассмотрим сущность предлагаемого способа. Как и в прототипе [1, 2], над матрицей регистрируемого изображения А осуществляют преобразования в блоках 1-4 (фиг.5) в соответствии с формулами (2)-(5) для получения матриц G1, G2, G3 и G4. Далее, как и в прототипе, на основе матриц G1, G2, G3 и G4 по формуле (6) формируют матрицу ∇G (блок 5 на фиг.5), после чего в блоке 6 фиг.5 по формуле (7) осуществляют получение конечной матрицы В с результатом выделения контуров.
Однако в отличие от прототипа [1, 2], при преобразованиях в блоках 1-4 (фиг.5) по формулам (2)-(5) с целью получения матриц G1, G2, G3 и G4, элементы которых были бы не чувствительны к перепадам яркости от импульсных помех, коэффициентам масок Превитта W1, W2, W3 и W4 придают не постоянные значения, а изменяют (управляют коэффициентами) в зависимости от следующих условий. Параллельно матрицу входного изображения А подают помимо блоков 1-4 на блок 7 фиг.5. В блоке 7 фиг.5 путем обработки А скользящим окном осуществляют вычисление сумм модулей разностей сигнала пикселя, попадающего в центр скользящего окна, с сигналами соседних с центром 8-ми пикселей. При этом в блоке 7 формируют матрицу С, элементы которой принимают значения, пропорциональные разнице яркости центрального пикселя скользящего окна, с яркостью соседних пикселей. Далее сигналы с выхода блока 7 поступают на вход блока 8 фиг.5, являющегося решателем, где на основе порогового преобразования формируют решение о том, какие именно элементы матрицы С указывают на координаты (пиксели) матрицы А, представляющие собой помехи. Таким образом, в блоке 8 формируют матрицу Ĥ оценки локализации импульсных помех на изображении А:
Элементы данной матрицы  (9) могут принимать два значения - 0 и 1. При этом, если некоторый элемент  равен нулю (), то это указывает на то, что в данной координате i, j на матрице А пиксель является полезным сигналом яркости (не пораженным), а в случае, когда некоторый элемент  равен единице (), то это говорит о том, что в данной координате i, j на матрице А пиксель является пораженным, т.е. представляет собой импульсную помеху. Операция оценивания импульсных помех, т.е. формирования матрицы Н является известной [7].
Далее с выхода блока 8 фиг.5 сигнал подают параллельно на блоки 9, 10, 11 и 12, в которых осуществляют формирование вспомогательных масок H1, Н2, Н3 и Н4. Далее на основе маски H1 формируют вектор V1 (блок 13 фиг.5) для управления коэффициентами горизонтальной маски W1; на основе маски Н2 формируют вектор V2 (блок 14 фиг.5) для управления коэффициентами вертикальной маски W2; на основе маски Н3 формируют вектор V3 (блок 15 фиг.5) для управления коэффициентами главно-диагональной маски W3; и на основе маски Н4 формируют вектор V4 (блок 16 фиг.5) для управления коэффициентами побочно-диагональной маски W4. При этом горизонтальная вспомогательная маска H1 имеет вид:
т.е. является размером 3×3 элемента, у которой вторая строка состоит из нулевых коэффициентов, а первая и третья строки состоят из элементов матрицы  (которые равны либо 0 либо 1), попавших в 1-ю либо 3-ю строку данного скользящего окна. Таким образом, коэффициенты 1-й и 3-й строк H1 будут меняться при перемещении H1 по элементам матрицы .
На основе маски H1 в блоке 13 фиг.5 формируют трехэлементный управляющий вектор-строку V1:
элементы которого представляют собой сумму строк маски H1. Таким образом, элементы управляющего вектора V1 принимают переменные значения (0 - если некоторый столбец H1 нулевой; 1 - если в столбце один элемент, равный единице; 2 - если в столбце H1 два единичных элемента) при перемещении по элементам матрицы .
Далее в блоке 1 фиг.5 в зависимости от значений вектора V1 осуществляют изменение коэффициентов горизонтальной маски W1 следующим образом:
1
2
3
Смысл выражения (12) заключается в том, что в случае, когда все компоненты вектора V1 нулевые (соответствующего некоторой координате i, j матрицы ), коэффициенты маски W1 не изменяют, т.е. оставляют равными как и в способе (1)-(7) (верхняя строка формулы (12)). В случае, если элемент ν1 вектора V1 больше либо равен единице, что указывает на то, что первый столбец H1 содержит один либо два единичных элемента, что в свою очередь указывает на то, что в первый столбец маски W1 попадает для перемножения и суммирования (2) элемент (ы), оцененный (е) как помеха на этапе обработки в блоках 7 и 8 фиг.5, коэффициентам первого столбца маски W1 присваивают нулевые значения (с целью исключить влияние элемента, оцененного как помеха), а значения остальных коэффициентов умножают на значение 1.5, с целью сохранения предыдущих характеристик маски по выделению контура (т.к. значение порога Р (6) постоянно) (вторая строка формулы (12)). Аналогично и соответствующим образом изменяют значения коэффициентов маски W1 в случаях, когда элемент ν1 или ν1 вектора V1 больше либо равен единице (соответственно 3-я и 4-я строка формулы (12)). В случае если какие-либо два элемента вектора V1 больше либо равны единице, что говорит о том, что соответствующие два столбца H1 содержат помехи и в соответствующие два столбца маски W1 могут попасть для обработки (2) помехи, то коэффициентам данных столбцов маски W1 присваивают нулевые значения (с целью исключить влияние элементов, оцененных как помехи), а значения остальных коэффициентов умножают на значение 3 с целью сохранения предыдущих характеристик маски по выделению контура (т.к. значение Р (6) постоянно) (5-я, 6-я и 7-я строки формулы (12)). В случае если все три элемента V1 больше либо равны единице, что говорит о том, что все столбцы H1 содержат помехи и во все три столбца маски W1 попадают помехи, то всем коэффициентам маски W1 присваивают нулевые значения (8-я строка формулы (12)).
Аналогично в блоке 10 фиг.5 на основе Ĥ формируют вертикальную вспомогательную маску Н2, (3×3) у которой из нулевых коэффициентов состоит второй столбец:
На основе маски Н2 (13) в блоке 14 фиг.5 формируют трехэлементный управляющий вектор-столбец V2:
где символ Т обозначает операцию транспонирования. Элементы вектора (14) представляют собой сумму столбцов маски Н2. Элементы управляющего вектора V2 принимают переменные значения (0 - если строка Н2 нулевая; 1 - если в строке один элемент, равный единице; 2 - если в строке Н2 два единичных элемента) при перемещении по матрице Н. Далее в блоке 2 фиг.5 в зависимости от значений вектора V2 осуществляют изменение коэффициентов вертикальной маски W2 следующим образом:
Смысл выражения (15) аналогичен (12) и заключается в том, что в случае, когда все компоненты вектора V2 нулевые (соответствующего некоторой координате i, j матрицы ), коэффициенты маски W2 не изменяют, т.е. оставляют равными, как и в способе (1)-(7) (верхняя строка формулы (15)). В случаях, когда какой-либо компонент вектора V2 больше либо равен единице, что говорит о том, что с соответствующими элементами маски W2 будет перемножено значение пикселя изображения, являющегося помехой, этим коэффициентам W2 присваивают нулевые значения, а остальные коэффициенты умножают на 1.5 (строки 2-4 формулы (15)) либо на 3 (строки 5-7 (15)). В случае, если все три элемента V2 больше либо равны единице, что говорит о том, во все три строки маски W2 попадают помехи, то всем коэффициентам маски W2 присваивают нулевые значения (8-я строка формулы (15)).
Аналогично в блоке 11 фиг.5 на основе Ĥ формируют главно-диагональную вспомогательную маску Н3, (3×3), у которой из нулевых коэффициентов состоит главная диагональ:
На основе маски Н3 (16) в блоке 15 фиг.5 формируют трехэлементный управляющий вектор-строку V3:
Элементы вектора (17) представляют собой сумму элементов маски Н3, симметричных относительно главной (нулевой) диагонали. Элементы управляющего вектора V3 принимают переменные значения (от 0, если суммируемые элементы нулевые, до 2, если они оба равны единице) при перемещении по элементам матрицы .
Далее в блоке 3 в зависимости от значений вектора V3 (17) осуществляют изменение коэффициентов главно-диагональной маски W3 следующим образом:
Смысл выражения (18) аналогичен (12) и (15) и заключается в том, что в случае, когда все компоненты вектора V3 нулевые (соответствующего некоторой координате i, j матрицы ), коэффициенты главно-диагональной маски Превитта W3 не изменяют, т.е. оставляют равными, как и в способе (1)-(7) (верхняя строка формулы (18)). В случаях, когда какой-либо компонент вектора V3 больше либо равен единице, что говорит о том, что с соответствующими элементами маски W3 будет перемножено значение пикселя изображения, являющегося помехой, этим коэффициентам маски присваивают нулевые значения, а остальные коэффициенты умножают на 1.5 (строки 2-4 формулы (18)) либо на 3 (строки 5-7 (18)). В случае, если все три элемента V3 больше либо равны единице, что говорит о том, во все три диагонали (перпендикулярные главной диагонали) маски W3 попадают помехи, то всем коэффициентам маски W3 присваивают нулевые значения (8-я строка формулы (18)).
Аналогично в блоке 12 фиг.5 на основе Н формируют побочно-диагональную вспомогательную маску Н4, (3×3) у которой из нулевых коэффициентов состоит побочная диагональ:
На основе маски Н4 (19) в блоке 16 фиг.5 формируют трехэлементный управляющий вектор-строку V4:
Элементы вектора (20) представляют собой сумму элементов маски Н4, симметричных относительно побочной (нулевой) диагонали. Элементы управляющего вектора V4 принимают переменные значения (от 0 если суммируемые элементы нулевые, до 2 если они оба равны единице) при перемещении по элементам матрицы .
Далее в блоке 4 в зависимости от значений вектора V4 (20) осуществляют изменение коэффициентов побочно-диагональной маски W4 следующим образом:
Смысл выражения (21) аналогичен (12), (15) и (18) и заключается в том, что в случае, когда все компоненты вектора V4 нулевые (соответствующего некоторой координате i, j матрицы ), коэффициенты побочно-диагональной маски Превитта W4 не изменяют, т.е. оставляют равными, как и в способе (1)-(7) (верхняя строка формулы (21)). В случаях, когда какой-либо компонент вектора V4 больше либо равен единице, что говорит о том, что с соответствующими элементами маски W4 будет перемножено значение пикселя изображения, являющегося помехой, этим коэффициентам маски присваивают нулевые значения, а остальные коэффициенты умножают на 1.5 (строки 2-4 формулы (21)) либо на 3 (строки 5-7 (21)). В случае, если все три элемента V4 больше либо равны единице, что говорит о том, во все три диагонали (перпендикулярные побочной диагонали) маски W4 попадают помехи, то всем коэффициентам маски W4 присваивают нулевые значения (8-я строка формулы (21)).
Изменение значений коэффициентов разноориентированных масок Превитта W1, W2, W3 и W4 в соответствии с операциями (9)-(21) позволяет игнорировать импульсные помехи в ходе масочной обработки при выполнении операций перемножения и суммирования (2)-(5) коэффициентов маски со значениями элементов изображения. Таким образом, введение действий (9)-(21) позволяет достигнуть технический результат, заключающийся в снижении чувствительности известного [1, 2] градиентного способа (1)-(7) к импульсным помехам на цифровом изображении.
Проведенный сравнительный анализ заявленного способа и прототипа [1, 2] показывает, что заявленный способ отличается наличием совокупности действий (9)-(21) (блоки 7-16 фиг.5) над материальным объектом: введены операции оценивания (9) локализации импульсных помех на изображении; введены операции формирования четырех вспомогательных масок (10), (13), (16) и (19); введены операции формирования соответствующих четырех управляющих векторов (11), (14), (17) и (20); введены операции изменения значений коэффициентов соответствующих четырех разноориентированных масок (12), (15), (18) и (21) в зависимости от компонент (нулевых или единичных) управляющих векторов.
Рассмотрим предлагаемый способ помехоустойчивого градиентного выделения контуров объектов на цифровых изображениях. Предположим, что регистрируемое изображение (1), контуры которого необходимо получить, содержит импульсные помехи. При этом первоначальное, «чистое», т.е. неискаженное помехами изображение будет иметь вид
где Λ - матрица первоначального полутонового изображения;
i,j
λ - элементы данной матрицы.
i,j
i,j
Положим, что при искажении импульсными помехами, яркость отдельных элементов λ (22) заменяется на случайные значения (h) на интервале квантования яркости с некоторой вероятностью, т.е. эти элементы становятся импульсными помехами. Таким образом, элементы искаженного помехами изображения А будут описываться [5-7]:
i,j
где p - вероятность появления помехи h в ячейке с координатой (i, j), которая не зависит ни от наличия помех в других координатах, ни от исходного изображения, и является постоянной для всех элементов изображения;
i,j
h - значения помеховых элементов изображения, которые являются независимыми случайными величинами, как правило, с равноерным распределением [5-7] на интервале квантования яркости.
i,j
i,j
Появления λ и h образует полную группу несовместных событий для каждой координаты (i, j) изображения. Таким образом, при p=0 изображение А будет идентично изображению Λ (не содержать помех, как на фиг.1), при p=0.5 изображение А будет содержать приблизительно  пикселей, являющихся помехами
i,j
i,j
-3
-1
(h), случайно разбросанных по матрице и приблизительно  пикселей, являющихся сигналами чистого изображения (λ). Как правило, на практике эта вероятность может принимать значения p=10…3·10 [5-7]. На фиг.3 изображение приведено для случая p≈0.15.
Согласно предлагаемому способу, матрицу входного изображения, содержащую помехи, А подают помимо блоков 1-4 на блок 7 фиг.5. В блоке 7 фиг.5 путем обработки А скользящим окном осуществляют вычисление сумм модулей разностей сигнала пикселя, попадающего в центр скользящего окна, с сигналами соседних с центром 8-ми пикселей [7]:
i,j
где с - элементы матрицы С.
Необходимо отметить, что операцию (24) осуществляют с учетом краевых эффектов, т.е. в тех случаях, когда скользящее окно выходит за пределы матрицы А, размеры окна уменьшают на число несуществующих элементов.
При этом элементы матрицы С принимают значения, пропорциональные разнице яркости центрального пикселя скользящего окна, с яркостью соседних пикселей. Далее сигналы с выхода блока 7 подают на вход блока 8 фиг.5, являющегося решателем, где выполняют операцию [7]:
h
h
N
где P - порог, значение которого выбирают в зависимости от степени квантования яркости изображения [7]: P≈2(2-1).
Таким образом, в блоке 8 формируют матрицу  (формула (9)) с элементами (25), указывающими на локализацию импульсных помех на изображении А. Операции (24)-(25) являются известными [7].
Далее с выхода блока 8 фиг.5 сигнал подают параллельно на блоки 9, 10, 11 и 12, в которых осуществляют формирование вспомогательных масок H1, Н2, Н3 и Н4, после чего на их основе формируют управляющие векторы V1, V2, V3 и V4 (блоки 13-16 фиг.5), а затем маски Превитта с изменяющимися коэффициентами W1, W2, W3 и W4 (блоки 1-4 фиг.5). Все эти операции в блоках 9-16 фиг.5, а также изменение коэффициентов масок W1, W2, W3 и W4 осуществляют в соответствии с рассмотренными действиями (10)-(21). Также на данные маски Превитта с изменяющимися коэффициентами подают и матрицу изображения А, контуры которого необходимо получить в качестве результата обработки.
i,j
Далее масочную обработку матрицы А проводят, как и в прототипе [1, 2] в соответствии с операциями (2)-(5). После этого, как и в известном способе в соответствии с выражением (6), вычисляют элементы матрицы ∇G (указывающие на то, какие пиксели матрицы А с координатами i, j представляют собой пиксели, являющиеся контурными). Далее, как и в известном способе, в целях визуализации результата выделения контура осуществляют выделение на абсолютно белой матрице абсолютно черных точек, с координатами, в которых элементы ∇g (6) равны единице, т.е. по выражению (7) получают матрицу В, являющуюся матрицей визуального отображения результата выделения контура.
Таким образом, на основе матрицы регистрируемого изображения А с использованием совокупности действий в последовательности (24)-(25), (10)-(21), (2)-(7) получают матрицу В, содержащую контуры объектов и другие перепады яркости.
В случае, когда нет необходимости визуализировать результат выделения контуров, операцию (7) не осуществляют, и наоборот, если распознавание не используется, вместо выражения (6) используют операцию (8).
На фиг.5 представлена функциональная схема устройства обработки изображений, реализующего предлагаемый способ. Устройство обработки фиг.5 содержит: вход устройства, на который поступает матрица А регистрируемого каким-либо оптическим или оптико-электронным датчиком (сенсором) изображения. Вход соединен со входами блоков 1, 2, 3 и 4, а также со входом блока 7, выход которого является входом блока 8. Выход блока 8 связан со входами блоков 9, 10, 11 и 12, выходы которых являются соответствующими входами блоков 13, 14, 15 и 16. Выход блока 13 соединен со вторым, управляющим входом блока 1, выход блока 14 - с управляющим входом блока 2, выход блока 15 - с управляющим входом блока 3, выход блока 16 - с управляющим входом блока 4. Выходы блоков 1, 2, 3 и 4 являются входами общего блока 5, и соединены соответственно с подблоками 5.1, 5.2, 5.3 и 5.4. Выходы этих подблоков соединены со входами подблока 5.5, выход которого является входом подблока 5.6, выход которого соединен со входом подблока 5.7. Выход подблока 5.7. является выходом общего блока 5, соединенным со входом блока 6, выход которого является выходом устройства обработки изображений, на котором получают матрицу В с результатом выделения контура.
В качестве блоков 1-16 и 5.1-5.7 рассмотренного устройства обработки изображений фиг.5 могут быть использованы описанные в [8, 9], а также любые аналогичные известные из уровня техники технические устройства (программируемые и непрограммируемые процессоры цифровой обработки сигналов и изображений), реализующие соответствующие математические функции (24)-(25), (10)-(21), (2)-(7) с учетом знака сигналов, перемещений масок и скользящих окон по матрицам, краевых эффектов при перемещении, а также особенностей выполнения векторно-матричных операций и управления масками.
h
Работа устройства обработки изображений фиг.5, функционирующего по предлагаемому способу, выглядит следующим образом. На вход устройства подают матрицу А размером m×n регистрируемого каким-либо оптическим сенсором изображения. Сигналы этой матрицы параллельно поступают на блоки 1-4 и на блок 7 фиг.5, в котором их подвергают операции (24). С блока 7 сигналы (в виде матрицы m×n) подают в блок 8, где осуществляют процедуру (25) сравнения матричных элементов со значением порога Р=510. С выхода блока 8 сигналы (m×n) параллельно поступают в блоки 9-12, где формируют соответствующие вспомогательные маски H1 (10), Н2 (13), Н3 (16) и Н4 (19), после чего сигналы соответственно поступают в блоки 13-16, где формируют управляющие векторы V1 (11), V2 (14), V3(17) и V4 (20). Управляющие векторы поступают на вторые, управляющие соответствующие входы блоков 1-4 фиг.5, где осуществляют изменение значений коэффициентов масок: W1 - в соответствии с (12), W2 - в соответствии с (15), W3 - в соответствии с (18), W4 - в соответствии с (21). Вычисленные масками в блоках 1-4 четыре массива сигналов (m×n каждый) поступают в подблоки 5.1-5.4, где их элементы возводят в квадрат. После этого сигналы элементов четырех матриц (тихи) поэлементно суммируются в сумматоре 5.5, после чего из каждого элемента суммарной матрицы извлекается квадратный корень в подблоке 5.6. Далее элементы матрицы сравниваются с порогом Р=175 (6) в подблоке 5.7. В случае если уровень этих элементов больше порога, то в блоке 6 на белой матрице черным цветом выделяют их координаты (i, j), а если меньше, то в блоке 6 оставляют белыми. Таким образом, на выходе блока 6 получают матрицу В с результатом выделения контура. Общий блок 5 реализует операцию (6).
На фиг.6 с целью демонстрации достигаемого технического результата приведен результат (В) выделения контуров объектов на цифровом полутоновом изображении (А), приведенном на фиг.3, устройством обработки изображений фиг.5 на основе предлагаемого способа. Сопоставляя между собой результаты выделения контура известным и предлагаемым помехоустойчивым способом, т.е. фиг.4 с фиг.6, можно видеть, что заявляемый способ позволяет получить лучший результат, поскольку игнорирует большинство случайных всплесков яркости пикселей, являющихся импульсными помехами. Рассмотренная работа устройства фиг.5 показывает, что им реализуется предлагаемый способ помехоустойчивого градиентного выделения контуров объектов на изображениях.
Таким образом, предлагаемый способ позволяет достигнуть технический результат, заключающийся в повышении помехоустойчивости, т.е. снижении чувствительности градиентных способов обработки изображений [1-4] к импульсным помехам.
Указанный технический результат позволит осуществлять более эффективное распознавание объектов на цифровых изображениях по их контурам в условиях импульсных помех, характерных для многих практических условий передачи и преобразования изображений.
Источники информации
1. Gonzalez R.C., Woods R.E. Digital image processing. Pearson Education, Inc., Prentice Hall, New Jersey, 2002. Рус. перевод: Гонсалес Р., Вудс Р. Цифровая обработка изображений. - М.: Техносфера, 2005. 1072 с.
2. Gonzalez R.C., Woods R.E, Eddins S.L. Digital image processing using MAT-LAB. Pearson Education, Inc., Prentice Hall, New Jersey, 2004. Рус. перевод: Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде MATLAB. - М.: Техносфера, 2006. 616 с.
3. Pratt W.K. Digital image processing. A Wlley-lntersclence Publication John Wiley and Sons New York/Ch1 Chester/Brisbane/Toronto 1978. Рус. перевод: Прэтт У. Цифровая обработка изображений: Пер. с англ. - М.: Мир, 1982. Кн.2. 480 с.
4. Гданский Н.И., Марченко Ю.А. Градиентный способ выделения контуров объектов на матрице полутонового растрового изображения. // Патент РФ №2325044 на изобретение. МПК H04N 1/409, G06K 9/46. Заявит. Гданский Н.И., Марченко Ю.А. Патентообл. МГУИЭ. - №2007106412/09; заявл. 21.02.2007; опубл. 20.05.2008.
5. Huang T.S. (ed.), Ekiundh J.-O., Justusson B.I., Nussbaumer H.J., Tyan S.G., Zohar S.: Two-Dimensional Digital Signal Processing II: Transforms and Median Filters. Sprinder-Verlag, Berlin, Heidelberg, New York 1981. Рус. перевод: Хуанг Т.С. Эклунд Дж.-О., Нуссбаумер Г. Дж., Зохар Ш., Юстуссон Б.И., Тян Ш.-Г. Быстрые алгоритмы в цифровой обработке изображений. / Под ред. Т.С.Хуанга: Пер. с англ. - М.: Радио и связь, 1984. 224 с.
6. Грузман И.С., Киричук B.C., Косых В.П., Перетяган Г.И., Спектор А.А. Цифровая обработка изображений в информационных системах: Учеб. пособие. Новосибирск: НГТУ, 2000. 168 с.
7. Самойлин Е.А. Алгоритмы оценивания импульсного шума в задачах цифровой фильтрации оптических изображений. // Оптический журнал. 2006. Т.73. №12. С.42-46.
8. Ifeachor E.C., Jervis B.W. Digital Signal Processing: A Practical Approach Second Edition. Рус.перевод: Айфичер Э.С., Джервис Б.У. Цифровая обработка сигналов: практический подход. 2-е издание. - М.: Вильяме, 2004. 992 с.
9. Куприянов М.С., Матюшкин Б.Л. Техническое обеспечение цифровой обработки сигналов. Справочник. - М.: Наука и техника, 2000. 752 с.