Compartilhar via


Estrutura HistogramHeader (mfapi.h)

A estrutura HistogramHeader descreve o formato de blob para MF_CAPTURE_METADATA_HISTOGRAM.

Sintaxe

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

Membros

Size

Tamanho desse cabeçalho + (HistogramDataHeader + dados de histograma a seguir) * número de canais disponíveis.

Bins

Número de compartimentos no histograma.

FourCC

Espaço de cor do qual o histograma é coletado

ChannelMasks

Máscaras dos canais de cores para os quais o histograma é coletado.

Grid

Grade da qual o histograma é coletado.

Comentários

O atributo MF_CAPTURE_METADATA_HISTOGRAM contém um histograma quando um quadro de visualização é capturado.

Para o campo ChannelMasks , as máscaras de bits a seguir indicam os canais disponíveis no 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 pode conter vários histogramas coletados de regiões diferentes ou espaços de cores diferentes do mesmo quadro. Cada histograma no blob é identificado por seu próprio HistogramHeader. Cada histograma tem sua própria região e tamanho de saída do sensor associados. Para histograma de quadro completo, a região corresponderá ao tamanho de saída do sensor especificado em HistogramGrid.

Os dados de histograma para todos os canais disponíveis são agrupados em um histograma. Os dados de histograma para cada canal são identificados por um HistogramDataHeader imediatamente acima dos dados. ChannelMasks indicam quantos e quais canais estão tendo os dados de histograma, que é o OR bit a bit do MF_HISTOGRAM_CHANNEL_ bitmasks com suporte, conforme definido acima. ChannelMask indica para qual canal os dados são, que é identificado por qualquer uma das máscaras de bits MF_HISTOGRAM_CHANNEL_ .

Os dados de histograma são uma matriz de ULONG com cada entrada representando o número de pixels que se enquadram em um conjunto de valores tonal, conforme categorizado pelo compartimento. Os dados na matriz devem começar do compartimento 0 para o compartimento N-1, em que N é o número de compartimentos no histograma, por exemplo, HistogramBlobHeader.Bins.

Para o Windows 10, se KSPROPERTY_CAMERACONTROL_EXTENDED_HISTOGRAM tiver suporte, no mínimo um histograma de quadro completo com canal Y deverá ser fornecido, que deve ser o primeiro histograma no blob de histograma. Observe que os dados HistogramBlobHeader, HistogramHeader, HistogramDataHeader e Histogram descrevem apenas o formato de blob para o atributo MF_CAPTURE_METADATA_HISTOGRAM . A estrutura do item de metadados para o histograma (KSCAMERA_METADATA_ITEMHEADER + todo o conteúdo de metadados de histograma) é até o driver e deve estar alinhada a 8 bytes.

Requisitos

   
Cabeçalho mfapi.h

Confira também

HistogramBlobHeader

HistogramDataHeader

HistogramGrid