Обработка изображений разреженными масками

в 10:55, , рубрики: обработка изображений, цос, метки: ,

Речь пойдет об обычной пространственной обработке изображений путем наложения простых масок. Иногда этот процесс называют двумерной апертурной коррекцией. Как известно, принцип такой обработки в следующем: пиксель нового изображения формируется на базе того же пикселя старого изображения и его окрестности с различными весами. Масок и фокусов с ними за годы цифровой обработки изображений было придумано много, у такого вида обработки есть свои плюсы и минусы. Мы рассмотрим воздействие разреженных масок.
Обрабатывать будем участок изображения тестовой телевизионной таблицы, чтобы рассматривать мелкие детали.

Обработка изображений разреженными масками

Для примера возьмем обычную маску ФНЧ [1]:

1 2 1
2 4 2
1 2 1

Обработка изображений разреженными масками

Воздействие маленьких масок не изотропное, так как расстояние между центральным элементом маски и вертикальными/горизонтальными элементами — условно 1, а между центральным элементом маски и диагональными элементами — корень из 2. Это ведет к некоторым геометрическим искажениям. Очевидным решением становится увеличение размера маски, для обеспечения изотропности. Когда обработка изображений на компьютерах только осваивалась, и время, затраченное на обаботку, было критично, увеличение размера маски велоо к уеличению объема вычислений, поэтому «лишние» элементы было принято заполнять нулями. Эти идеи развивал в 80-х годах товарищ Л.П. Ярославский, но на русском он издал три крупные книги, где не затрагивал этот вопрос, а мелких его статей или монографий я найти не смог.
Кстати, процитирую до кучи: «любой малоразмерный объект есть множество точек в некоторой компактной области (это может быть круг, прямоугольник, крест, ромб и т.д.). Вокруг центрального элемента есть «тормозная зона». Если размер этой зоны в два раза больше размеров объекта, то объект выделяется без искажений [2]».
Тот же ФНЧ для маски 5*5 элементов примет вид:

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

Обработка изображений разреженными масками

Однако, эффект размытия в разы сильнее, поскольку в формировании центрального пикселя нового изображения участвуют более далекие соседи.
Тот же ФНЧ для маски 7*7 элементов:

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

Обработка изображений разреженными масками

Сравним результаты обработки (по порядку — исходное изображение, 3*3, 5*5, 7*7):

Обработка изображений разреженными масками

Далее рассмотрим воздействие маски повышения четкости, рассчитанной моим духовным наставником Гальчуком И.В., и опубликованной в [3].
Фильтр повышения четкости 3*3:

-0.1 -0.1 -0.1
-0.1   2   -0.1
-0.1 -0.1 -0.1

Фильтр повышения четкости 5*5:

-0.1 0 -0.1 0 -0.1
0 0 0 0 0
-0.1 0 2 0  -0.1
0 0 0 0 0
-0.1 0 -0.1 0 -0.1

Фильтр повышения четкости 7*7:

0 0 0 -0.1 0 0 0
0 -0.1 0 0 0 -0.1 0
0 0 0 0 0 0 0
-0.1 0 0 2 0 0 -0.1
0 0 0 0 0 0 0
0 -0.1 0 0 0 -0.1 0
0 0 0 -0.1 0 0 0

И, для экстрима, фильтр повышения четкости 15*15:

0 0 0 0 0 0 0 -0.1 0 0 0 0 0 0 0
0 0 0 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 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0.1 0 0 0 0 0 0 2 0 0 0 0 0 0 -0.1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 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 0 0 0 0 0 0 0
0 0 0 0 0 0 0 -0.1 0 0 0 0 0 0 0

И, собственно, результаты (по порядку — исходное изображение, 3*3, 5*5, 7*7, 15*15):

Обработка изображений разреженными масками
Обработка изображений разреженными масками
Обработка изображений разреженными масками
Обработка изображений разреженными масками
Обработка изображений разреженными масками

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

Замечательная особенность больших разреженных масок — в усилении эффекта с увеличением размера.

Это главный вывод по статье.

Конечно, можно делать большие заполненные маски (нет нулевых элементов, везде некие вычисленные коэффициенты), но тут возникает сложность расчета этих самых элементов, потому что создать маску для какой-то цели — очень нетривиальное и трудоемкое занятие, дающее наибольший эффект, как правило, для изображений, полученных в сходных системах при примерно одинаковых условиях. Время на обработку, соответственно, тоже увеличивается.

Особенности реализации

Для создания изображений к статье я использовал ImageJ — для начинающих обаботчиков очень неплохо, а главное, быстро. Возможность создавать свои маски и даже сложные алгоритмы обработки присутствует (вроде бы есть некий встроенный модуль для написания чего-то макросами, но я не пробовал).

В стационарных изысканиях использую матлаб. Код для наложения маски очень простой:

input=imread('C:input.jpg'); 
input=double(input);
kernel=[-0.1 -0.1 -0.1;-0.1 2 -0.1;-0.1 -0.1 -0.1]/1.2;     %Пишется маска - по сути, двумерный массив нужного размера
% kernel=[0 0 -0.1 0 0;0 -0.1 0 -0.1 0;-0.1 0 2 0 -0.1;0 -0.1 0 -0.1 0;0 0 -0.1 0 0]/1.2;     %Незаполненная маска 5*5, для примера
output = imfilter(input, kernel);
figure, imshow((output));

В дань памяти советской науке

В поисках материала наткнулся на статью 1982 года [4], где описывалсь маска аж 5*10 (вот так вот, хотя канонически такие вещи никогда не рекомендовали), созданная для:

— снятия постоянной составляющей,
— уменьшения динамического диапазона сигнала от точечных объектов (вот так хитро боролись с импульсным шумом).

{сердце подсказывает, эта маска еще и геометрию отображения на суровых ЭЛТ-трубках типа осцилографических рихтовала}

Список литературы

1. Гонсалес Р., Вудс Р. Цифровая обработка изображений. – М.: Техносфера, 2005. – 1072 с.
2. Курячий М.И. Цифровая обработка сигналов: Учебное пособие. – Томск: кафедра ТУ, ТУСУР, 2012. – 172 с.
3. Конюхов А.Л., Гальчук И.В., Курячий М.И. Повышение разрешающей способности активно-импульсных телевизионно-вычислительных систем с использованием двумерной апертурной коррекции и итерационных алгоритмов. Курск, материалы конференции «Распознавание — 2012».
4. Мандражи В.П. Эффективность двумерной фильтрации сигналов при опрделении кординат точечных объектов. — М.: Техника средств связи. Серия «Техника телевидения». Выпуск 5 (№ 42), 1982 г.

P.S. или что еще

В статье я не приводил цифры и вычисленные характеристики. Методик определения качества изображения много, и все они в чем-то необъективны или неудобны. Кроме того, для черно-белых и цветных изображений методики разнятся.
Занимаясь обработкой черно-белых изображений систем технического зрения, я долго мучился с критериями качества, поскольку субъективный взгляд всегда субъективный, а компьютер дерево от дождя или траву от какой-нибудь помехи источника питания не отличает, если на это нет воли программиста.
В дальнейшем, по просьбам трудящихся могу написать обзор по оценке сигнал/шум и другим объективным (вычисляемым) параметрам качества для черно-белых изображений, методам вычисления контраста (банальнешая задачка, однако адекватных методик для низкокачественных изображений почти что и нет), по гомоморфной фильтрации и где она работает, ну, может, еще что-нибудь придумаем.
Спасибо за внимание!

Автор: sanhces7

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js