что означает локальное выравнивание гистограмм

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

Дата публикации Jul 10, 2017

Улучшение контрастности изображения

Гистограмма

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

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

На приведенном выше рисунке ось X представляет тональный масштаб (черный слева и белый справа), а ось Y представляет количество пикселей в изображении. Здесь гистограмма показывает количество пикселей для каждого уровня яркости (от черного до белого), а когда пикселей больше, пик на определенном уровне яркости выше.

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

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Цветовая гистограмма изображения представляет количество пикселей в каждом типе цветового компонента. Выравнивание гистограммы не может быть применено отдельно к красному, зеленому и синему компонентам изображения, поскольку это приводит к значительным изменениям цветового баланса изображения. Однако, если изображение сначала преобразуется в другое цветовое пространство, такое как цветовое пространство HSL / HSV, тогда алгоритм может быть применен к каналу яркости или значения без изменения оттенка и насыщенности изображения.

Выравнивание адаптивной гистограммы

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

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Контрастное ограниченное адаптивное уравнение

Contrast Limited AHE (CLAHE) отличается от эквалайзинга адаптивной гистограммы ограничением контраста. В случае CLAHE процедура ограничения контраста применяется к каждой окрестности, из которой выводится функция преобразования. CLAHE был разработан для предотвращения чрезмерного усиления шума, которое может вызвать адаптивное выравнивание гистограммы.

Источник

F#, увеличение контраста изображения путем выравнивания гистограмм

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

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

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

Гистограмма h полутонового изображения I задается выражением

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

, где m соответствует интервалам значений яркости

Ниже приведен псевдокод для вычисления гистограммы.

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

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

Рисунок 1. Графическое отображение гистограммы h(x)

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Здесь гистограмма отображена белым цветом. Синяя линия — это функция распределения cdf(x) и о ней мы поговорим чуть позже.

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

Здесь я не буду приводить инструкцию, как устанавливать этот порт в Visual Studio, этой информации много в интернете. Сделаю только одну ремарку, что для пользователей MacOS, после компиляции проекта, нужно вручную скопировать файл «runtimes/osx-x64/native/libOpenCvSharpExtern.dylib» в папку, где лежит ваш бинарный файл с программой. В противном случае при запуске программы будет возникать исключение
Unable to load shared library ‘OpenCvSharpExtern’ or one of its dependencies

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

Вернемся к функции распределения, упомянутой выше. Она определяется как сумма ячеек гистограммы от нуля до X

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

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

Реализуем функцию, вычисляющую cdf(x)

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

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

Пример выровненной гистограммы можно увидеть на рисунке 2.

Рисунок 2. Выровненная гистограмма

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Здесь видно, как выглядит гистограмма и функция распределения после применения алгоритма выравнивания гистограммы.

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

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

здесь
cdf(x) — Значение функции распределения для точки с яркостью X
cdf_min — Минимальное значение функции распределение, отличное от нуля
pixels — Общее количество пикселей в изображении
255 — максимально возможное значение яркости точки. Для полутоновых изображений это 255
round — функция округления полученного числа до целого значения

Реализуем фунцию F# для выравнивания гистограммы:

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

Сравниваем полученные результаты

Рисунок 3. Сравниваем результаты

Ниже приведены сравнительные примеры некоторых картинок, обработанных нашим алгоритмом и алгоритмом, встроенным в OpenCV.

Слева расположено исходное изображение (гистограмма ниже), посередине — изображение, обработанное нашим алгоритмом и справа — обработанное при помощи OpenCV.

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Подводим итоги

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

Источник

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

СОДЕРЖАНИЕ

Обзор

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

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

Обратная проекция

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

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

Реализация

которая также является накопленной нормализованной гистограммой изображения.

Цветных изображений

Примеры

Маленькое изображение

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Показанное 8-битное изображение в оттенках серого имеет следующие значения:

