Базовые операции обработки изображений

2.8. Выравнивание гистограмм

Существует три основных метода повышения контраста изображения:

  • линейная растяжка гистограммы (линейное контрастирование),
  • нормализация гистограммы,
  • выравнивание (линеаризация или эквализация, equalization) гистограммы.

Линейная растяжка сводится к присваиванию новых значений интенсивности каждому пикселю изображения. Если интенсивности исходного изображения изменялись в диапазоне от до , тогда необходимо линейно «растянуть» указанный диапазон так, чтобы значения изменялись от 0 до 255. Для этого достаточно пересчитать старые значения интенсивности для всех пикселей согласно формуле , где коэффициенты просто вычисляются, исходя из того, что граница должна перейти в 0, а — в 255.

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

Выравнивание гистограмм — это один из наиболее распространенных способов. Цель выравнивания состоит в том, чтобы все уровни яркости имели бы одинаковую частоту, а гистограмма соответствовала равномерному закону распределения. Допустим, что задано изображение в оттенках серого, которое имеет разрешение пикселей. Количество уровней квантования яркости пикселей (число бинов) составляет . Тогда в среднем на каждый уровень яркости должно выпадать пикселей. Базовая математика лежит в сопоставлении двух распределений. Пусть — случайные величины, описывающие изменение интенсивности пикселей на изображениях, — плотность распределения интенсивности на исходном изображении, — желаемая плотность распределения. Необходимо найти преобразование плотностей распределения , которое позволило бы получить желаемую плотность:

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

Отсюда получаем, что

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

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

В библиотеке OpenCV реализована функция equalizeHist, которая обеспечивает повышение контрастности изображения посредством выравнивания гистограммы [1, 7]. Прототип функции показан ниже.

void equalizeHist(const Mat& src, Mat& dst)

Функция работает в четыре этапа:

  1. Вычисление гистограммы исходного изображения src. Отметим, что src — 8-битное одноканальное изображение.
  2. Нормализация гистограммы. Нормализация посредством деления величины каждого бина гистограммы на общее количество пикселей.
  3. Построение интегральной гистограммы .
  4. Определение нового значения интенсивности пикселя dst(x,y) = H'(src(x,y)).

Далее приведем пример программы, обеспечивающей выравнивание гистограммы. Приложение принимает в качестве аргумента командной строки название исходного изображения. После выполнения операции выравнивания гистограммы выполняется отображение исходного изображения1, переведенного в оттенки серого (рис. 7.11, слева), и изображения с выровненной гистограммой (рис. 7.11, справа).

#include #include using namespace cv; const char helper[] = «Sample_equalizeHist.exe image

Рис. 7.11. Результат выравнивания гистограммы

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

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

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

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

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

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

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

  • Линейное усреднение точек по соседям. Размытие по Гауссу.
  • Медианная фильтрация.
  • Морфологические преобразования.

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

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

image

Пример:

image

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

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

image

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

image

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

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

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

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

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

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

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

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

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

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

