Share via


De achtergrond in afbeeldingen verwijderen

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 de curl.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

Achtergrondverwijdering is alleen beschikbaar in de volgende Azure-regio's: VS - oost, Frankrijk - centraal, Korea - centraal, Europa - noord, Azië - zuidoost, Europa - west, VS - west.

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-streammultipart/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/pngde hoofdtekst bevat de geretourneerde PNG-afbeelding in de vorm van een binaire stroom.

Stel dat achtergrondverwijdering wordt uitgevoerd op de volgende afbeelding:

Foto van een stad in de buurt van water.

Bij een geslaagde aanroep voor het verwijderen van de achtergrond is de volgende PNG-afbeelding met vier kanalen het antwoord voor de backgroundRemoval modus:

Foto van een stad in de buurt van water; hemel is transparant.

De volgende PNG-afbeelding met één kanaal is het antwoord voor de foregroundMatting modus:

Alpha mat van een skyline van de stad.

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

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 of multipart/form-data
    • InvalidRequest - Either 'features' or 'model-name' needs to be specified in the query parameter.
    • InvalidRequest - Image format is not valid
    • 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 de model-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.

Volgende stappen

Concepten voor het verwijderen van achtergronden