Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik ImageForegroundExtractor om de voorgrond van een invoerafbeelding te segmenteren en functies zoals achtergrondverwijdering en stickergeneratie mogelijk te maken.
Het geretourneerde masker heeft de indeling grijswaarden-8. Pixelwaarden variƫren van 0 tot 255, waarbij 0 achtergrond pixels vertegenwoordigt, 255 voorgrond pixels vertegenwoordigt en tussenliggende waarden duiden op een combinatie van voorgrond- en achtergrond pixels.
Voor API-details, zie API-referentie voor AI-imagingfuncties.
Zie Inhoudsveiligheid met generatieve AI-API's voor meer informatie over inhoudsbeheer.
Belangrijk
Vereisten voor pakketmanifest: Als u Windows AI imaging-API's wilt gebruiken, moet uw app worden verpakt als een MSIX-pakket met de systemAIModels mogelijkheid die is gedeclareerd in uw Package.appxmanifest. Zorg er bovendien voor dat het kenmerk van MaxVersionTested uw manifest is ingesteld op een recente Windows-versie (bijvoorbeeld 10.0.26226.0 of hoger) om de Windows AI-functies goed te ondersteunen. Het gebruik van oudere waarden kan fouten veroorzaken die niet door app zijn gedeclareerd bij het laden van het model.
<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>
Een masker genereren op basis van een bitmapafbeelding
- Roep GetReadyState aan en wacht tot EnsureReadyAsync is voltooid om te bevestigen dat het object ImageForegroundExtractor gereed is.
- Nadat het model gereed is, roept u CreateAsync aan om een ImageForegroundExtractor-object te instantiƫren.
- Roep GetMaskFromSoftwareBitmap aan met de invoerafbeelding om het voorgrondmasker te genereren.
using Microsoft.Windows.AI.Imaging;
using Microsoft.Windows.AI;
if (ImageForegroundExtractor.GetReadyState() == AIFeatureReadyState.NotReady)
{
var result = await ImageForegroundExtractor.EnsureReadyAsync();
if (result.Status != AIFeatureReadyResultState.Success)
{
throw result.ExtendedError;
}
}
var model = await ImageForegroundExtractor.CreateAsync();
// Insert your own softwareBitmap here.
var foregroundMask = model.GetMaskFromSoftwareBitmap(softwareBitmap);
#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 (ImageForegroundExtractor::GetReadyState() == AIFeatureReadyState::NotReady)
{
auto loadResult = ImageForegroundExtractor::EnsureReadyAsync().get();
if (loadResult.Status() != AIFeatureReadyResultState::Success)
{
throw winrt::hresult_error(loadResult.ExtendedError());
}
}
auto model = co_await ImageForegroundExtractor::CreateAsync();
// Insert your own softwareBitmap here.
auto foregroundMask = model.GetMaskFromSoftwareBitmap(softwareBitmap);