Научная статья на тему 'АНАЛИЗ МЕТОДОВ ПОВЫШЕНИЯ ЧЕТКОСТИ И ОБНАРУЖЕНИЯ ГРАНИЦ ИЗОБРАЖЕНИЙ В MATHCAD'

АНАЛИЗ МЕТОДОВ ПОВЫШЕНИЯ ЧЕТКОСТИ И ОБНАРУЖЕНИЯ ГРАНИЦ ИЗОБРАЖЕНИЙ В MATHCAD Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
95
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИЗОБРАЖЕНИЕ / ЧЕТКОСТЬ / ГРАНИЦА / ГРАДИЕНТ / ЛАПЛАСИАН / MATHCAD

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Никулин Евгений Александрович

Представлен обзор существующих в пакете MathCAD 15 средств повышения четкости низкоконтрастных, размытых и зашумленных растровых изображений, а также обнаружения границ между их объектами и фоном. На ряде монохромных изображений выполнены разностороннее испытание встроенных функций и подбор их оптимальных параметров, показана возможность их совместного использования с другими функциями, повышающими качество восприятия изображений. Доказана особая эффективность методов Кэнни, эрозии и дилатации в задаче обнаружения границ объектов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF METHODS OF ENHANCEMENT AND DETECTING BORDERS OF IMAGES IN MATHCAD

Presented is review of tools for enhancement of low-contrast, unsharp and noisy bitmap images and for detecting borders between objects and background on images. For a series of monochrome images, multifaceted testing of embedded functions and their optimal adjustments are performed and the probability of their combined use with other image enhancement functions is shown. Canny methods, erosion and dilation demonstrate particular effectiveness for the task of object border detecting.

Текст научной работы на тему «АНАЛИЗ МЕТОДОВ ПОВЫШЕНИЯ ЧЕТКОСТИ И ОБНАРУЖЕНИЯ ГРАНИЦ ИЗОБРАЖЕНИЙ В MATHCAD»

УДК 004.92 DOI: 10.46960/1816-210X_2023_1_21

АНАЛИЗ МЕТОДОВ ПОВЫШЕНИЯ ЧЕТКОСТИ И ОБНАРУЖЕНИЯ ГРАНИЦ ИЗОБРАЖЕНИЙ В MATHCAD

Е.А. Никулин ORCID: 0000-0002-2520-681X e-mail: nea@mail.nnov.ru

Нижегородский государственный технический университет им. Р.Е. Алексеева

Нижний Новгород, Россия

Представлен обзор существующих в пакете MathCAD 15 средств повышения четкости низкоконтрастных, размытых и зашумленных растровых изображений, а также обнаружения границ между их объектами и фоном. На ряде монохромных изображений выполнены разностороннее испытание встроенных функций и подбор их оптимальных параметров, показана возможность их совместного использования с другими функциями, повышающими качество восприятия изображений. Доказана особая эффективность методов Кэнни, эрозии и дилатации в задаче обнаружения границ объектов.

Ключевые слова: изображение, четкость, граница, градиент, лапласиан, MathCAD.

ДЛЯ ЦИТИРОВАНИЯ: Никулин, Е.А. Анализ методов повышения четкости и обнаружения границ изображений в MathCAD // Труды НГТУ им. Р.Е. Алексеева. 2023. № 1. С. 21-32. DOI: 10.46960/1816-210X_2023_1_21

ANALYSIS OF METHODS OF ENHANCEMENT AND DETECTING BORDERS OF IMAGES IN MATHCAD

Е.А. Nikulin

ORCID: 0000-0002-2520-681X e-mail: nea@mail.nnov.ru

Nizhny Novgorod state technical university n.a. R.E. Alekseev Nizhny Novgorod, Russia

Abstract. Presented is review of tools for enhancement of low-contrast, unsharp and noisy bitmap images and for detecting borders between objects and background on images. For a series of monochrome images, multifaceted testing of embedded functions and their optimal adjustments are performed and the probability of their combined use with other image enhancement functions is shown. Canny methods, erosion and dilation demonstrate particular effectiveness for the task of object border detecting.

