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

Линейное растяжение яркости изображения thumbnail

Евгений Борисов

понедельник, 17 ноября 2014 г.

В этой статье мы поговорим о базовых методах обработки изображений.

1 Введение

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

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

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

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

2 Чёрно-белое изображение

Для многих задач обработки изображений цвет не играет важной роли.
Cамый простой способ кодирования точки изображения это бинарный (0,1), т.е. точка может находиться в двух состояниях чёрная или белая.

Более сложный способ кодирования это градации серого (grayscale), состояние точки
определяется параметром яркости, который принимает значения от 0 до 255, таким образом
одна точка может кодироваться одним байтом.

Линейное растяжение яркости изображения
Рис.1: чёрно-белая картинка

Линейное растяжение яркости изображения
Рис.2: картинка в градациях серого

Преобразовать картинку из градации серого в бинарную можно простым пороговым
преобразованием.

    {
 1 : I > T
I :=   0 : I ≤ T

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

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

Линейное растяжение яркости изображения
Рис.3: неравномерно освещённая картинка

Линейное растяжение яркости изображения
Рис.4: простое пороговое преобразование неравномерно освещённой картинки

Линейное растяжение яркости изображения
Рис.5: адаптивное пороговое преобразование неравномерно освещённой картинки

3 Операции математической морфологии

Результат порогового преобразования может содержать шум. Для борьбы с этими проблемами
применяют операции математической морфологии. Каждая точка исходного изображения
рассматривается с некоторой окрестностью. Форма и размер этой окрестности задаются т.н.
структурным элементом, в простейшем случае это квадрат размера 3×3 точки.
Для обработки изображений применяют две основные операции сужение и расширение, а также их комбинации.

  • Сужение (Erode) – аналог логического И, точка принимает значение 1 (белый) если
    все точки в окрестности белые.
  • Расширение (Dilate) – аналог логического ИЛИ, точка принимает значение 1
    (белый) если в окрестности есть хотя бы одна белая точка.
  • Закрытие (closing) – последовательное выполнение расширения и сужения.
  • Раскрытие (opening) – последовательное выполнение сужения и расширения.

Линейное растяжение яркости изображения
Рис.6: исходная картинка

Линейное растяжение яркости изображения
Рис.7: расширение

Линейное растяжение яркости изображения
Рис.8: сужение

Линейное растяжение яркости изображения
Рис.9: закрытие

Линейное растяжение яркости изображения
Рис.10: раскрытие

4 Фильтры

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

Cвёрточный фильтр или свёртка это следующее преобразование.

               ∑
(f ⋅ g)[m, n] =   f[m −  k,n − l] ⋅ g[k,l]
 k,l

где f — изображение, g — ядро.

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

Фильтры обладают рядом полезных свойств, например комбинации фильтров, применяемых к
изображению, коммутативны и ассоциативны[1].

Далее приведены примеры фильтров

5 Выделение краёв

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

Края на картинке это области резкого изменения яркости. Для выделения краёв обычно
используется метод Canny[1]. Этот метод выполняет свертку изображения с ядром [1 -1] (производная от фильтра Гаусса),
определяет градиент яркости, утоньшает и связывает получившиеся края.

Линейное растяжение яркости изображения
Рис.13: исходная картинка

Линейное растяжение яркости изображения
Рис.14: результат применения Canny

6 Цветовые пространства

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

Параметры, которые называют каналами изображения, можно выбирать разными способами.
наиболее известный — RGB (красный, зелёный, синий), каждый из трёх параметров RGB
кодируется одним байтом, т.е. от 0 до 255.

Помимо RGB существуют и другие способы кодирования, например HSV (Hue, Saturation,
Value) — тон, насыщенность, яркость.

Линейное растяжение яркости изображения
Рис.15: цветовая модель HSV [3]

Цветовая модель HSV может оказаться более удобной для обработки чем RGB.

7 Методы коррекции яркости и контрастности изображения

Для улучшения изображения существуют следующие простые методы.

7.1 Линейная коррекция

Линейная коррекция (autolevels) – растяжение значений яркости точек на весь диапазон [0,255].

                   ------255--------
I := (I − min (I)) ⋅ max (I) − min(I)

Autolevels позволяет улучшить контрастность, этот метод не работает если на
картинке одновременно присутствуют белые (255) и чёрные (0) пиксели, в этом
случае можно применять нелинейную (gamma) коррекцию.

Линейное растяжение яркости изображения
Рис.16: исходная картинка

Линейное растяжение яркости изображения
Рис.17: результат Autolevels

7.2 grayworld — выравнивание средних

Метод grayworld – выравнивание средних значений по всем каналам цветного изображения.

         -m-
Ij := Ij ⋅m  ; j = 1,...n
 j

где n = 3 — количество каналов изображения, mj — среднее значение канала j, m — среднее значение по всем каналам

Линейное растяжение яркости изображения
Рис.18: исходная картинка

Линейное растяжение яркости изображения
Рис.19: результат grayworld

7.3 gamma-коррекция

Метод gamma-коррекции это нелинейное изменение яркости по следующей формуле.

I := c ⋅ Iγ

Читайте также:  Ушибы растяжения закрытые переломы

Линейное растяжение яркости изображения
Рис.20: исходная картинка

Линейное растяжение яркости изображения
Рис.21: результат gamma-коррекции

7.3 retinex — компенсация неравномерного освещения

Метод retinex — компенсация неравномерного освещения, представим картинку как следующую комбинацию.

I = R ⋅ L

где R — исходное изображение, L — освещение.

Получить карту (приближенную) освещения можно применив фильтр Гаусса (низкочастотную фильтрацию).

L’ = I * G

Очищенное изображение восстанавливается по следующей формуле.

log(R’) = log(I) — log(L’)

Линейное растяжение яркости изображения
Рис.22: исходная картинка

Линейное растяжение яркости изображения
Рис.23: результат retinex

Исходные тексты программ [ здесь ].

Список Ð»Ð¸Ñ‚ературы

[1]   ÐÐ½Ñ‚он Конушин Введение в компьютерное зрение –
https://www.lektorium.tv/course/22847

[2]    OpenCV – https://opencv.org

[3]    Wikipedia: HSV – https://ru.wikipedia.org

При использовании материалов этого сайта, пожалуйста вставляйте в свой текст ссылку на мою статью.

Источник

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:02, 27 мая 2016.

Статья по учебной дисциплине
Название дисциплины:

Обнаружение и распознавание сигналов

Раздел:

8. Распознавание и идентификация сигналов на физическом уровне

Глава:

8.1 Предварительная обработка изображений

Преподаватель:

Чичварин Н. В.

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

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

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

Изображения зачастую являются малоконтрастными. Слабый контраст, как правило, обусловлен широким диапазоном воспроизводимых яркостей, нередко сочетающийся с нелинейностью характеристики передачи уровней. Характер зависимости изменения яркости палитры пикселей от минимального значения до максимального также влияет на качество изображения. Оптимальной является линейная функция изменения интенсивности пикселей. При вогнутой характеристике изображение будет более темным, при выпуклой — более светлым. И в том, и в другом случае признаки объектов могут быть искажены и недостаточно хорошо идентифицируемы. Коррекция (линеаризация) яркости палитры существенно улучшает качество изображения.

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

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

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

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

Гистограммы яркости

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

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

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

Читайте также:  Какое физиолечение при растяжении связок

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

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

Выравнивание освещенности изображений

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

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

Для решения таких задач применяется гомоморфная обработка. Идея обработки заключается в сведении нелинейной задачи к линейной. Например, можно свести задачу разделения перемноженных сигналов к задаче разделения сложенных сигналов. Для этого нужно взять логарифм от произведения изображений, который будет равен сумме логарифмов сомножителей. При этом задача разделения произведения сигналов сводится к задаче разделения суммы НЧ- и ВЧ- сигналов и решается с помощью ВЧ-фильтра, который удалит из суммы сигналов низкие частоты. Останется взять от полученного сигнала экспоненту, чтобы вернуться к исходному масштабу амплитуд.

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

Обычно для размытия изображения применяется двумерный гауссовский фильтр, имеющий вид . Здесь – нормирующая константа (сумма всех коэффициентов фильтра должна быть равна 1), – «ширина» фильтра, регулирующая степень размытия.

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

Улучшение пространственного разрешения

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

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

  1. «величины» — степени влияния воздействия на резкость изображения;
  2. «радиуса» — толщины контура резкости;
  3. «порога дискриминации» — определения контуров объектов путем задания разности значений интенсивности соседних пикселей, достаточной для того, чтобы программа повысила контрастность между ними.

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

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

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

Читайте также:  Растяжение связок коленного сустава наколенники

Поиск границ на основе градиента

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

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

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

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

Практический пример выделения границ на фотоизображении приведен на рис.2. Исходное изображение (1) является достаточно однотонным. На изображении (2) представлен результат вычисления вектора градиента яркости . Как видно на рисунке, в точках большого перепада яркости градиент имеет большую длину. Отфильтровав пиксели с длиной градиента, большей определенного порога , мы получим изображение границ (3).

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

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

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

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

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

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

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

Этот алгоритм носит названия алгоритма Кэнни и наиболее часто применяется для нахождения границ.

Поиск границ на основе лапласиана

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

В двумерном варианте аналогом второй производной является лапласиан — скалярный оператор .

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

См. также

Источник