Megosztás a következőn keresztül:


A képek hátterének eltávolítása

Ez a cikk bemutatja, hogyan hívhatja meg az Image Analysis 4.0 API-t egy kép szegmentálásához (az előtér elválasztása a háttértől). Azt is bemutatja, hogyan elemezheti a visszaadott információkat.

Fontos

A háttér eltávolítása csak közvetlen REST API-hívásokon keresztül érhető el. Nem érhető el az SDK-kon keresztül.

Előfeltételek

Ez az útmutató feltételezi, hogy sikeresen követte a rövid útmutatóban említett lépéseket. Ez a következőket jelenti:

  • Létrehozott egy Vision-erőforrást, és beszerzett egy kulcsot és egy végpont URL-címet.
  • Sikeresen hívást kezdeményezett curl.exe a szolgáltatáshoz (vagy másik eszközt használt). Az itt látható példák alapján módosíthatja curl.exe a hívást.

A rövid útmutató bemutatja, hogyan nyerhet ki vizualizációs funkciókat egy képből. A fogalmak azonban hasonlóak a háttér eltávolításához. Ezért érdemes a rövid útmutatóval kezdeni, és módosítani.

Fontos

A háttér eltávolítása csak az alábbi Azure-régiókban érhető el: USA keleti régiója, Közép-Franciaország, Közép-Korea, Észak-Európa, Délkelet-Ázsia, Nyugat-Európa, USA nyugati régiója.

Hitelesítés a szolgáltatáson

A Képelemzési szolgáltatáson való hitelesítéshez a Computer Vision-kulcsra és a végpont URL-címére van szükség.

Tipp.

Ne vegye fel közvetlenül a kulcsot a kódba, és soha ne tegye közzé nyilvánosan. Az Azure AI-szolgáltatások biztonsági cikkében további hitelesítési lehetőségeket talál, például az Azure Key Vaultot.

A hitelesítés az Ocp-Apim-Subscription-Key HTTP-kérés fejlécének hozzáadásával és a látáskulcshoz való beállításával történik. A hívás az URL-címre <endpoint>/computervision/imageanalysis:segment?api-version=2023-02-01-previewtörténik, ahol <endpoint> az egyedi Computer Vision-végpont URL-címe található. Lásd: Mód kiválasztása szakasz az URL-címhez hozzáadott másik lekérdezési sztringhez.

Jelölje ki az elemezni kívánt képet

Az útmutatóban szereplő kód az URL-cím alapján hivatkozott távoli képeket használja. Érdemes lehet önállóan különböző képeket kipróbálnia a képelemzési funkciók teljes kapacitásának megtekintéséhez.

Távoli rendszerkép elemzésekor a rendszerkép URL-címét úgy adhatja meg, hogy a kérelem törzsét a következőképpen formázzuk: {"url":"https://learn.microsoft.com/azure/ai-services/computer-vision/images/windows-kitchen.jpg"}. A tartalomtípusnak a következőnek kell lennie application/json: .

A helyi rendszerkép elemzéséhez a bináris képadatokat a HTTP-kérelem törzsébe kell helyeznie. A tartalomtípusnak a következőnek kell lennie application/octet-stream : vagy multipart/form-data.

Mód kiválasztása

Állítsa a lekérdezési sztring módot a két érték egyikére. Ez a lekérdezési sztring kötelező, ha képszegmentálást szeretne végezni.

URL-paraméter Érték Leírás
mode backgroundRemoval Az észlelt előtérobjektum képét adja ki átlátszó háttérrel.
mode foregroundMatting Szürke léptékű alfa matt képet ad ki, amely az észlelt előtérobjektum átlátszatlanságát jeleníti meg.

A backgroundRemoval kitöltött URL-címe így néz ki: <endpoint>/computervision/imageanalysis:segment?api-version=2023-02-01-preview&mode=backgroundRemoval

Eredmények lekérése a szolgáltatásból

Ez a szakasz bemutatja, hogyan kezdeményezheti az API-hívást, és elemezheti az eredményeket.

A szolgáltatás HTTP-választ ad 200 vissza a sikerességhez Content-Type: image/png, és a törzs bináris stream formájában tartalmazza a visszaadott PNG-képet.

Tegyük fel például, hogy a háttér eltávolítása a következő képen fut:

Egy vízközeli város fényképe.

Sikeres háttéreltávolítási hívás esetén a következő négycsatornás PNG-rendszerkép a mód válasza backgroundRemoval :

A víz közelében lévő város fényképe; az ég átlátszó.

Az alábbi egycsatornás PNG-kép a mód válasza foregroundMatting :

A város látképének alfa matta.

Az API az eredetivel megegyező méretű képet ad vissza a foregroundMatting módhoz, de legfeljebb 16 megapixelt (a képarány megőrzése) a backgroundRemoval módhoz.

Hibakódok

Hiba esetén a Képelemzési szolgáltatás válasza tartalmaz egy JSON hasznos adatokat, amely hibakódot és hibaüzenetet tartalmaz. Egyéb részleteket is tartalmazhat a belső hibakód és üzenet formájában. Példa:

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

Az alábbiakban felsoroljuk a gyakori hibákat és azok okait. A listaelemek a következő formátumban jelennek meg:

  • HTTP-válaszkód
    • Hibakód és üzenet a JSON-válaszban
      • [Nem kötelező] Belső hibakód és üzenet a JSON-válaszban

Gyakori hibák listája:

  • 400 Bad Request
    • InvalidRequest - Image URL is badly formatted or not accessible. Győződjön meg arról, hogy a kép URL-címe érvényes és nyilvánosan elérhető.
    • InvalidRequest - The image size is not allowed to be zero or larger than 20971520 bytes. Csökkentse a kép méretét tömörítéssel és/vagy átméretezéssel, és küldje el újra a kérést.
    • InvalidRequest - The feature 'Caption' is not supported in this region. A funkció csak bizonyos Azure-régiókban támogatott. Tekintse meg a támogatott Azure-régiók listájának rövid útmutató előfeltételeit .
    • InvalidRequest - The provided image content type ... is not supported. A kérelemben szereplő HTTP-fejléc tartalomtípusa nem engedélyezett típus:
      • Kép URL-címe esetén a tartalomtípusnakapplication/json
      • Bináris képadatok esetén a tartalomtípusnakapplication/octet-stream vagy multipart/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. A támogatott képformátumokért tekintse meg a Képkövetelmények szakaszt.
    • InvalidRequest - Analyze query is invalid
      • NotSupportedVisualFeature - Specified feature type is not valid. Győződjön meg arról, hogy a funkciók lekérdezési sztringje érvényes értékkel rendelkezik.
      • NotSupportedLanguage - The input language is not supported. Győződjön meg arról, hogy a nyelvi lekérdezési sztring érvényes értékkel rendelkezik a kijelölt vizualizációs funkcióhoz az alábbi táblázat alapján.
      • 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. A szolgáltatás nem találta meg az egyéni modellt a lekérdezési sztring által model-name megadott név alapján.

Tipp.

Az Azure AI Vision használata során átmeneti hibákat tapasztalhat, amelyeket a szolgáltatás által kikényszerített sebességkorlátozások vagy más átmeneti problémák, például a hálózati kimaradások okoznak. Az ilyen típusú hibák kezelésével kapcsolatos információkért tekintse meg az Újrapróbálkozási mintát a Felhőtervezési minták útmutatójában és a kapcsolódó megszakító mintában.

Következő lépések

Háttéreltávolítási fogalmak