Key words: image, sharpness, border, gradient, Laplacian, MathCAD.

FOR CITATION: Nikulin E.A. Analysis of methods of enhancement and detecting borders of images in MathCAD. Transactions of NNSTU n.a. R.E. Alekseev. 2023. № 1. Рр. 21-32. DOI: 10.46960/1816-210X_2023_1_21

Введение

Известно, что фильтрация шумов растровых изображений разными методами сопровождается, к сожалению, большим или меньшим размытием границ площадных объектов, т.е. расширением участков перепадов яркостей объектов и фона и уменьшением их контраста [1, 2]. Даже описанный в [3] усовершенствованный метод адаптивной медианной фильтрации не лишен отмеченных недостатков. После сглаживания помех представляется целесообразным по возможности восстановить четкость границ объектов: сузить их ширину и увеличить перепады яркостей. Более наглядный способ выделения границ заключается в их изображении белыми линиями на черном фоне либо негативно - черными линиями на белом фоне. В статье будет рассмотрено решение этих задач в программной среде MathCAD, наби-

© Никулин Е.А., 2023

рающей популярность благодаря компактности записи формул максимально близко к естественному математическому языку, простоте построения всех видов графиков и способности к символическим вычислениям [4].

Общим у методов повышения четкости и обнаружения границ объектов растрового монохромного (в градациях серого) изображения, пикселы которого составляют матрицу MeR(m+1)x(n+1), является вычисление яркости (/',у')-го пикселаMij по формуле свертки:

min{d ,n- j}

Sj =

min{h,m-i}

Z „ ,

, , x=maxi-ö,- i} y=max{-h,-i} 1 '

ZW

M■ ■

yx i+y ,j+X

Vie[0,m], je[0,n].

(1)

Здесь WeRHxD - окружающее этот пиксел прямоугольное окно нечетных размеров H и D с полями шириной сверху и снизу по h = (H-l)/2, а слева и справа по d = (D-1)/2. Результирующая матрица свертки £ имеет размеры матрицы М. Указанные в (1) пределы сумм предотвращают при неполном покрытии окна выход индексов элементов на краях матрицы М за пределы интервалов [0,т] и [0,п], обеспечивая выполнение неравенств 0< i+y < т и 0< j+x < п. При полном покрытии матрицей окна у = ^..М и х = -d. ..d.

Представленные в статье МаШСАО-программы работают со следующими изображениями, читаемыми из файлов *.Ьтр встроенной функцией READBMP("*.bmp") (рис. 1):

• М из файла Mona.bmp, содержащего монохромный фрагмент известной картины с яркостями пикселов в полнобайтовом интервале [0,255];

• С из файла Царап.Ьтр - предыдущее изображение с намеренно нанесенными на него линейными (царапинами разных толщин и направлений) и площадными (пятнами разных размеров и форм) помехами;

• В из файла Мозг.Ьтр - фото среза мозга, изобилующее множеством мелких мышц и извилин серого вещества;

• Р из файла Палец.Ьтр - низкоконтрастный темный отпечаток пальца с яркостями пикселов в интервале [37,183];

• А из файла Air.bmp - низкоконтрастный засвеченный снимок аэропорта с яркостями пикселов в интервале [30,255].

В Р

Рис. 1. Исходные изображения

Fig. 1. Raw images

Повышение четкости границ объектов

В багаже инструментов MathCAD есть набор функций повышения четкости границ объектов монохромного изображения M путем вычисления по (1) его свертки со встроенными окнами:

W =

'' u

0 -1 1 -1 0

Г-1 -1 -1] Г 1 - 2 1 ] Г 0 -1 0 ] -1 2 -4 2 -1

-1 9 -1 W и - 2 5 - 2 , Wоз и -1 5 -1 il bW 1 - 4 13 -4 1 : (2)

-1 -1 -1 1 -2 1 0 -1 0 -1 2 -4 2 -1

0 -1 1 -1 0

• unicrisp(M) с равномерно-взвешенным 3х3-окном Wu;

• diacrisp(M) с диагонально-взвешенным 3х3-окном Wd;

