HistogrammHeader-Struktur (mfapi.h)
Die HistogramHeader-Struktur beschreibt das Blobformat für MF_CAPTURE_METADATA_HISTOGRAM.
Syntax
typedef struct tagHistogramHeader {
ULONG Size;
ULONG Bins;
ULONG FourCC;
ULONG ChannelMasks;
HistogramGrid Grid;
} HistogramHeader;
Members
Size
Größe dieses Headers + (HistogramDataHeader + Histogrammdaten folgend) * Anzahl der verfügbaren Kanäle.
Bins
Anzahl der Bins im Histogramm.
FourCC
Farbraum, von dem das Histogramm erfasst wird
ChannelMasks
Masken der Farbkanäle, für die das Histogramm gesammelt wird.
Grid
Raster, aus dem das Histogramm gesammelt wird.
Hinweise
Das MF_CAPTURE_METADATA_HISTOGRAM-Attribut enthält ein Histogramm, wenn ein Vorschaurahmen erfasst wird.
Für das Feld ChannelMasks geben die folgenden Bitmasken die verfügbaren Kanäle im Histogramm an:
#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
Jedes Blob kann mehrere Histogramme enthalten, die aus verschiedenen Regionen oder verschiedenen Farbräumen desselben Frames gesammelt wurden. Jedes Histogramm im Blob wird durch einen eigenen HistogramHeader identifiziert. Jedem Histogramm ist eine eigene Region und eine eigene Sensorausgabegröße zugeordnet. Beim Vollbildhistogramm entspricht die Region der in HistogramGrid angegebenen Sensorausgabegröße.
Histogrammdaten für alle verfügbaren Kanäle werden unter einem Histogramm gruppiert. Histogrammdaten für jeden Kanal werden durch einen HistogramDataHeader direkt über den Daten identifiziert. ChannelMasks gibt an, wie viele und welche Kanäle über die Histogrammdaten verfügen. Dabei handelt es sich um das bitweise OR der unterstützten MF_HISTOGRAM_CHANNEL_ Bitmasken, wie oben definiert. ChannelMask gibt an, für welchen Kanal die Daten verwendet werden, der durch eine der MF_HISTOGRAM_CHANNEL_ Bitmasken identifiziert wird.
Histogrammdaten sind ein Array von ULONG , wobei jeder Eintrag die Anzahl von Pixeln darstellt, die unter einen Satz von Tonwerten fallen, die nach dem Bin kategorisiert werden. Die Daten im Array sollten von bin 0 bis bin N-1 beginnen, wobei N die Anzahl der Bins im Histogramm ist, z. B. HistogramBlobHeader.Bins.
Wenn für Windows 10 KSPROPERTY_CAMERACONTROL_EXTENDED_HISTOGRAM unterstützt wird, muss mindestens ein Vollbildhistogramm mit Y-Kanal bereitgestellt werden, das das erste Histogramm im Histogrammblob sein sollte. Beachten Sie, dass histogramBlobHeader, HistogramHeader, HistogramDataHeader und Histogrammdaten nur das Blobformat für das attribut MF_CAPTURE_METADATA_HISTOGRAM beschreiben. Die Metadatenelementstruktur für das Histogramm (KSCAMERA_METADATA_ITEMHEADER + alle Histogrammmetadatennutzlast) entspricht dem Treiber und muss 8 Byte ausgerichtet sein.
Requirements (Anforderungen)
Kopfzeile | mfapi.h |