ImageFeatureValue 类

定义

描述用于传入模型的图像的属性。

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
继承
Object Platform::Object IInspectable ImageFeatureValue
属性
实现

Windows 要求

设备系列
Windows 10, version 1809 (在 10.0.17763.0 中引入)
API contract
Windows.AI.MachineLearning.MachineLearningContract (在 v1.0 中引入)

示例

以下示例创建 LearningModelSessionLearningModelBinding,将输入绑定到从 VideoFrame 创建的 ImageFeatureValue,然后绑定输出。

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

注解

这是将图像作为输入和输出传递的建议方法。 它使你能够专注于图像,而无需担心转换或张量化。 可以使用 ImageFeatureValue.CreateFromVideoFrame 方法创建 ImageFeatureValue

Windows ML 支持两种类型的 VideoFrameSoftwareBitmapIDirect3DSurface。 系统负责图像的转换和张量化,以匹配模型所需的格式。 当前支持的模型格式类型为 Gray8、Rgb8 和 Bgr8,当前支持的像素范围为 0-255。

Windows Server

若要在 Windows Server 上使用此 API,必须使用具有桌面体验的 Windows Server 2019。

线程安全

此 API 是线程安全的。

属性

Kind

返回与特征关联的 Kind。

VideoFrame

获取视频帧。

方法

CreateFromVideoFrame(VideoFrame)

使用给定的视频帧创建 ImageFeatureValue

适用于

另请参阅