• orthocrisp(M) и orthocrisp5(M) с ортогонально-взвешенными окнами Wc>3eR3x3 и Wо5eR5x5.

Благодаря отрицательным весам в матрицах окон (2) сумма (1) содержит в (Г,/)-м пикселе, совмещенном с центром окна W0,0, разности яркостей Mij и соседних пикселов. Так, для окна Wo3 получим:

Sij=Mij +(Mij -Mij-i)+(Mij -Mij+i)+(Mij -Mr-j+Mj -M+1 j).

В результате операция свертки приобретает дифференцирующие свойства, позволяющие обнаружить резкие перепады яркостей в граничных пикселах Mj, где значение Sij сильно изменяется (вплоть до выхода за оба предела байтового интервала А = [0,255]) по сравнению с пикселами, расположенными в фоновой части рисунка. Побочным эффектом повышения резкости размытых границ является дифференцирование малых флуктуаций яркости фоновых пикселов, оставшихся после сглаживания импульсных шумов, из-за чего на однородных участках изображения могут появиться артефакты в виде мелких чипсов (crisps). Работа перечисленных функций продемонстрирована в программе на рис. 2, где изображение Mona.bmp было преднамеренно наполовину затемнено доM2g[0,128] и размыто встроенным медианным фильтром medfilt с окном размерами 3x3. Далее это сглаженное с небольшим понижением контраста изображение F g [4,123] было обработано четырьмя фильтрами повышения четкости с результирующими матрицами U = unicrisp(F), D = diacrisp(F), O = orthocrisp(F) и 05 = orthocrisp5(F). Анализ полученных результатов привел к следующим наблюдениям:

• все испытанные функции дали достаточно темные низкоконтрастные изображения, в которых большие значения центральных элементов матриц окон (2) обусловили выход некоторых яркостей в матрицах Ug[-164,531], Dg[-55,179], 0g[-54,266] и 05g[-202,621] за пределы байтового интервала А; вследствие этого на изображениях появились ложные белые и черные точки и линии, сдвинутые шаблоном рисунка в А на ±256&;

• для удаления внебайтовых кодов из содержащих их матриц можно предпринять следующие действия:

1) обрезать их функцией clip(*,0,255). Это делает изображения чуть светлее и избавляет их от артефактов типа «соль» и «перец». Отсутствующее во втором ряду изображение clip(05,0,255) визуально совпадает с clip(U,0,255);

2) пропорционально смасштабировать все коды матриц функцией scale(*,0,255), сжимающей внутрибайтовые коды к центру интервала Д тем сильнее, чем дальше внешние коды отстоят от его границ. В результате изображение становится средне-серым и низкоконтрастным, например scale(O5,0,255);

3) выровнять яркость изображения по всему интервалу Д, одновременно повысив его контраст, операцией эквализации с помощью функции equilize;

• из четырех алгоритмов повышения четкости границ, испытанных на конкретном затененном и размытом изображении, лучшими после обязательной эквализации себя проявили unicrisp и diacrisp, худшим - orthocrisp5;

equalize (D) equalize (О)

Рис. 2. Повышение четкости изображения Fig. 2. Image enhancement

В целом следует признать, что «крисповые» методы не дали значимых результатов при решении задачи повышения четкости размытых изображений. Помимо этого, они вычислительно сложнее по сравнению с методом гамма-коррекции [1, 2].

Градиент и лапласиан

Анализ особенностей применения операций дифференцирования в задаче обнаружения границ объектов монохромных изображений начнем с рассмотрения одномерной трехбитовой дискретной функции^Х^[0,7] Ух = 0...20 изменения яркости цепочки пикселов вдоль одной координаты х, являющейся также индексом элементов вектора яркостей /. На профиле яркости (рис. 3) выделяются относительно ровные участки с возможными включениями импульсных шумов, пологие склоны шириной более одного пиксела и скачки яркостей в обоих направлениях шириной в один пиксел.

Первая (градиент) и вторая (лапласиан) производные в точке /

Ох=/х+1-/х, Ьх=Ох-Ох-\=/х+\-2/х+/х-\ (3)

