Предварительная обработка изображений (Preliminary image processing)

Автор: | 27.07.2018

Предварительная обработка изображения  процесс улучшения качества изображения, ставящий целью получение на основе оригинала максимально точного и адаптированного для автоматического анализа изображения .

Среди дефектов цифрового изображения можно выделить следующие виды:

  • Цифровой шум
  • Цветовые дефекты (недостаточные или избыточные яркость и контраст, неправильный цветовой тон)
  • Размытость (расфокусировка)

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

Фильтрация зашумленных изображений

Цифровой шум изображения — дефект изображения, вносимый фотосенсорами и электроникой устройств, которые их используют. Для его подавления используют следующие методы:

Линейное усреднение точек по соседям самый простой вид алгоритмов удаления шума. Основная идея их в том чтобы брать среднее арифметическое значение точек в некоторой окрестности в качестве нового значения точки.

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

Пример:</a

div – это коэффициент нормирования, для того чтобы средняя интенсивность оставалась не изменой. Он равен сумме коэффициентов матрицы, в примере div = 6.

Размытие по Гауссу (разновидность линейного свертывания) реализуется с помощью обхода пикселей изображения матрицей свертки, имеющей такой вид:

Матрица 5×5 заполняется по нормальному (гауссовому закону). Ниже приведена та же матрица, где коэффициенты уже являются нормированными, так что div для этой матрицы равен одному.

От размера матрицы зависит сила размытия.

У верхнего левого пикселя не существует «соседей» слева и сверху, следовательно, нам не на что умножать коэффициенты матрицы!

Для решения этой проблемы требуется создание промежуточного изображения. Идея в том, чтобы создавать временное изображение с размерами

width + 2 • gap / 2, height + 2 • gap / 2,   где

width и height – ширина и высота фильтруемого изображения,

gap – размерность матрицы свертки.

В центр изображения копируется входная картинка, а края заполняются крайними пикселями изображения. Размытие применяется к промежуточному буферу, а потом из него извлекается результат.</a

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

Пиксели, которые «попадают» в окно, сортируются в порядке возрастания и выбирается  то значение, которое находится посредине отсортированного списка.

Медианный фильтр обычно используется для уменьшения шума или «сглаживания» изображения.

Для улучшения четкости изображения используется следующий фильтр (div=1):

Морфологические преобразования

Морфологическая фильтрация используется для расширения (дилактации) или сужения (эрозии) элементов бинарного изображения.

Дилатация (морфологическое расширение) – свертка изображения или выделенной области изображения некоторым шаблоном. Шаблон может иметь произвольную форму и размер. При этом в нем выделяется единственная ведущая позиция (anchor), которая совмещается с текущим пикселем при вычислении свертки.

Бинарное изображение – упорядоченный набор (упорядоченного множества) черно-белых точек (пикселей). Максимум интенсивности пикселей изображения равен единице, а минимум – нулю.

Применение дилатации сводится к проходу шаблоном по всему изображению и применению оператора поиска локального максимума интенсивности пикселей изображения, которые накрываются шаблоном. Если максимум равен 1, то точка, в которой находится анкор шаблона будет белая. Такая операция вызывает рост светлых областей на изображении  На рисунке серым цветом отмечены пиксели, которые в результате применения дилатации будут белыми.

Эрозия (морфологическое сужение) – операция, обратная дилатации. Действие эрозии подобно дилатации, разница лишь в том, что используется оператор поиска локального минимума. Если минимум равен 0, то точка, в которой находится анкор шаблона, будет черная.  На рисунке справа серым цветом отмечены пиксели, которые станут черными в результате эрозии.

Операция «Дилатация» – аналог логического «или», операция «Эрозия» – аналог логического «и».

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

Коррекция яркости и контраста изображений

Яркость представляет собой характеристику, определяющую то, на сколько сильно цвета пикселей отличаются от чёрного цвета. Например, если оцифрованная фотография сделана в солнечную погоду, то ее яркость будет значительной. С другой стороны, если фотография сделана вечером или ночью, то её яркость будет невелика.

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

