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ítecurl.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-preview
koncové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/png
a 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í:
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:
Následující obrázek PNG s jedním kanálem je odpověď pro foregroundMatting
režim:
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
- 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
- Adresa URL obrázku by měla být typu obsahu.
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ězcemmodel-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.