как раз чувствительны к изменениям функции и скорости ее изменения и могут использоваться для поиска границ объектов - участков изображения с сильно изменяющейся яркостью. Из первого графика видно: чем круче склон в точке/х (вплоть до ступеньки единичной ширины), тем больше модуль градиента |Ох|, а знак Ох совпадает со знаком изменения функции /х. Для фиксации границ перепадов яркости нужны ненулевые градиенты обоих знаков.

Однако дифференцирование действует не только на полезные перепады яркости объектов, но и на малейшие шумы минимальных длительностей. Для отсечения импульсов градиентов в точках малых шумовых флуктуаций яркости установим порог амплитуды I, блокирующий импульсы с \Ох\<1. Положительный эффект пороговой фильтрации виден на втором графике рис. 3, где импульс шума единичной высоты оказался незамеченным благодаря заданному порогу отсечения I = 1, а все границы обоих объектов ф и © с крутизной, большей t, обозначили себя как уровни ^х=7 условно белого цвета на черном фоне с максимальной амплитудой и шириной соответствующего перепада. Но стоит задать порог отсечения t=2, и граница пологого склона объекта ф с крутизной, равной 2, окажется пропущенной. В этом состоит главный недостаток градиентного метода поиска границ, требующего тщательного подбора порога отсечения шума на основе компромисса между числом оставшихся шумов и обнаружением максимума границ объектов с пологими склонами перепадов яркости.

Для получения черных граничных линий на белом фоне достаточно сделать инверсию Ъ = 1-м>, как показано на третьем графике (рис. 3). f := 5гаск( 1,1,1,3,5,7,7,7,7,7,2,2,2,3,2,2,2,6,6,6,6) п:= ЬиОД = 20

х:=0..п Сх := < I := 1 := 7(|> I) Ьх := 7 -

X X X

Рис. 3. Градиент одномерной функции

Fig. 3. Gradient of univariate function

Теперь составим градиент двумерной функции fxy^[0,255] яркостей пикселов монохромного изображения, но не в виде вектора с элементами df /дх =fx+\,y-fxy и df/dy=fx,y+i-fxy, а как сумму изменений fxy по координатам х, y и по диагонали xy:

Gxy=(Jx+1 ,y-fxy)+(fx,y+1 -fxy)+(fx+1 ,y+1-fxy)=fx+1,y+fx,y+1+fx+1 ,y+l-3fxy.

Такое устройство скалярного градиента позволяет обнаружить не только вертикальные или горизонтальные, но и наклонные граничные линии. Его можно вычислить как свертку (1) с 3х3-окном W (рис. 4). В MathCAD свертка с внешне заданным окном такого размера выполняется функцией convolve3.

Подвергнем испытанию на поиск границ изображение M=«Mona.bmp» (рис. 1), имеющее как резкие, так и плавные перепады яркостей пикселов. Вычисление матрицы G=convolve3(M, W), как и ожидалось, дало разнозначные пиксельные градиенты Gxy в интервале [-408,252], превышающем А, из-за чего вид изображения G нереален. Операция отсече-

Рис. 4. Градиенты изображения

Fig. 4. Gradients of an image

ния clip(G,0,255) заменила отрицательные коды на 0, но светлые границы получились едва различимыми. Масштабирование scale(G,0,255) позволило увидеть их на светло-сером фоне, соответствующем значениям Gxy=0, и с чуть заметным шумом. Таким образом, разные способы приведения матрицы G в интервал А не дали качественных видов границ.

Для повышения контраста изображения градиента и снижения уровня его помех выполнено попиксельное пороговое отсечение с помощью абсолютной функции A(t) и построено три пробных бинарных изображения с разными значениями порога t:

• редкие черные вкрапления на графике A(0) означают, что в изображении M очень мало точек с такой же яркостью, как у трех ближайших соседей, а, наоборот, очень много за-шумленных площадей;

• в тех местах изображения A(20), где модули градиентов |Gxy|>20, появились широкие белые граничные области в окружении многочисленных импульсных шумов;

