ImageFeatureValue Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Describe las propiedades de la imagen usadas para pasar a un modelo.
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
- Herencia
- Atributos
- Implementaciones
Requisitos de Windows
Familia de dispositivos |
Windows 10, version 1809 (se introdujo en la versión 10.0.17763.0)
|
API contract |
Windows.AI.MachineLearning.MachineLearningContract (se introdujo en la versión v1.0)
|
Ejemplos
En el ejemplo siguiente se crea una clase LearningModelSession y LearningModelBinding, se enlaza la entrada a un ImageFeatureValue creado a partir de un Objeto VideoFrame y, a continuación, se enlaza la salida.
#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));
}
Comentarios
Esta es la manera recomendada de pasar imágenes como entradas y salidas. Permite centrarse en la imagen y no tener que preocuparse por las conversiones o la tensorización. Puede crear un imageFeatureValue mediante el método ImageFeatureValue.CreateFromVideoFrame.
Windows ML admite dos tipos de VideoFrame: SoftwareBitmap e IDirect3DSurface. El sistema se encarga tanto de la conversión como de la tensorización de las imágenes para que coincidan con el formato que requiere el modelo. Los tipos de formato de modelo admitidos actualmente son Gray8, Rgb8 y Bgr8, y el intervalo de píxeles admitido actualmente es 0-255.
Windows Server
Para usar esta API en Windows Server, debe usar Windows Server 2019 con experiencia de escritorio.
Seguridad para subprocesos
Esta API es segura para subprocesos.
Propiedades
Kind |
Devuelve el tipo asociado a la característica. |
VideoFrame |
Obtiene el fotograma de vídeo. |
Métodos
CreateFromVideoFrame(VideoFrame) |
Crea un imageFeatureValue mediante el fotograma de vídeo especificado. |