
Ответы на вопросы к экзамену / 27 Гистограммы полутоновых изображений
.docx27. Гистограммы полутоновых изображений.
Гистограммы - важный инструмент обработки полутоновых изобр-й, который позволяет определить необходимые параметры передаточной ф-и для коррекции.
Применяются
гистограммы для яркости и гистограммы
для значений по каналам цветовой модели.
Яркость, в первом случае, является
взвешенной суммой поканальных значений.
По вертикальной оси откладываются либо значения кол-ва пикселей с заданной яркостью, либо нормированные величины, т.е. абсолютные значения делённые на общее число пикселей.
Алгоритм построения гистограммы.
1)Последовательный (подготавливается массив целочисленных счётчиков размерностью 2^n (обычно 2^8), где n – поканальная разрядность полутонов). Исходный массив заполняется нулями, затем осуществляется проход по всем пикселям растра.
Значение в ij – яркость текущего пикселя или поканальное значение, служит индексом в массиве счётчиков и по этому индексу производится инкремент значений.
Для разрядности канала>16 прямое применение такого способа неэффективно, т.к. массив счётчиков является разреженным вектором очень высокой размерности. В то же время изобр-я с такой разрядностью относятся к классу HDR и, как правило, используют представление с плавающей точкой, поэтому значение пикселя не может служить индексом в массиве.
2)Параллельный (на GPU в качестве страницы вывода устанавливается одномерный буфер. С каждым элементом этого буфера ассоциируется счётчик и поток исполнения).
Каждый
поток сканирует всё изобр-е, поданное
на вход в виде растрового ресурса. При
этом поток с индексом I
считает пиксели со значением яркости
i.
Эффективность такого алгоритма зависит
от КЭШ-памяти. Т.к. потоки постоянно
запрашивают одни и те же значения,
производительность м.б. достаточно
высокой. При этом высока когерентность
(способность) доступа с памяти.
Необходимость
применения параллельных алгоритмов
заключается не столько в ускорении
вычислений, сколько в ускорении т.н.
round-trip,
т.е. перекачивание данных между
видеопамятью и системной памятью. Т.к.
если растр сформирован в видеопамяти,
гистограмму для него строит ЦП, то
требуется «поднять» данные в системную
RAM,
а затем «опустить» их обратно в
видеопамять.