Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Структура 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 |