|
Расчёт гистограмм изображений на базе технологии CUDA
Существует ряд задач, в которых преимущество технологии CUDA выражено явным образом. Это задачи, которые можно распараллелить. Одной из таких задач является гистограммирование, т.е. вычисление гистограммы массива данных (изображения). Если рассматривать этот алгоритм применительно к онлайн-задачам скоростной съёмки, то существуют следующие приложения
- Онлайн анализ изображения по данным гистограммы
- Триггер по изображению (Image Trigger)
- Онлайн проверка однородности освещения с высоким временным разрешением
- Распознавание положения линии лазерного осветителя
Триггер по изображению позволяет определить момент появления нового движущегося объекта на неподвижном фоне. Для этого всё время (для каждого кадра) вычисляется гистограмма текущего кадра и она остаётся неизменной, пока в области съёмки не появится новый объект. При появлении нового объекта гистограмма изменяется и по степени изменения гистограммы можно идентифицировать движущийся объект в кадре. Это необходимо для систем скоростной съёмки, когда нет другого способа синхронизации, т.е. определения момента времени для начала видеозаписи (обычно запись нужно начинать в момент появления движущегося объекта в кадре). Для того, чтобы не пропустить момент начала, данные пишут в кольцевой буфер памяти, поэтому при получении информации о появлении объекта в кадре, необходимо захватить несколько предыдущих кадров из памяти, чтобы учесть латентность при передаче данных из видеокамеры в компьютер и в обратном направлении.
Алгоритм триггера по изображению может быть более сложным - можно определять гистограмму не для всего кадра, а для его части. Также можно использовать дополнительные критерии для изменения гистограмм, учитывающие специфику объекта, который должен появиться в кадре.
Библиотека по расчету гистограмм (монохромные изображения с разрешением 8/12/16 бит)
- Вычисление гистограммы для изображения произвольного размера.
- Триггер по яркости. Выше/ниже порога по яркости. В параметрах также задаётся минимальное количество пикселов по которому триггер сработает.
- Функция накопления спектра фона с возможностью его обнуления.
- Функция сравнения гистограмм текущей картинки и накопленных данных. Триггер срабатывает на изменение заданного количества (задаётся в параметрах) линий как в плюс, так и в минус.
|