Структура HistogramHeader (mfapi.h)
Структура HistogramHeader описывает формат большого двоичного объекта для MF_CAPTURE_METADATA_HISTOGRAM.
Синтаксис
typedef struct tagHistogramHeader {
ULONG Size;
ULONG Bins;
ULONG FourCC;
ULONG ChannelMasks;
HistogramGrid Grid;
} HistogramHeader;
Члены
Size
Размер этого заголовка + (HistogramDataHeader + следующие данные гистограммы) * количество доступных каналов.
Bins
Количество ячеек в гистограмме.
FourCC
Цветовое пространство, из которое собирается гистограмма
ChannelMasks
Маски цветовых каналов, для которые собирается гистограмма.
Grid
Сетка, из которую собирается гистограмма.
Комментарии
Атрибут MF_CAPTURE_METADATA_HISTOGRAM содержит гистограмму при захвате кадра предварительного просмотра.
Для поля ChannelMasks следующие битовые маски указывают доступные каналы в гистограмме:
#define MF_HISTOGRAM_CHANNEL_Y 0x00000001
#define MF_HISTOGRAM_CHANNEL_R 0x00000002
#define MF_HISTOGRAM_CHANNEL_G 0x00000004
#define MF_HISTOGRAM_CHANNEL_B 0x00000008
#define MF_HISTOGRAM_CHANNEL_Cb 0x00000010
#define MF_HISTOGRAM_CHANNEL_Cr 0x00000020
Каждый большой двоичный объект может содержать несколько гистограмм, собранных из разных областей или разных цветовых пространств одного кадра. Каждая гистограмма в большом двоичном объекте определяется собственным HistogramHeader. Для каждой гистограммы связана собственная область и размер выходных данных датчика. Для полнокадровой гистограммы область будет соответствовать размеру выходных данных датчика, указанному в histogramGrid.
Данные гистограммы для всех доступных каналов группируются в одну гистограмму. Данные гистограммы для каждого канала идентифицируются методом HistogramDataHeader непосредственно над данными. ChannelMasks указывает, сколько и какие каналы содержат данные гистограммы, то есть побитовое ИЛИ поддерживаемого MF_HISTOGRAM_CHANNEL_ битовых масок, как определено выше. ChannelMask указывает, для какого канала являются данные, который определяется любым из MF_HISTOGRAM_CHANNEL_ битовых масок.
Данные гистограммы — это массив ULONG , каждая из которых представляет количество пикселей, попадающих под набор тональных значений, классифицированных по ячейке. Данные в массиве должны начинаться с bin 0 до ячейки N-1, где N — это количество ячеек в гистограмме, например HistogramBlobHeader.Bins.
Для Windows 10, если поддерживается KSPROPERTY_CAMERACONTROL_EXTENDED_HISTOGRAM , должна быть как минимум гистограмма полного кадра с каналом Y, которая должна быть первой гистограммой в большом двоичном объекте гистограммы. Обратите внимание, что данные HistogramBlobHeader, HistogramHeader, HistogramDataHeader и Histogram описывают только формат большого двоичного объекта для атрибута MF_CAPTURE_METADATA_HISTOGRAM . Структура элемента метаданных для гистограммы (KSCAMERA_METADATA_ITEMHEADER + все полезные данные гистограммы) соответствует драйверу и должна быть выровнена по 8 байтам.
Требования
Верхняя часть | mfapi.h |