ImageFeatureValue 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
描述用于传入模型的图像的属性。
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
- 继承
- 属性
- 实现
Windows 要求
设备系列 |
Windows 10, version 1809 (在 10.0.17763.0 中引入)
|
API contract |
Windows.AI.MachineLearning.MachineLearningContract (在 v1.0 中引入)
|
示例
以下示例创建 LearningModelSession 和 LearningModelBinding,将输入绑定到从 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 支持两种类型的 VideoFrame: SoftwareBitmap 和 IDirect3DSurface。 系统负责图像的转换和张量化,以匹配模型所需的格式。 当前支持的模型格式类型为 Gray8、Rgb8 和 Bgr8,当前支持的像素范围为 0-255。
Windows Server
若要在 Windows Server 上使用此 API,必须使用具有桌面体验的 Windows Server 2019。
线程安全
此 API 是线程安全的。
属性
Kind |
返回与特征关联的 Kind。 |
VideoFrame |
获取视频帧。 |
方法
CreateFromVideoFrame(VideoFrame) |
使用给定的视频帧创建 ImageFeatureValue 。 |