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 |