По аналогии с терминами математической статистики можно отметить, что

  • яркость  – среднее значение;
  • контраст  – среднеквадратичное отклонение от среднего значения.

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

Если прямая сдвигается вверх (рис. б), яркость изображения увеличивается, а если прямая сдвигается вниз (рис. в) – уменьшается.

На следующем рисунке показано преобразования контраста. При увеличении контраста изображения (рис. а) наклон прямой увеличивается, при уменьшении контраста – уменьшается (рис. б).

Можно задавать различные преобразования яркости/контраста для каждого из компонентов модели RGB.

Коррекция контрастности изображения линейной растяжкой гистограммы

Гистограмма яркостей показывает, сколько пикселов N с близким значением яркости f  попадает в интервал от fi до f +∆fi.

Пусть, например, уровни некоторого изображения c оттенками серого занимают интервал от 6 до 158 со средним значением яркости 67 при возможном наибольшем интервале значений от 0 до 255.

Это изображение является малоконтрастным, превалирует темный оттенок. Возможным методом улучшения контраста может стать так называемая линейная растяжка гистограммы (stretch), когда уровням исходного изображения, лежащим в интервале [fмин, fмакс], присваиваются новые значения с тем, чтобы охватить  весь   возможный интервал изменения  яркости,  в  данном случае [0, 255]. При этом контраст существенно увеличивается (см. рисунок). Преобразование  уровней яркости осуществляется по формуле:

                             

где fi – старое значение яркости  i-го пиксела, gi – новое значение, a, b – коэффициенты. Для рис.   fмин = 6,  fмакс = 158. Выберем a и b таким образом, чтобы gмин = 0,  gмакс = 255. Из  (1) получаем: a = — 10,01; b = 1,67.

Еще более можно улучшить контраст, используя нормализацию гистограммы.  При  этом   на  весь максимальный  интервал  уровней   яркости [0,  255] растягивается не вся гистограмма, лежащая в пределах от fмин до fмакс, а её наиболее интенсивный участок. На следующем рисунке исключено 5% пикселов.

Целью выравнивания гистограммы (эту процедуру называют также линеаризацией и эквализацией – equalization) является такое преобразование,  чтобы,  в  идеале,  все  уровни  яркости    приобрели  бы   одинаковую частоту, а гистограмма яркостей отвечала бы равномерному закону распределения.

Пусть изображение имеет формат: N пикселов по горизонтали и M по вертикали, число уровней квантования яркости равно J. Общее число пикселов равно N ·M, на один уровень яркости попадает, в среднем, no = N ·M/J пикселов. Например, N = M = 512, J = 256. В этом случае no = 1024. Расстояние ∆между дискретными уровнями яркости от fдо fi+1 в гистограмме исходного изображения одинаковое, но на каждый уровень выпадает различное число пикселов. При эквализации гистограммы расстояние ∆gi между уровнями gi и gi+1 различно, но число пикселов на каждом уровне, в среднем, одинаковое и равно no. Алгоритм эквализации несложен. Пусть уровнями с малой яркостью обладает небольшое количество пикселов, как на следующем рисунке.

Например, уровень яркости 0 на исходном изображении имеют 188 пикселов, уровень 1 — 347 пикселов, уровень 2 — 544 пиксела. В сумме это 1079 пикселов, т.е. приблизительно no. Присвоим всем этим пикселам уровень 0. Пусть на исходном изображении число пикселов с уровнями яркости 3 и 4 в сумме приблизительно также равно no. Этим пикселам присваивается  уровень 1. С другой стороны, пусть число пикселов с уровнем 45 на исходном изображении составляет 3012, т.е. приблизительно 3no. Всем этим пикселам присваивается некоторый одинаковый уровень gi, не обязательно равный 45, а соседние два уровня остаются незаполненными. Рассмотренные процедуры выполняются для всех уровней яркости.

В каждом конкретном случае выбирают ту процедуру преобразования гистограмм,  которая приводит к наилучшему, с точки зрения пользователя, результату.

 

Полезные ссылки:

 

 

 

 

Автор: Николай Свирневский