• постепенно увеличивая порог отсечения, было подобрано значение t=40, при котором на рисунке P=A(40) и его инверсии 255-P, выполненной функцией invert, границы стали тонкими и более четкими, а плотность точечных помех значительно снизилась. Дальнейшее увеличение t приводит, с одной стороны, к уменьшению пиксельных шумов, но с другой - к разрывам граничных линий и превращению их в цепочки отрезков.

Последнее полезное действие с градиентным изображением - фильтрация импульсных шумов, оставшихся после пороговой обработки. Из рассмотренных в [3] методов фильтрации наиболее качественно себя проявили медианные алгоритмы medfilt(P) и идентичный ему medfilW(P,W) с окном W размера 3x3. Окна больших размеров, например 5x5, лучше удаляют импульсный шум и царапины, но еще и стирают протяженные участки граничных линий, что, конечно, неприемлемо. Не лучшими оказались и другие встроенные в MathCAD сглаживающие фильтры, например unismooth(P).

Переходим к анализу способностей второй производной в поиске границ объектов монохромных изображений. Вновь начнем с определенного в (3) лапласиана L x одномерной

функции/х. Судя по его графику на рис. 5, в начале и в конце каждого склона и скачка функции создаются, в отличие от градиента, положительные либо отрицательные пиксельные импульсы. Для игнорирования малых импульсов шумовых флуктуаций яркости установим порог амплитуды I, отбирающий только импульсы с |Ьх|>Л Положительные импульсы лапласиана с Ьх> дают условно белые граничные точки рх = 7 на черном фоне, а отрицательные импульсы с Ьх<- - точки Пх = 7 на других краях перепадов. Пороговое отсечение по модулю \Ьх> (как в градиенте) делать нежелательно, так как оно создаст тройные бело-черно-белые контуры вместо тонких граничных линий.

Г := £гаск( 1,1,1,3,5,7,7,7,7,7,2,2,2,3,2,2,2,6,6,6,6) х:=0..

:= 0 on error fx+i — 2 fx + f:

px := 7(LX > t)

Рис. 5. Лапласиан одномерной функции Fig. 5. Laplacian of univariate function

Теперь запишем лапласиан двумерной функции /ху<^[0,255] яркостей пикселов монохромного изображения как сумму ее вторых частных производных по координатам х и у:

Lxy-{fx+\,y~2 fxy+fx-\,y)+(fx,y+\-2 fxy+fx,y-\)- fx+l,y+fx~l,y~4 fxy+fx,y+l+ fx,y-\.

(4)

Это изотропное по горизонтали и вертикали выражение вычисляется как свертка (1) с 3х3-окном Ж4, а после добавления в (4) диагональных лапласианов /+1у+1-2/у+/-1,у-1 и /+1,у-1-2/ху+/х-1,у+1 как свертка с окном Ж8. В инвертированном и нормированном виде

-1

W4 = -4 4

0 -10 -1 4 -1 0 -1 0

-1 -1 -1 -1 8 -1 -1 -1 -1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

W24 =

24

-1

24 -

-1 -

1

указанные окна и еще одно 5х5-окно Ж24 используются во встроенных функциях вычисления двумерных лапласианов 1ар1асе4(М), 1ар1асе8(М) и 1ар1асе24(М), прямое действие которых на изображение «Мопа.Ьтр», показанное на рис. 6, дало весьма далекие от желаемых сильно зашумленные результаты из-за, во-первых, двойного дифференцирования малозаметных импульсных шумов, а во-вторых, конвертирования внебайтовых кодов в ложные шумы. Попытки отсечь внебайтовые коды в матрице Ь = 1ар1асе24(М) функцией сНр(Ь,0,255) или стянуть их в байтовый интервал функцией Бса1е(Ь,0,255) дают слабоконтрастные изображения лапласиана, немногим лучшие, чем градиенты на рис. 4.

Очевидно, что и здесь не обойтись без средств подавления помех, желательно не размывающих обнаруженные граничные линии. Именно таким средством является амплитудный порог отсечения малых импульсов лапласиана, заданный в программе равным I = 10 пикселов. Сравнивая изображения Р и Ы, можно увидеть небольшую разницу использования положительных с Ьху > и отрицательных с Ьху <- импульсов лапласиана, после чего на обоих изображениях и их инверсиях все же остаются отдельные шумы, не отсеченные порогом.

