Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können objektlöschen verwenden, um Objekte aus Bildern zu entfernen. Das Modell verwendet sowohl ein Bild als auch eine Graustufenmaske, die angibt, dass das zu entfernende Objekt entfernt wird, den maskierten Bereich aus dem Bild löscht und den gelöschten Bereich durch den Bildhintergrund ersetzt.
Api-Details finden Sie in der API-Referenz für KI-Imageerstellungsfeatures.
Details zur Inhaltsmoderation finden Sie unter Inhaltssicherheit mit generativen AI-APIs.
Von Bedeutung
Paketmanifestanforderungen: Um Windows AI-Imageerstellungs-APIs zu verwenden, muss Ihre App als MSIX-Paket mit der systemAIModels in Ihrer Package.appxmanifestApp deklarierten Funktion verpackt werden. Stellen Sie außerdem sicher, dass das Attribut Ihres Manifests MaxVersionTested auf eine aktuelle Windows-Version festgelegt ist (z. B. 10.0.26226.0 oder höher), um die Windows AI-Features richtig zu unterstützen. Die Verwendung älterer Werte kann beim Laden des Modells zu Fehlern "Nicht durch App deklariert" führen.
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
</Dependencies>
Bildobjekt-Löschen Beispiel
Das folgende Beispiel zeigt, wie ein Objekt aus einem Bild entfernt wird. Im Beispiel wird davon ausgegangen, dass Sie bereits Über Software-Bitmapobjekte (softwareBitmap) für das Bild und die Maske verfügen. Die Maske muss im Grau8-Format sein, wobei jedes Pixel des zu entfernenden Bereichs auf 255 festgelegt ist und alle anderen Pixel auf 0 festgelegt sind.
- Stellen Sie sicher, dass das Image Object Erase-Modell verfügbar ist, indem Sie die GetReadyState-Methode aufrufen und darauf warten, dass die EnsureReadyAsync-Methode erfolgreich zurückgegeben wird.
- Nachdem das Image Object Erase-Modell verfügbar ist, erstellen Sie ein ImageObjectRemover-Objekt , um darauf zu verweisen.
- Übermitteln Sie schließlich das Bild und die Maske mithilfe der RemoveFromSoftwareBitmap-Methode an das Modell, das das endgültige Ergebnis zurückgibt.
using Microsoft.Graphics.Imaging;
using Microsoft.Windows.AI;
using Microsoft.Windows.Management.Deployment;
using Windows.Graphics.Imaging;
if (ImageObjectRemover.GetReadyState() == AIFeatureReadyState.NotReady)
{
var result = await ImageObjectRemover.EnsureReadyAsync();
if (result.Status != AIFeatureReadyResultState.Success)
{
throw result.ExtendedError;
}
}
ImageObjectRemover imageObjectRemover = await ImageObjectRemover.CreateAsync();
SoftwareBitmap finalImage = imageObjectRemover.RemoveFromSoftwareBitmap(imageBitmap, maskBitmap); // Insert your own imagebitmap and maskbitmap
#include <winrt/Microsoft.Graphics.Imaging.h>
#include <winrt/Microsoft.Windows.AI.Imaging.h>
#include <winrt/Windows.Graphics.Imaging.h>
#include <winrt/Windows.Foundation.h>
using namespace winrt::Microsoft::Graphics::Imaging;
using namespace winrt::Microsoft::Windows::AI.Imaging;
using namespace winrt::Windows::Graphics::Imaging;
using namespace winrt::Windows::Foundation;
if (ImageObjectRemover::GetReadyState() == AIFeatureReadyState::NotReady)
{
auto loadResult = ImageObjectRemover::EnsureReadyAsync().get();
if (loadResult.Status() != AIFeatureReadyResultState::Success)
{
throw winrt::hresult_error(loadResult.ExtendedError());
}
}
ImageObjectRemover imageObjectRemover = ImageObjectRemover::CreateAsync().get();
// Insert your own imagebitmap and maskbitmap
Windows::Graphics::Imaging::SoftwareBitmap buffer =
imageObjectRemover.RemoveFromSoftwareBitmap(imageBitmap, maskBitmap);
Siehe auch
- AI Imaging (Übersicht)
- Bildobjektextraktionsmodul – Verwenden Sie diese Option, um Masken für Objekte zu generieren, die Sie entfernen möchten.
- KI Entwickler-Galerie
- Beispiele für windows AI-API