5255615979617661
62595510494855971
6365661131441046372
6470701261541097169
677368106122886868
6879607077665875
6985645855616583
7087696865737890

Гистограмма для этого изображения показана в следующей таблице. Значения пикселей с нулевым счетом исключаются для краткости.

ЦенитьСчитатьЦенитьСчитатьЦенитьСчитатьЦенитьСчитатьЦенитьСчитать
5216427218521131
5536537328711221
5826627518811261
5936717619011441
6016857719411541
6146937811042
6217047921061
6327128311091

Интегральная функция распределения (CDF), показан ниже. Опять же, значения пикселей, которые не способствуют увеличению cdf, исключены для краткости.

Обратите внимание, что для масштабирования значений в исходных данных, превышающих 0, до диапазона от 1 до L-1 включительно, приведенное выше уравнение будет выглядеть следующим образом:

где cdf (v)> 0. Масштабирование от 1 до 255 сохраняет ненулевое значение минимального значения.

Формула выравнивания для примера масштабирования данных от 0 до 255 включительно:

Например, cdf 78 равно 46. (Значение 78 используется в нижней строке 7-го столбца.) Нормализованное значение становится

Как только это будет сделано, значения уравновешенного изображения берутся непосредственно из нормализованного cdf для получения уравновешенных значений:

01253321905317453
57 год321222721920232154
65859323925122765158
73146146247255235154130
97166117231243210117117
117190361461789320170
1302027320125385194
14620613011785166182215

Обратите внимание, что минимальное значение (52) теперь равно 0, а максимальное значение (154) теперь равно 255.

Источник

Русские Блоги

[OpenCV-Python] Выравнивание гистограммы

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

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

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Гистограмма

Что такое гистограмма? Вы можете думать о гистограмме как о графике или графике, который дает вам общее представление о распределении яркости изображения. Это график со значениями пикселей (от 0 до 255, не всегда) по оси x и количеством пикселей, соответствующих изображению, по оси y.

Это просто еще один способ понимания изображений. Наблюдая за гистограммой изображения, вы можете интуитивно понять контраст, яркость и распределение яркости изображения. Сегодня почти все инструменты обработки изображений предоставляют функции на гистограмме. Следующее изCambridge in Color websiteДля получения более подробной информации рекомендуется посетить этот веб-сайт.

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

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

Термины, связанные с гистограммой

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

RANGE

ДИАПАЗОН: это диапазон значений интенсивности, которые вы хотите измерить. Обычно это [0,256], т.е. все значения интенсивности.

Расчет гистограммы в OpenCV

OpenCV предоставляет функцию cv.calcHist () для получения гистограммы. Давайте познакомимся с этой функцией и ее параметрами:

images: это исходное изображение типа uint8 или float32. Его следует заключить в квадратные скобки, то есть «[img]».

каналы: они также заключены в квадратные скобки. Это индекс канала, по которому мы вычисляем гистограмму. Например, если введено изображение в градациях серого, его значение равно 0. Для цветных изображений вы можете использовать 0, 1 или 2 для расчета гистограммы синего, зеленого или красного канала соответственно.

маска: маска изображения. Чтобы найти гистограмму всего изображения, она обозначается как «Нет». Но если вы хотите найти гистограмму определенной области изображения, вы должны создать для нее маску и использовать ее как маску.

histSize: это количество наших BINS. Для обозначения необходимо использовать квадратные скобки. Во всем диапазоне мы прошли 256.

диапазоны: диапазон значений интенсивности, обычно [0,256]

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

hist представляет собой массив 256×1, каждое значение соответствует значению пикселя в изображении и его соответствующему значению пикселя.

Расчет гистограммы в Numpy

Numpy предоставляет метод np.histogram () для статистики гистограмм одномерных массивов. Список параметров выглядит следующим образом:

a: массив для подсчета

бины: укажите количество статистических интервалов, то есть баллов, равных статистическому диапазону.

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

