Compartir a través de


Estructura HistogramHeader (mfapi.h)

La estructura HistogramHeader describe el formato de blob para MF_CAPTURE_METADATA_HISTOGRAM.

Sintaxis

typedef struct tagHistogramHeader {
  ULONG         Size;
  ULONG         Bins;
  ULONG         FourCC;
  ULONG         ChannelMasks;
  HistogramGrid Grid;
} HistogramHeader;

Members

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.

Comentarios

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.

Requisitos

   
Encabezado mfapi.h

Consulte también

HistogramBlobHeader

HistogramDataHeader

HistogramaGrid