De achtergrond in afbeeldingen verwijderen
Belangrijk
Deze functie is nu afgeschaft. Op 31 maart 2025 wordt de Azure AI Image Analysis 4.0 Segment-API en de achtergrondverwijderingsservice buiten gebruik gesteld. Alle aanvragen voor deze service mislukken na deze datum.
Als u een soepele werking van uw modellen wilt behouden, installeert u het opensource Florence 2-model en gebruikt u de regio om de functie te segmenteren, waardoor een vergelijkbare achtergrondverwijderingsbewerking mogelijk is.
In dit artikel ziet u hoe u de AFBEELDINGsanalyse 4.0-API aanroept om een afbeelding te segmenteren (de voorgrond van de achtergrond scheiden). U ziet ook hoe u de geretourneerde informatie kunt parseren.
Belangrijk
Het verwijderen van de achtergrond is alleen beschikbaar via directe REST API-aanroepen. Het is niet beschikbaar via de SDK's.
Vereisten
In deze handleiding wordt ervan uitgegaan dat u de stappen hebt gevolgd die worden vermeld op de snelstartpagina . Dit houdt in:
- U hebt een Vision-resource gemaakt en een sleutel- en eindpunt-URL verkregen.
- U hebt de
curl.exe
service aangeroepen (of u hebt een alternatief hulpprogramma gebruikt). U wijzigt decurl.exe
aanroep op basis van de voorbeelden hier.
In de quickstart ziet u hoe u visuele functies uit een afbeelding extraheert. De concepten zijn echter vergelijkbaar met het verwijderen van achtergronden. Daarom profiteert u van het starten met de quickstart en het aanbrengen van wijzigingen.
Belangrijk
Het verwijderen van de achtergrond is alleen beschikbaar in bepaalde Azure-regio's. Beschikbaarheid van regio's bekijken
Verificatie op basis van de service
Als u zich wilt verifiëren bij de Image Analysis-service, hebt u een Computer Vision-sleutel en eindpunt-URL nodig.
Tip
Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie het beveiligingsartikel over Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.
Verificatie wordt uitgevoerd door de HTTP-aanvraagheader Ocp-Apim-Subscription-Key toe te voegen en deze in te stellen op uw vision-sleutel. De aanroep wordt uitgevoerd naar de URL <endpoint>/computervision/imageanalysis:segment?api-version=2023-02-01-preview
, waar <endpoint>
is uw unieke Url voor het Computer Vision-eindpunt. Zie Een modussectie selecteren voor een andere queryreeks die u aan deze URL toevoegt.
Selecteer de afbeelding die u wilt analyseren
De code in deze handleiding maakt gebruik van externe afbeeldingen waarnaar wordt verwezen door de URL. U kunt zelf verschillende afbeeldingen proberen om de volledige mogelijkheden van de functies voor afbeeldingsanalyse te bekijken.
Bij het analyseren van een externe afbeelding geeft u de URL van de afbeelding op door de hoofdtekst van de aanvraag als volgt op te maken: {"url":"https://learn.microsoft.com/azure/ai-services/computer-vision/images/windows-kitchen.jpg"}
Het inhoudstype moet zijn application/json
.
Als u een lokale afbeelding wilt analyseren, plaatst u de binaire afbeeldingsgegevens in de hoofdtekst van de HTTP-aanvraag. Het inhoudstype moet of application/octet-stream
multipart/form-data
.
Een modus selecteren
Stel de queryreeksmodus in op een van deze twee waarden. Deze queryreeks is verplicht als u afbeeldingssegmentatie wilt uitvoeren.
URL-parameter | Weergegeven als | Beschrijving |
---|---|---|
mode |
backgroundRemoval |
Hiermee wordt een afbeelding van het gedetecteerde voorgrondobject uitgevoerd met een transparante achtergrond. |
mode |
foregroundMatting |
Hiermee wordt een afbeelding met grijsschaal alfa mat uitgevoerd met de dekking van het gedetecteerde voorgrondobject. |
Een ingevulde URL voor backgroundRemoval ziet er als volgt uit: <endpoint>/computervision/imageanalysis:segment?api-version=2023-02-01-preview&mode=backgroundRemoval
Resultaten ophalen van de service
In deze sectie ziet u hoe u de API-aanroep maakt en de resultaten parseert.
De service retourneert een 200
HTTP-antwoord met succes en Content-Type: image/png
de hoofdtekst bevat de geretourneerde PNG-afbeelding in de vorm van een binaire stroom.
Stel dat achtergrondverwijdering wordt uitgevoerd op de volgende afbeelding:
Bij een geslaagde aanroep voor het verwijderen van de achtergrond is de volgende PNG-afbeelding met vier kanalen het antwoord voor de backgroundRemoval
modus:
De volgende PNG-afbeelding met één kanaal is het antwoord voor de foregroundMatting
modus:
De API retourneert een afbeelding met dezelfde grootte als het origineel voor de foregroundMatting
modus, maar maximaal 16 megapixels (behoud van beeldverhouding) voor de backgroundRemoval
modus.
Foutcodes
Bij fout bevat het antwoord van de Image Analysis-service een JSON-nettolading die een foutcode en foutbericht bevat. Het kan ook andere details bevatten in de vorm van en interne foutcode en bericht. Voorbeeld:
{
"error":
{
"code": "InvalidRequest",
"message": "Analyze query is invalid.",
"innererror":
{
"code": "NotSupportedVisualFeature",
"message": "Specified feature type is not valid"
}
}
}
Hieronder volgt een lijst met veelvoorkomende fouten en de oorzaken ervan. Lijstitems worden weergegeven in de volgende indeling:
- HTTP-antwoordcode
- Foutcode en bericht in het JSON-antwoord
- [Optioneel] Interne foutcode en bericht in het JSON-antwoord
- Foutcode en bericht in het JSON-antwoord
Lijst met veelvoorkomende fouten:
400 Bad Request
-
InvalidRequest - Image URL is badly formatted or not accessible
. Zorg ervoor dat de afbeeldings-URL geldig en openbaar toegankelijk is. -
InvalidRequest - The image size is not allowed to be zero or larger than 20971520 bytes
. Verklein de grootte van de afbeelding door deze te comprimeren en/of het formaat ervan te wijzigen en uw aanvraag opnieuw in te dienen. -
InvalidRequest - The feature 'Caption' is not supported in this region
. De functie wordt alleen ondersteund in specifieke Azure-regio's. Zie de vereisten voor quickstart voor de lijst met ondersteunde Azure-regio's. -
InvalidRequest - The provided image content type ... is not supported
. Het inhoudstype van de HTTP-header in de aanvraag is geen toegestaan type:- Voor een afbeeldings-URL moet inhoudstype zijn
application/json
- Voor binaire afbeeldingsgegevens moet inhoudstype zijn
application/octet-stream
ofmultipart/form-data
- Voor een afbeeldings-URL moet inhoudstype zijn
-
InvalidRequest - Either 'features' or 'model-name' needs to be specified in the query parameter
. InvalidRequest - Image format is not valid
-
InvalidImageFormat - Image format is not valid
. Zie de sectie Afbeeldingsvereisten voor ondersteunde afbeeldingsindelingen.
-
InvalidRequest - Analyze query is invalid
-
NotSupportedVisualFeature - Specified feature type is not valid
. Zorg ervoor dat de queryreeks van de functies een geldige waarde heeft. -
NotSupportedLanguage - The input language is not supported
. Zorg ervoor dat de taalquerytekenreeks een geldige waarde heeft voor de geselecteerde visuele functie, op basis van de volgende tabel. BadArgument - 'smartcrops-aspect-ratios' aspect ratio is not in allowed range [0.75 to 1.8]
-
-
401 PermissionDenied
-
401 - Access denied due to invalid subscription key or wrong API endpoint. Make sure to provide a valid key for an active subscription and use a correct regional API endpoint for your resource
.
-
404 Resource Not Found
-
404 - Resource not found
. De service kan het aangepaste model niet vinden op basis van de naam die is opgegeven door demodel-name
querytekenreeks.
-
Tip
Tijdens het werken met Azure AI Vision kunnen tijdelijke fouten optreden die worden veroorzaakt door frequentielimieten die door de service worden afgedwongen of andere tijdelijke problemen, zoals netwerkstoringen. Raadpleeg voor meer informatie over het verwerken van dit soort fouten Patroon voor opnieuw proberen in de handleiding Cloudontwerppatronen en de verwante Patroon Circuitonderbreker.