Для улучшения четкости изображения используется следующий фильтр (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 до 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, а соседние два уровня остаются незаполненными. Рассмотренные процедуры выполняются для всех уровней яркости.

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

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

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

Для простоты начнём рассмотрение с монохромных изображений (т.е. изображений содержащих информацию только о яркости, но не о цвете пикселей). Гистограммой изображения будем называть дискретную функцию H, определённую на множестве значений [0;2bpp], где bpp — количество бит, отводимое для кодирования яркости одного пиксела. Хоть это и не является обязательным, но гистограммы часто нормируют в диапазон [0;1], выполняя деление каждого значения функции H[i] на общее количество пикселов изображения. В Табл. 1 представлены примеры тестовых изображений и гистограмм, построенных на их основе:

Табл. 1. Изображения и их гистограммы

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

Интуитивно можно сделать вывод, что наиболее удобным для восприятия человеком будет изображение, у которого гистограмма близка к равномерному распределению. Т.е. для улучшения визуального качества к изображению надо применить такое преобразование, чтобы гистограмма результата содержала все возможные значения яркости и при этом в примерно одинаковом количестве. Такое преобразование называется эквализацией гистограммы и может быть выполнено с помощью кода, приведённого в Листинг 1.

Листинг 1. Реализация процедуры эквализации гистограммы

  1. procedure TCGrayscaleImage.HistogramEqualization;
  2. const
  3. k = 255;
  4. var
  5. h: array [0 .. k] of double;
  6. i, j: word;
  7. begin
  8. for i := 0 to k do
  9. h[i] := 0;
  10. for i := 0 to self.Height — 1 do
  11. for j := 0 to self.Width — 1 do
  12. h[round(k * self.Pixels[i, j])] := h[round(k * self.Pixels[i, j])] + 1;
  13. for i := 0 to k do
  14. h[i] := h[i] / (self.Height * self.Width);
  15. for i := 1 to k do
  16. h[i] := h[i — 1] + h[i];
  17. for i := 0 to self.Height — 1 do
  18. for j := 0 to self.Width — 1 do
  19. self.Pixels[i, j] := h[round(k * self.Pixels[i, j])];
  20. end;

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

Табл. 2. Изображения и их гистограммы после эквализации

Легко можно заметить, что гистограммы после эквализации имеют своеобразные заметные разрывы. Это связано с тем, что динамический диапазон выходного изображения шире диапазона исходного. Очевидно, что в этом случае рассмотренное в Листинг 1 отображение не может обеспечить ненулевые значения во всех карманах гистограммы. Если всё-таки необходимо добиться более естественного вида выходной гистограммы, можно использовать случайное распределение значений i-ого кармана гистограммы в некоторой его окрестности.

Очевидно, что эквализация гистограмм позволяет легко повышать качество монохромных изображений. Естественно хочется применить подобный механизм и к цветным изображениям.

Большинство не очень опытных разработчиков представляют изображение в виде трёх цветовых каналов RGB и пытаются применить процедуру эквализации гистограммы к каждому цветовому в отдельности. В некоторых редких случаях это позволяет добиться успеха, но в большинстве случаев результат так себе (цвета получаются неестественными и холодными). Это связано с тем, что модель RGB неточно отображает цветовосприятие человека.

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

Если рассмотреть проекцию RGB-куба в направлении диагонали белый-чёрный, то получится шестиугольник, углы которого соответствуют первичным и вторичным цветам, а все серые оттенки (лежащие на диагонали куба) при этом проецируются в центральную точку шестиугольника (см. Рис. 1):

Рис. 1. Проекция цветового куба

Чтобы с помощью этой модели можно было закодировать все цвета, доступные в RGB-модели, необходимо добавить вертикальную ось светлоты (или интенсивности) (I). В итоге получается шестигранный конус (Рис. 2, Рис. 3):

Рис. 2. Пирамида HSI (вершины)

В этой модели цветовой тон (H) задаётся углом относительно оси красного цвета, насыщенность (S) характеризует чистоту цвета (1 означает совершенно чистый цвет, а 0 соответствует оттенку серого). При нулевом значении насыщенности тон не имеет смысла и не определен.

Рис. 3. Пирамида HSI

В Табл. 3 показано разложение изображения по компонентам HSI (белые пикселы в канале тона соответствуют нулевой насыщенности):

Табл. 3. Цветовое пространство HSI

Считается, что для повышения качества цветных изображений наиболее эффективно применять процедуру эквализации к каналу интенсивности. Именно это и продемострировано в Табл. 4

Табл. 4. Эквализация различных цветовых каналов

Надеюсь, этот материал показался вам как минимум интересным, как максимум полезным. Спасибо.

Литература:

  1. Guardia, «La Médecine à travers les âges».
  2. Wise, «Review of the History of Medicine» (Л., 1967).
  3. Мустафин Р. И., Протасова А. А., Буховец А. В., Семина И.И. Исследование интерполимерных сочетаний на основе (мет)акрилатов в качестве перспективных носителей в поликомплексных системах для гастроретентивной доставки. Фармация. 2014; 5: 3–5.
  4. https://intuit.ru/studies/courses/10621/1105/lecture/17989?page=9.
  5. https://api-2d3d-cad.com/processingimages/.
  6. https://habr.com/ru/post/244507/.
  7. А.В. Ланцова, Е.В. Санарова, Н.А. Оборотова и др. Разработка технологии получения инъекционной лекарственной формы на основе отечественной субстанции производной индолокарбазола ЛХС-1208 // Российский биотерапевтический журнал. 2014. Т. 13. № 3. С. 25-32.
  8. Renouard, «Histoire de la medicine» (П., 1948).
  9. Wunderlich, «Geschichte der Medicin» (Штуттгардт, 1958).
  10. Patil H., Tiwari R. V., Repka M. A. Recent advancements in mucoadhesive floating drug delivery systems: A mini-review. Journal of Drug Delivery Science and Technology. 2016; 31: 65–71.DOI: 10.1016/j.jddst.2015.12.002.

Ссылка на основную публикацию
Похожие публикации

Санкт-Петербург © ООО «Чешский Дом» 2009г

главная | Наши услуги | НЕДВИЖИМОСТЬ В МАРИАНСКИХ ЛАЗНЯХ | фотогалерея | городские новости | контакты | Марианские Лазни | АПАРТАМЕНТЫ | Санаторно-курортное лечение в Марианских Лазнях | СПА отели | МЕДИЦИНСКИЙ ТУРИЗМ | WELLNESS в Марианских Лазнях | ОТДЫХ В МАРИАНСКИХ ЛАЗНЯХ | СПОРТ В МАРИАНСКИХ ЛАЗНЯХ | ЭКСКУРСИИ И ПУТЕШЕСТВИЯ | ОТВЕТЫ на ВАШИ ВОПРОСЫ | ТРАНСФЕР из/в Марианские Лазни | Прокат автомобилей в Марианских Лазнях | Как получить чешскую визу | Авиабилеты в Прагу и Карловы Вары | Карта сайта |