Bagikan melalui


ImageFeatureValue Kelas

Definisi

Menjelaskan properti gambar yang digunakan untuk meneruskan ke model.

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
Warisan
Object Platform::Object IInspectable ImageFeatureValue
Atribut
Penerapan

Persyaratan Windows

Rangkaian perangkat
Windows 10, version 1809 (diperkenalkan dalam 10.0.17763.0)
API contract
Windows.AI.MachineLearning.MachineLearningContract (diperkenalkan dalam v1.0)

Contoh

Contoh berikut membuat LearningModelSession dan LearningModelBinding, mengikat input ke ImageFeatureValue yang dibuat dari VideoFrame, lalu mengikat output.

#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));
}

Keterangan

Ini adalah cara yang direkomendasikan untuk meneruskan gambar sebagai input dan output. Ini memungkinkan Anda untuk fokus pada gambar dan tidak perlu khawatir tentang konversi atau tensorisasi. Anda dapat membuat ImageFeatureValue menggunakan metode ImageFeatureValue.CreateFromVideoFrame .

Windows ML mendukung dua jenis VideoFrame: SoftwareBitmap dan IDirect3DSurface. Sistem mengurus konversi dan tensorisasi agar gambar sesuai dengan format yang diperlukan model. Jenis format model yang saat ini didukung adalah Gray8, Rgb8, dan Bgr8, dan rentang piksel yang saat ini didukung adalah 0-255.

Windows Server

Untuk menggunakan API ini di Windows Server, Anda harus menggunakan Windows Server 2019 dengan Pengalaman Desktop.

Keamanan utas

API ini aman untuk utas.

Properti

Kind

Mengembalikan Jenis yang terkait dengan fitur.

VideoFrame

Mendapatkan bingkai video.

Metode

CreateFromVideoFrame(VideoFrame)

Membuat ImageFeatureValue menggunakan bingkai video yang diberikan.

Berlaku untuk

Lihat juga