Sdílet prostřednictvím


Odebrání pozadí obrázků

Tento článek ukazuje, jak volat rozhraní API pro analýzu obrázků 4.0 k segmentování obrázku (oddělení popředí od pozadí). Také ukazuje, jak analyzovat vrácené informace.

Důležité

Odebrání na pozadí je dostupné jenom prostřednictvím přímých volání rozhraní REST API. Není k dispozici prostřednictvím sad SDK.

Požadavky

Tato příručka předpokládá, že jste úspěšně postupovali podle kroků uvedených na stránce rychlého startu. To znamená:

  • Vytvořili jste prostředek Vision a získali jste adresu URL klíče a koncového bodu.
  • Úspěšně jste provedli curl.exe volání služby (nebo jste použili alternativní nástroj). Volání upravíte curl.exe na základě zde uvedených příkladů.

Rychlý start ukazuje, jak extrahovat vizuální funkce z obrázku. Koncepty se ale podobají odebrání na pozadí. Proto můžete začít rychlým startem a provádět změny.

Důležité

Odebrání na pozadí je dostupné jenom v určitých oblastech Azure. Zobrazit dostupnost oblastí

Ověření vůči službě

K ověření ve službě Image Analysis Service potřebujete Počítačové zpracování obrazu klíč a adresu URL koncového bodu.

Tip

Nezahrňte klíč přímo do kódu a nikdy ho nesdělujte veřejně. Další možnosti ověřování, jako je Azure Key Vault, najdete v článku zabezpečení služeb Azure AI.

Ověřování se provádí přidáním hlavičky požadavku HTTP Ocp-Apim-Subscription-Key a jeho nastavením na klíč zpracování obrazu. Volání se provede na adresu URL, kde <endpoint> je vaše jedinečná adresa URL <endpoint>/computervision/imageanalysis:segment?api-version=2023-02-01-previewkoncového bodu Počítačové zpracování obrazu. Další řetězec dotazu, který přidáte na tuto adresu URL, najdete v části Vybrat režim .

Výběr obrázku k analýze

Kód v této příručce používá vzdálené obrázky, na které odkazuje adresa URL. Možná si budete chtít vyzkoušet různé obrázky, abyste viděli všechny funkce analýzy obrázků.

Při analýze vzdáleného obrázku zadáte adresu URL obrázku tak, že naformátujete text požadavku takto: {"url":"https://learn.microsoft.com/azure/ai-services/computer-vision/images/windows-kitchen.jpg"}. Typ obsahu by měl být application/json.

Pokud chcete analyzovat místní obrázek, vložte data binárního obrázku do textu požadavku HTTP. Typ obsahu by měl být application/octet-stream nebo multipart/form-data.

Výběr režimu

Nastavte režim řetězce dotazu na jednu z těchto dvou hodnot. Tento řetězec dotazu je povinný, pokud chcete provést segmentaci obrázků.

Parametr adresy URL Hodnota Popis
mode backgroundRemoval Vypíše obrázek rozpoznaného objektu popředí s průhledným pozadím.
mode foregroundMatting Výstupem je obrázek alfa matného stupně šedé, který znázorňuje neprůhlednost rozpoznaného objektu popředí.

Vyplněná adresa URL pro backgroundRemoval by vypadala takto: <endpoint>/computervision/imageanalysis:segment?api-version=2023-02-01-preview&mode=backgroundRemoval

Získání výsledků ze služby

V této části se dozvíte, jak provést volání rozhraní API a analyzovat výsledky.

Služba vrátí 200 odpověď HTTP při úspěchu Content-Type: image/pnga tělo obsahuje vrácený obrázek PNG ve formě binárního streamu.

Předpokládejme například, že se na následujícím obrázku spustí odebrání pozadí:

Fotka města poblíž vody.

Při úspěšném volání odebrání pozadí je následující čtyřkanálový obrázek PNG odpovědí pro backgroundRemoval režim:

Fotografie města v blízkosti vody; nebe je průhledné.

Následující obrázek PNG s jedním kanálem je odpověď pro foregroundMatting režim:

Alfa matný mrakodrapu města.

Rozhraní API vrátí obrázek se stejnou velikostí jako původní pro foregroundMatting režim, ale maximálně 16 megapixelů (zachování poměru stran obrázku backgroundRemoval ) pro režim.

Kódy chyb

V případě chyby obsahuje odpověď služby Analýza obrázků dat datOVOU část JSON, která obsahuje kód chyby a chybovou zprávu. Může také obsahovat další podrobnosti ve formě a vnitřní kód chyby a zprávy. Příklad:

{
    "error":
    {
        "code": "InvalidRequest",
        "message": "Analyze query is invalid.",
        "innererror":
        {
            "code": "NotSupportedVisualFeature",
            "message": "Specified feature type is not valid"
        }
    }
}

Následuje seznam běžných chyb a jejich příčin. Položky seznamu jsou uvedeny v následujícím formátu:

  • Kód odpovědi HTTP
    • Kód chyby a zpráva v odpovědi JSON
      • [Volitelné] Vnitřní kód chyby a zpráva v odpovědi JSON

Seznam běžných chyb:

  • 400 Bad Request
    • InvalidRequest - Image URL is badly formatted or not accessible. Ujistěte se, že adresa URL obrázku je platná a veřejně přístupná.
    • InvalidRequest - The image size is not allowed to be zero or larger than 20971520 bytes. Zmenšete velikost obrázku tím, že ho zkomprimujte nebo zmenšete a znovu odešlete požadavek.
    • InvalidRequest - The feature 'Caption' is not supported in this region. Tato funkce se podporuje jenom v konkrétních oblastech Azure. Seznam podporovaných oblastí Azure najdete v požadavcích pro rychlý start.
    • InvalidRequest - The provided image content type ... is not supported. Typ obsahu hlavičky HTTP v požadavku není povolený typ:
      • Adresa URL obrázku by měla být typu obsahu. application/json
      • Pro data binárního obrázku by měl být application/octet-stream typ obsahu nebomultipart/form-data
    • 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. Podporované formáty obrázků najdete v části Požadavky na image.
    • InvalidRequest - Analyze query is invalid
      • NotSupportedVisualFeature - Specified feature type is not valid. Ujistěte se, že řetězec dotazu funkcí má platnou hodnotu.
      • NotSupportedLanguage - The input language is not supported. Ujistěte se, že řetězec dotazu jazyka má platnou hodnotu pro vybranou vizuální funkci na základě následující tabulky.
      • 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. Služba nemohla najít vlastní model založený na názvu zadaném řetězcem model-name dotazu.

Tip

Při práci s Azure AI Vision můžete narazit na přechodná selhání způsobená omezeními rychlosti vynucenými službou nebo jinými přechodnými problémy, jako jsou výpadky sítě. Informace o zpracování těchto typů selhání najdete v části Vzory opakování v průvodci vzory návrhu cloudu a související model jističe.

Další kroky

Koncepty odebrání pozadí