weights: параметр weights аналогичен bincount ()

Есть два возвращаемых значения,

hist: hist такое же, как и в предыдущем вычислении, статистический результат каждого интервала.

bins: Массив, хранящий начальную точку каждого статистического интервала. Когда диапазон равен [0,256], ячейки содержат 257. Поскольку Numpy вычисляет ячейки как 0-0,99, 1-1,99 и т. Д., Последний из них равен 255-255,99. Чтобы показать это, они также добавили 256 в конец ящиков. Но нам не нужно 256. Достаточно до 255.

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

У Numpy есть еще одна функция, np.bincount (), которая намного быстрее (примерно в 10 раз), чем np.histograme (). Для одномерной гистограммы вы можете попробовать. Не забудьте установить minlength = 256 в np.bincount. Например, hist = np.bincount (img.ravel (), minlength = 256)

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

Нарисуйте гистограмму

1. Использование Matplotlib

В Matplotlib есть функция для рисования гистограмм:

Он непосредственно нашел гистограмму и построил ее. Вам не нужно использовать функции calcHist () или np.histogram () для поиска гистограммы. Взгляните на следующий код:

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

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

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

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

2. Используйте OpenCV

Вы можете настроить значение гистограммы и ее значение ячейки, чтобы она выглядела как координаты x и y, поэтому вы можете использовать функцию cv.line () или cv.polyline (), чтобы построить ее для генерации того же образ. Это официальный образец OpenCV-Python2. Проверьте код sampl / python / hist.py.

Применить маску

Мы используем функцию cv.calcHist (), чтобы найти гистограмму полной картины. Но как насчет гистограммы только части изображения? В области, которую вы хотите найти, создайте замаскированное изображение с белым цветом. Затем используйте его как маску.

Синяя линия представляет собой гистограмму полного изображения.
Зеленая линия представляет гистограмму после маски.

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

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

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

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Рекомендуется прочитать страницу википедии о выравнивании гистограмм.Histogram EqualizationЧтобы узнать об этом больше. Он дает хорошее объяснение и дает несколько примеров, чтобы вы могли все понять после его прочтения. Точно так же мы увидим его реализацию Numpy. После этого мы увидим функции OpenCV.

Алгоритм выравнивания гистограммы

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

Исходную гистограмму h (I) можно рассматривать как распределение результатов класса после определенного экзамена. Между конкретным продуктом и процентным соотношением студентов, как построить сопоставление, чтобы студенты с оценкой 75% или более набрали больше, чем 3/4 учащихся в классе? Ответ состоит в том, чтобы получить кумулятивную функцию распределения c (I) из распределения h (I)

Определение кумулятивной функции распределения (CDF): для непрерывной функции сумма вероятностей появления всех значений, меньших или равных a. F (а) = Р (х

Интеллектуальная рекомендация

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

URL-тур

URL-тур Во всем процессе он может быть примерно разделен на следующие процессы. DNS-анализ домена TCP соединение HTTP-запрос Запрос процессов Возвращает ответ HTTP Рендеринг страницы Выключить соедине.

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Руководство по обзору кода на основе GitLab

Luo Valley P3809 (вопросы массива суффикса)

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

phpMyAdmin сообщает об ошибках на главной странице

[Феномен]: phpMyAdmin сообщает о фатальной ошибке: необученная ошибка: вызов неопределенной функции mb_detect_encoding () [Анализ причины]: На этой домашней странице следует подумать, открыты ли библи.

что означает локальное выравнивание гистограмм. Смотреть фото что означает локальное выравнивание гистограмм. Смотреть картинку что означает локальное выравнивание гистограмм. Картинка про что означает локальное выравнивание гистограмм. Фото что означает локальное выравнивание гистограмм

Что такое алгоритм фильтра Блума?

Нажмите вышеСинее словоУстановить звезду Начнем сегодняшнее исследование

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *