Condividi tramite


Struttura IstogramHeader (mfapi.h)

La struttura HistogramHeader descrive il formato BLOB per MF_CAPTURE_METADATA_HISTOGRAM.

Sintassi

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

Members

Size

Dimensioni di questa intestazione + (IstogramDataHeader + dati istogrami seguenti) * numero di canali disponibili.

Bins

Numero di bin nell'istogramma.

FourCC

Spazio dei colori da cui viene raccolto l'istogramma

ChannelMasks

Maschere dei canali di colore per cui viene raccolto l'istogramma.

Grid

Griglia da cui viene raccolto l'istogramma.

Commenti

L'attributo MF_CAPTURE_METADATA_HISTOGRAM contiene un istogramma quando viene acquisito un frame di anteprima.

Per il campo ChannelMasks , i mascherati di bit seguenti indicano i canali disponibili nell'istogramma:

#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

Ogni BLOB può contenere più istogrammi raccolti da aree diverse o spazi di colore diversi dello stesso frame. Ogni istogramma nel BLOB viene identificato dal proprio IstogramHeader. Ogni istogramma ha una propria area e dimensioni di output del sensore associate. Per l'istogramma full frame, l'area corrisponderà alle dimensioni di output del sensore specificate in HistogramGrid.

I dati istogrammi per tutti i canali disponibili vengono raggruppati in un istogramma. I dati istogrammi per ogni canale vengono identificati da un istogramDataHeader immediatamente sopra i dati. ChannelMasks indica quanti canali e quali canali hanno i dati istogrammi, ovvero l'OR bit per bit dei MF_HISTOGRAM_CHANNEL_ supportati come definito in precedenza. ChannelMask indica il canale per cui i dati sono identificati da uno dei MF_HISTOGRAM_CHANNEL_ maschera bit.

I dati istogrammi sono una matrice di ULONG con ogni voce che rappresenta il numero di pixel che rientrano in un set di valori tonali come classificato dal bin. I dati nella matrice devono iniziare da bin 0 a bin N-1, dove N è il numero di bin nell'istogramma, ad esempio IstogramBlobHeader.Bins.

Per Windows 10, se KSPROPERTY_CAMERACONTROL_EXTENDED_HISTOGRAM è supportato, è necessario specificare almeno un istogramma full frame con canale Y che deve essere il primo istogramma nel BLOB dell'istogramma. Si noti che i dati HistogramBlobHeader, HistogramHeader, HistogramDataHeader e Istogram descrivono solo il formato BLOB per l'attributo MF_CAPTURE_METADATA_HISTOGRAM. La struttura dell'elemento dei metadati per l'istogramma (KSCAMERA_METADATA_ITEMHEADER + tutti i payload dei metadati istogrammi) è fino al driver e deve essere allineata a 8 byte.

Requisiti

   
Intestazione mfapi.h

Vedi anche

IstogramBlobHeader

IstogramDataHeader

IstogramGrid