Выполнение операций гистограммы

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

Разработчики, интересующиеся следующим, сочтут гистограммы полезными:

Обзор операций гистограммы

Существует много причин применить операции гистограммы к изображению. Изображение может не полностью использовать возможный диапазон значений интенсивности — например, большинство ее пикселей может быть довольно темным, делая подробные данные трудными видеть. Изменение изображения так, чтобы это имело более универсальную гистограмму, может улучшить контраст. Кроме того, может быть проще сравнить два изображения (относительно текстуры или других аспектов) при изменении каждой гистограммы для соответствия некоторой стандартной гистограммы. Операции гистограммы являются операциями точки: т.е. интенсивность целевого пикселя зависит только от интенсивности исходного пикселя, измененного значениями, которые являются тем же по всему изображению. Два пикселя той же интенсивности всегда отображают на два пикселя того же (но по-видимому измененный) интенсивность. Если исходное изображение будет иметь различные значения интенсивности N, то преобразованное изображение будет иметь на большинстве различных уровней яркости N представленный.

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

Используя операции гистограммы

Перечисление 5-1 показывает, как можно применить работу коррекции к a Planar8 изображение.

  Пример коррекции Гистограммы перечисления 5-1

int MyEqualization(void *inData, unsigned int inRowBytes, void *outData, unsigned int outRowBytes, unsigned int height, unsigned int width, void *kernel, unsigned int kernel_height, unsigned int kernel_width, int divisor, vImage_Flags flags )
{
    vImage_Error err; // 1
    vImage_Buffer src = { inData, height, width, inRowBytes }; // 2
    vImage_Buffer       dest = { outData, height, width, outRowBytes }; // 3
 
    err = vImageEqualization_Planar8(    &src,
                                        &dest,
                                        flags
                                    ); // 4
    return err; // 5
}

Вот то, что делает код:

  1. Объявляет a vImage_Err тип данных для хранения возвращаемого значения функции коррекции.

  2. Объявляет a vImage_Buffer структура данных для получения информации об исходном изображении. Данные изображения сохранены как массив байтов (inData). Другие элементы хранят высоту, ширину и байты на строку изображения. Эти данные позволяют vImage знать, насколько большой массив данных изображения - то, так, чтобы vImage знал, как должным образом обработать его.

  3. Объявляет a vImage_Buffer структура данных для получения информации о конечном изображении, поскольку это сделало ранее исходное изображение.

  4. Вызывает функцию коррекции vImage хранилища результат в vImage_Error тип данных это ранее объявило.

  5. Передачи любые потенциальные коды ошибки до функции вызова.

Распространенные приложения

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

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

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