M := КЕАРВМР("Мопа.Ьшр") _^ t := ш L := laplace24 (M)

P := 255(|L|>t) N := 255(L<-t) min(L) =-101 max(L) = 123

laplace4 (M) laplace8 (M) L scale (L ,0,255)

P invert (P) N invert (N)

medfilt (P) medfilW (P ,5,5) medfilt (N) unismooth5 (N)

Рис. 6. Лапласианы изображения Fig. 6. Laplacians of an image

Для окончательной подчистки этого редкого мусора применим медианную фильтрацию функцией medfilt с размером окна 3x3. Окна большего размера, например 5x5 в функции medfilW, стирают импульсные шумы, но и сильнее размывают граничные линии. Неэффективны и другие сглаживающие и снижающие контраст фильтры, например unismooth5.

В категории «Обработка изображений» MathCAD есть ряд других встроенных функций поиска границ объектов монохромного изображения разными градиентными методами [4]. Заложенные в них алгоритмы используют расчет и анализ векторов градиента яркости пикселов. Их работа на трех изображениях C, B, P и A (рис. 1) показана на рис. 7.

Функции первой группы difedge, freichen, prewitt, roberts и sobel находят границы путем расчета по (1) градиентных матриц координатных сверток X, Y с разными 3х3-окнами Wx, Wy и попиксельной векторизацией модулей градиента -^Xj +Yj . Независимо от яркости и контраста изображений, результаты поиска границ difedge(C)e[0,361], freichen(P)e[0,166], prewitt(A)e[0,252], roberts(B)e[0,266] и sobel(B)e[0,231] дают темные и низкоконтрастные изображения, яркости которых заполняют байтовый интервал Д=[0,255] не полностью (слабый контраст) или выходят за его пределы (ложные шумы). Для устранения этих недостатков можно обрезать внебайтовые коды функцией clip, либо смасштабировать их в Д функцией scale. Однако оба эти приема дают весьма посредственный результат.

Са(Р,2,1,4) Са(А,1,1,5)

Рис. 7. Функции обнаружения границ Fig. 7. Border detection functions

Функции второй группы compgrad, kirsch, robinson3 и robinson5 используют восемь разных матриц сверток, что, впрочем, никак не улучшает качество визуализации границ в сравнении с функциями первой группы. В третьем ряду графиков на рис. 7 применен третий способ улучшения восприятия путем выравнивания яркости изображений функцией эквали-зации equalize, которая, однако, внесла в них излишние мелкодисперсные помехи.

Функция canny(M,sigma,low,high) возвращает бинарное (белые линии на черном фоне) изображение границ объектов в матрице M, найденных по алгоритму Кэнни. Он выполняет предварительную гауссовскую фильтрацию изображения с параметром sigma. Остальные параметры гистерезисных порогов low и high используются при анализе максимальных модулей градиентных векторов V в каждом исследуемом пикселе: при |V|<low его интенсивность устанавливается в код фона 0, при |V|>high - в код границы 1, а при low<|V|<high пиксел считается граничным только если он связан хотя бы с одним из восьми граничных пикселов. Такой весьма сложный метод поиска границ позволяет экспериментально подобрать оптимальные значения параметров, находя компромисс между качеством фильтрации помех, размерами отображаемых контуров, их замкнутостью и полнотой отображения морфологической структуры изображения. Алгоритм сильно чувствителен к изменениям параметров, что и показывают примеры в нижнем ряду на рис. 7.

Эрозия и дилатация

Один из лучших методов обнаружения границ объектов и представления их светлыми линиями на черном фоне (либо наоборот) основан на двух способах реализации двух весьма полезных операций морфологической обработки изображения M:

• сначала выполнить эрозию (от erode - разъедать, откусывать) граничных пикселов светлых объектов, закрасить их в черный цвет и вычесть суженное изображение E из M; тогда в разности M—E останутся только пикселы, бывшие на краях светлых объектов M;

