Partager via


HistogramHeader, structure (mfapi.h)

La structure HistogramHeader décrit le format d’objet blob pour MF_CAPTURE_METADATA_HISTOGRAM.

Syntaxe

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

Membres

Size

Taille de cet en-tête + (HistogramDataHeader + données histogramme suivantes) * nombre de canaux disponibles.

Bins

Nombre de bacs dans l’histogramme.

FourCC

Espace de couleur à partir duquel l’histogramme est collecté

ChannelMasks

Masques des canaux de couleur pour ant l’histogramme.

Grid

Grille à partir de laquelle l’histogramme est collecté.

Notes

L’attribut MF_CAPTURE_METADATA_HISTOGRAM contient un histogramme lorsqu’une image d’aperçu est capturée.

Pour le champ ChannelMasks , les masques de bits suivants indiquent les canaux disponibles dans l’histogramme :

#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

Chaque objet blob peut contenir plusieurs histogrammes collectés à partir de différentes régions ou d’espaces de couleurs différents du même cadre. Chaque histogramme dans l’objet blob est identifié par son propre HistogramHeader. Chaque histogramme a sa propre région et sa propre taille de sortie de capteur associée. Pour l’histogramme plein format, la région correspond à la taille de sortie du capteur spécifiée dans HistogramGrid.

Les données d’histogramme pour tous les canaux disponibles sont regroupées sous un seul histogramme. Les données d’histogramme pour chaque canal sont identifiées par un HistogramDataHeader situé immédiatement au-dessus des données. ChannelMasks indiquent combien et quels canaux ont les données d’histogramme, c’est-à-dire le OR au niveau du bit des masques de bits pris en charge MF_HISTOGRAM_CHANNEL_ comme défini ci-dessus. ChannelMask indique le canal pour lequel les données sont destinées, qui est identifié par l’un des MF_HISTOGRAM_CHANNEL_ masques de bits.

Les données d’histogramme sont un tableau d’ULONG avec chaque entrée représentant le nombre de pixels relevant d’un ensemble de valeurs tonales classées par le bac. Les données du tableau doivent commencer du bac 0 au bac N-1, où N est le nombre de compartiments dans l’histogramme, par exemple HistogramBlobHeader.Bins.

Par Windows 10, si KSPROPERTY_CAMERACONTROL_EXTENDED_HISTOGRAM est pris en charge, un histogramme plein format avec le canal Y doit au moins être fourni, qui doit être le premier histogramme de l’objet blob d’histogramme. Notez que les données HistogramBlobHeader, HistogramHeader, HistogramDataHeader et Histogram décrivent uniquement le format d’objet blob pour l’attribut MF_CAPTURE_METADATA_HISTOGRAM . La structure d’élément de métadonnées pour l’histogramme (KSCAMERA_METADATA_ITEMHEADER + la charge utile des métadonnées d’histogramme) est à la hauteur du pilote et doit être alignée sur 8 octets.

Spécifications

   
En-tête mfapi.h

Voir aussi

HistogramBlobHeader

HistogramDataHeader

HistogramGrid