Глава 6 (953480), страница 16
Текст из файла (страница 16)
Таким образом, на изображении D(x, y) пиксели со значением 1 принадлежат объектам, а пиксели со значением 0 - фону.
Фильтрация изображения является, пожалуй, наиболее длительной и сложной стадией предобработки. На данный момент, в мире существует огромное количество различных способов фильтрации и у каждого есть свои достоинства и свои недостатки. В общем случае, фильтрация решает следующие основные задачи:
-
«сглаживание» или подавление высокочастотной помехи (типа «снег»);
-
повышение контрастности;
-
выделение контура.
Как известно, на начальных этапах преобразования на изображение действуют аппаратурные помехи, искажающие функцию распределения интенсивности света L(x, y). (Сюда относятся искажения, вносимые оптикой, дискретизацией по полю из-за отдельного расположения ячеек светочувствительной поверхности и неоднородностью их фотоэлектрических характеристик и т.д.). Фильтрация помех - сглаживание чаще всего проводится после получения цифрового изображения, и смысл ее заключается в усреднении (по определенному правилу) значения функции L(m, n) внутри небольшого анализируемого фрагмента (программного окна), сканирующего изображение.
О бычно спектр визуальных помех содержит более высокие пространственные частоты, чем спектр изображения. Для их устранения используется фильтр нижних частот, подавляющий высокие частоты (при этом ухудшается резкость изображения).
В отличие от него, фильтр верхних частот оставляет без изменения высокие частоты и сглаживает области, содержащие мало деталей. Примеры высоко и низкочастотной фильтраций тестового объекта показаны на рис. 6.47.
В большинстве случаев, сглаживающие фильтры апроксимируются выражениями вида:
Д анная запись означает, что пикселю с номером (m, n) присваивается значение «1», если соседние пиксели, лежащие в некотором программном окне, принадлежат изображению объекта A.
Большинство фильтров используют методы пространственной области, т.к. оперируют с некоторой окрестностью точки. Данная окрестность называется апертурой фильтра и бывает, как правило, квадратной или прямоугольной формы (рис. 6.48). Используются также и другие апертуры, например круг, крест и пр. Однако квадратная апертура является наиболее предпочтительной из-за простоты ее реализации. Размер программного окна, как правило, составляет (33) или (55) пикселей.
Если в функции фильтра значение центрального пикселя апертуры не учитывается, то такая апертура называется выколотой.
Обычно, фильтрация изображения осуществляется путем последовательного (построчного) сканирования апертурой выбранного фильтра. При достижении конца строки центр апертуры перемещается на начало новой, и все повторяется до тех пор, пока не будет достигнут конец массива.
Степень сглаживания изображения целиком определяется апертурой фильтра. Чем больше размер апертуры, тем выше степень сглаживания изображения. Однако с увеличением размерности апертуры N растет и время обработки - пропорционально N2.
Среди линейных методов фильтрации наибольшее распространение получили методы порогового сглаживания, анизотропной и рекуррентной фильтрации.
Метод порогового сглаживания является одним из простейших. Он основан на сканировании цифрового изображения программным окном (апертурой) размерностью NN (N = 3, 5 или 7) и вычислении на каждом шаге значения средней яркости Lср группы элементов:
здесь lij - элементы функции яркости L(m, n), N - количество пикселей в окрестности точки (m, n).
Далее, значение средней яркости Lср сравнивается со значением яркости центрального элемента сканирующего окна lij, и в случае, если lij > Lср+L, где L - заданное пороговое значение, то вместо lij анализируемому элементу приписывается значение Lср.
Так, при сканировании массива изображения квадратной апертурой размерностью 33, яркость центрального пикселя изображения (точку e) можно определить из выражения:
Часто используется выколотая квадратная апертура размерностью 33 (это связано с тем, что деление на 8 можно осуществить путем сдвига двоичного числа на три позиции, что гораздо быстрее, чем выполнять деление на 9):
Сущность анизотропной фильтрации заключается в свертке исходного массива изображения L(m, n) размерности IJ и сглаживающего массива W(m, n) размерности NN (N < I, J). Как и при пороговом сглаживании N = 3, 5 или 7.
Элементы «сглаженного» массива B(m, n) вычисляются согласно выражению:
При анизотропной фильтрации величина интенсивности каждого пикселя умножается на соответствующий вес этого пикселя. Так, если по каким-либо основаниям полагают, что пиксели, занимающие левое верхнее положение в апертуре фильтра должны иметь наибольший вес, то формула изменится следующим образом:
Для обработки краевых элементов кадра, к нему программно добавляются нулевые строки и столбцы. Сглаживающий массив нормируется, так, чтобы при фильтрации не изменялась средняя яркость изображения.
Наиболее распространены сглаживающие массивы W(m, n) следующих видов:
Аналогичный принцип положен в основу метода рекуррентной фильтрации, однако, здесь используются не только элементы исходного массива L(m, n), но и элементы уже «сглаженного» массива B(m, n). Поэлементные операции проводятся согласно выражению
здесь элементы lij берутся сначала из исходного массива L(m, n), а затем из массива B(m, n).
Особенностью рекуррентной фильтрации является экономия памяти СТЗ, т.к. нет необходимости в сохранении исходного массива. Новые значения яркости пикселей, вычисленные на предыдущем этапе, записываются поверх старого изображения, затирая его. Этот способ значительно экономит память, так как данные о яркости содержатся в одном массиве. В то же время, метод обычной (нерекуррентной) анизотропной фильтрации, использующий два массива, является более точным, т.к. при этом не накапливаются ошибки, сделанных на предыдущих этапах вычислений. Сглаживающий массив W (m, n) выбирается из тех же соображений, что и при обычной анизотропной фильтрации.
Существенным недостатком линейных фильтров является размывание кромок и других характерных деталей объекта.
Наиболее известными нелинейными методами фильтрации являются медианный фильтр и метод расширения-сжатия.
Медианная фильтрация очень эффективна при подавлении шумов, особенно импульсного характера; при этом сохраняются резкие перепады - кромки. Медианой последовательности x1, x2, ...xn, где n - нечетное, называется средний по значению член ряда, получающегося при упорядочивании последовательности по возрастанию. Для четного n медианой является среднее арифметическое двух средних членов. Например, mediana (0, 2, 5, 0, 8) = 2, mediana (0, 2, 5, 3, 0, 8) = 3.
Медианный фильтр для некоторой окрестности изображения (x, y) описывается выражением:
Lm(x, y) = mediana L(x, y)
где Lm(x, y) - новое значение интенсивности (яркости) текущего пикселя изображения, L(x, y) - интенсивность в некоторой окрестности этого пикселя.
Для квадратной апертуры размерностью 33 данная формула будет выглядеть следующим образом:
причем значение пикселя e будет определяться пятым (по возрастанию) значением яркости пикселей в этой окрестности. Качество фильтрации изображения, как и для линейных фильтров, растет прямо пропорционально размеру апертуры фильтра.
Данный фильтр, как и линейный, может применяться к изображению как рекуррентным, так и нерекуррентным способом. Недостатком медианного фильтра является его очень низкая скорость, поэтому он применяется, как правило, с малыми апертурами (33, 51), а также с изображениями, которые плохо обрабатываются линейными фильтрами.
Вообще, чем больше апертура фильтра, тем лучше удаляются помехи, имеющие большую площадь. Также, для улучшения качества можно использовать несколько проходов, что позволяет уничтожить те помехи, которые остались после первых итераций.
Фильтр типа «сжатие-расширение» применяется только в бинаризованных изображениях, когда используются две градации яркости пикселей: объект-фон. Процедура сжатия заключается в уменьшении размеров объекта и увеличении размеров отверстий (при этом устраняются мелкие фрагменты). В процессе расширения, наоборот, объект увеличивается в размерах, причем его полости заполняются, восстанавливая тем самым целостность. Поскольку обе процедуры быстрые, их часто используют вместе, делая многопроходными. Например, сначала выполняется 15 сжатий изображения, а затем 20 расширений.
В зависимости от формы применяемой апертуры различают три типа процедур сжатия-расширения: 8-ми связное, 4-х связное и диагональное. В каждом случае используют апертуры размерностью 33, однако, при 8-ми связном сжатии-расширении используется квадратная апертура (учитываются все пиксели - соседи центрального), при 4-х связном - крестообразная апертура (направления сканирования: вверх, вниз, влево и вправо), а при диагональном сжатии-расширении - Х-образная. Во всех процедурах обрабатываются только пиксели, принадлежащие объекту.
Для фильтрации помех и сглаживания изображений применяются также различные интегральные методы. К ним относятся дискретные преобразования Фурье, Уолша, Адамара и др. Подобные преобразования, в целом, осуществляются медленнее, чем рассмотренные выше, т.к. требуют большего объема вычислений.
П осле фильтрации (сглаживания) изображений проводится выделение краев и линий - границ перепада яркости и для дальнейшей обработки используются только элементы, принадлежащие этим границам. При таком представлении изображений, называемом контурным, достигается значительное сжатие визуальной информации и повышение скорости ее окончательной обработки.
Алгоритмы выделения контуров разделяются на две группы: операторные и корреляционные.
Алгоритмы этой группы основаны на использовании операторов пространственного дифференцирования, которые выделяют в каждом заданном фрагменте изображения элементы, находящиеся на границе различных по освещенности (яркости) областей.
Метод определения краев и линий основан на предположении, что соответствующие им точки изображения вызывают экстремумы функции освещенности L и их можно определить по максимумам нормы градиента. Понятие градиента иллюстрирует рис. 6.49.
Градиент освещенности Гij в точке (i, j) определяется как двумерный вектор
Фрагменты, в которых работают дифференциальные операторы, задаются на каждом шаге сканирования изображения программным окном. (В программах обработки изображений такое сканирование организуется с использованием операторов цикла).