• первой сделать дилатацию (от dilate - расширять) светлых объектов на один пиксел вглубь темного фона, затем в исходном изображении M закрасить фоновые пикселы черным цветом и вычесть из расширенного изображения D затемненное T; тогда в разностном рисунке D—T на черном фоне останутся лишь светлые граничные контуры пиксельной толщины, окаймляющие объекты M.

Работа встроенных функций эрозии erode4(M,b), erode8(M,b) и дилатации dilate4(M,b), dilate8(M,b) с задаваемым граничным порогом (threshold) яркости b, отделяющим объекты от фона и используемым для получения матрицы T = threshold(M,b), начинается с анализа для каждого пиксела фона Mij <b яркостей соседних элементов Mki (в функциях erode4 и dilate4 соседними являются 4 ортогональных, а в erode8 и dilate8 - все 8 окружающих элементов). Если существует хотя бы один соседний элемент с яркостью объектаMki>b, то:

• в функциях эрозии найденному светлому соседнему элементу присваивается цвет черного фона Mkl = 0;

• в функциях дилатации текущему фоновому элементу с яркостью Mij <b присваивается пороговое значение светлого объекта Mij = b.

Испытаем описанные алгоритмы на трех монохромных изображениях с разными уровнями яркости, четкости и контраста (рис. 8). У высококонтрастного рисунка С=«Царап.Ьтр» с полнобайтовым диапазоном яркости [0,255] и множеством разнотолщин-ных линейных и площадных помех эрозия EC = erode8(C,b), как и ожидалось, расширила темные и сузила светлые объекты, удалив почти все белые царапины толщиной до двух пикселов (erode4(C,b) удаляет их чуть меньше), тогда как дилатация DC = dilate8(C,b), наоборот, сузила темные объекты (это видно по оставшимся черным царапинам), совпав при этом с результатом функции dilate4(C,b). Разностное изображение С—EC показало гораздо лучшее качество выделения границ, чем у разности DC—TC, сохранившей к тому же серые тона.

Рис. 8. Эрозия и дилатация Fig. 8. Erosion and dilatation

При желании увидеть черные границы объектов на белом фоне следует проинверти-ровать изображение C-EC функцией invert, тогда как в инвертированном разностном рисунке invert(DC-TC) все равно присутствуют серые пикселы. В связи с этим стоит из двух разностных методов отдать предпочтение использованию разности C-EC. У низкоконтрастных изображений рекомендуется сначала расширить диапазон яркостей операцией equalize, а уже потом обнаруживать границы ставших более яркими объектов. Этот прием успешно продемонстрирован на примере эквализированных рисунков P и A (рис. 1). В результате на разностных изображениях P-EP и A-EA появились контуры мельчайших светлых объектов, составляющих сюжет как темного изображения отпечатка пальца, так и засвеченной фотографии аэропорта.

Полезный способ получить граничные линии толщиной в два пиксела, не используя при этом функцию threshold, состоит в выводе разности D-E дилатированного и эродированного изображений, как показано на рис. 9. Лучшим, по мнению автора, визуальным качеством обнаружения границ обладает инвертированная разность invert(D-E).

DC - ЕС inveit( DC - ЕС) invert (DP - EP) inveit(DA - EA)

Рис. 9. Двойная толщина границ Fig. 9. Double thickness of borders

Выводы

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

Библиографический список

1. Гонсалес, Р. Цифровая обработка изображений [Текст] / Р. Гонсалес, Р. Вудс. - М.: Техносфера, 2012. - 1104 с.

2. Яне, Б. Цифровая обработка изображений [Текст] / Б. Яне. - М.: Техносфера, 2007. - 584 с.

3. Никулин, Е.А. Адаптивное управление медианной фильтрацией изображений в MathCAD [Текст] // Труды НГТУ им. Р.Е. Алексеева. 2022. № 2. С. 26-35. DOI: 10.46960/1816-210X_2022_2_26.

4. Кирьянов, Д.В. Mathcad 15 / Mathcad Prime 1/0 [Текст] / Д.В. Кирьянов. - СПб.: БХВ-Петербург, 2012. - 432 с.

Дата поступления в редакцию: 20.12.2022

Дата принятия к публикации: 02.02.2023

i Надоели баннеры? Вы всегда можете отключить рекламу.