Estructura HistogramHeader (mfapi.h)
La estructura HistogramHeader describe el formato de blob para MF_CAPTURE_METADATA_HISTOGRAM.
typedef struct tagHistogramHeader {
ULONG Size;
ULONG Bins;
ULONG FourCC;
ULONG ChannelMasks;
HistogramGrid Grid;
} HistogramHeader;
Size
Tamaño de este encabezado + (HistogramDataHeader + datos de histograma siguientes) * número de canales disponibles.
Bins
Número de intervalos en el histograma.
FourCC
Espacio de color del que se recopila el histograma
ChannelMasks
Máscaras de los canales de color para los que se recopila el histograma.
Grid
Cuadrícula de la que se recopila el histograma.
El atributo MF_CAPTURE_METADATA_HISTOGRAM contiene un histograma cuando se captura un fotograma de vista previa.
Para el campo ChannelMasks , las máscaras de bits siguientes indican los canales disponibles en el histograma:
#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
Cada blob puede contener varios histogramas recopilados de regiones diferentes o espacios de color diferentes del mismo marco. Cada histograma del blob se identifica mediante su propio HistogramaHeader. Cada histograma tiene su propia región y tamaño de salida del sensor asociado. Para el histograma de fotograma completo, la región coincidirá con el tamaño de salida del sensor especificado en HistogramGrid.
Los datos del histograma de todos los canales disponibles se agrupan en un histograma. Los datos del histograma de cada canal se identifican mediante un histogramaDataHeader inmediatamente por encima de los datos. ChannelMasks indica cuántos y qué canales tienen los datos del histograma, que es el OR bit a bit del MF_HISTOGRAM_CHANNEL_ máscara de bits admitida, tal y como se ha definido anteriormente. ChannelMask indica para qué canal están los datos, que se identifican mediante cualquiera de los MF_HISTOGRAM_CHANNEL_ máscaras de bits.
Los datos de histogramas son una matriz de ULONG con cada entrada que representa el número de píxeles que se encuentran en un conjunto de valores tonal como categorizados por la discretización. Los datos de la matriz deben comenzar de bin 0 a bin N-1, donde N es el número de intervalos en el histograma, por ejemplo, HistogramBlobHeader.Bins.
Para Windows 10, si se admite KSPROPERTY_CAMERACONTROL_EXTENDED_HISTOGRAM , como mínimo, se debe proporcionar un histograma de fotograma completo con canal Y, que debe ser el primer histograma en el blob histograma. Tenga en cuenta que los datos HistogramBlobHeader, HistogramHeader, HistogramDataHeader y Histogram solo describen el formato de blob del atributo MF_CAPTURE_METADATA_HISTOGRAM . La estructura del elemento de metadatos para el histograma (KSCAMERA_METADATA_ITEMHEADER + toda la carga de metadatos del histograma) es hasta el controlador y debe estar alineada con 8 bytes.
Encabezado | mfapi.h |