ImageFeatureValue Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beschreibt die Eigenschaften des Bilds, das zum Übergeben an ein Modell verwendet wird.
public ref class ImageFeatureValue sealed : ILearningModelFeatureValue
/// [Windows.Foundation.Metadata.ContractVersion(Windows.AI.MachineLearning.MachineLearningContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImageFeatureValue final : ILearningModelFeatureValue
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.AI.MachineLearning.MachineLearningContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageFeatureValue : ILearningModelFeatureValue
Public NotInheritable Class ImageFeatureValue
Implements ILearningModelFeatureValue
- Vererbung
- Attribute
- Implementiert
Windows-Anforderungen
Gerätefamilie |
Windows 10, version 1809 (eingeführt in 10.0.17763.0)
|
API contract |
Windows.AI.MachineLearning.MachineLearningContract (eingeführt in v1.0)
|
Beispiele
Im folgenden Beispiel werden eine LearningModelSession und eine LearningModelBinding erstellt, die Eingabe an ein ImageFeatureValue gebunden, das aus einem VideoFrame erstellt wurde, und dann die Ausgabe gebunden.
#include <winrt/Windows.AI.MachineLearning.h>
#include <winrt/Windows.Media.h>
using namespace winrt;
using namespace Windows::AI::MachineLearning;
using namespace Windows::Media;
...
void BindModel(
LearningModel model,
LearningModelDeviceKind deviceKind,
winrt::hstring inputName,
winrt::hstring outputName,
VideoFrame imageFrame)
{
// Create a session and binding.
LearningModelSession session = LearningModelSession{ model, LearningModelDevice(deviceKind) };
LearningModelBinding binding = LearningModelBinding{ session };
// Bind the intput image.
binding.Bind(inputName, ImageFeatureValue::CreateFromVideoFrame(imageFrame));
// Bind the output.
std::vector<int64_t> shape({ 1, 1000, 1, 1 });
binding.Bind(outputName, TensorFloat::Create(shape));
}
Hinweise
Dies ist die empfohlene Methode zum Übergeben von Bildern als Eingaben und Ausgaben. Sie ermöglicht es Ihnen, sich auf das Bild zu konzentrieren und sich keine Gedanken über Konvertierungen oder Tensorisierung machen zu müssen. Sie können ein ImageFeatureValue-Objekt mit der ImageFeatureValue.CreateFromVideoFrame-Methode erstellen.
Windows ML unterstützt zwei Arten von VideoFrame: SoftwareBitmap und IDirect3DSurface. Das System kümmert sich sowohl um die Konvertierung als auch die Tensorisierung, damit die Bilder dem für das Modell benötigten Format entsprechen. Die derzeit unterstützten Modellformattypen sind Gray8, Rgb8 und Bgr8, und der derzeit unterstützte Pixelbereich ist 0 bis 255.
Windows Server
Um diese API unter Windows Server verwenden zu können, müssen Sie Windows Server 2019 mit Desktopdarstellung verwenden.
Threadsicherheit
Diese API ist threadsicher.
Eigenschaften
Kind |
Gibt den Typ zurück, der dem Feature zugeordnet ist. |
VideoFrame |
Ruft den Videoframe ab. |
Methoden
CreateFromVideoFrame(VideoFrame) |
Erstellt einen ImageFeatureValue-Wert mithilfe des angegebenen Videoframes. |