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 |