Kompozycja obrazu półkowego (wersja zapoznawcza)

Część przepływu pracy rozpoznawania produktu obejmuje naprawianie i modyfikowanie obrazów wejściowych, aby usługa mogła działać poprawnie.

W tym przewodniku pokazano, jak używać interfejsu API szwów do łączenia wielu obrazów tej samej półki fizycznej: daje to złożony obraz całej półki detalicznej, nawet jeśli jest on wyświetlany tylko częściowo przez wiele różnych aparatów.

W tym przewodniku pokazano również, jak używać interfejsu API korygowania w celu skorygowania zniekształceń perspektywy podczas łączenia różnych obrazów.

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób usługi Vision w witrynie Azure Portal. Należy ją wdrożyć w regionie Wschodnie stany USA lub Zachodnie stany USA 2. Po wdrożeniu wybierz pozycję Przejdź do zasobu.
    • Będziesz potrzebować klucza i punktu końcowego z utworzonego zasobu, aby połączyć aplikację z usługą Azure AI Vision. W dalszej części przewodnika Szybki start wklejesz klucz i punkt końcowy do poniższego kodu.
  • Zasób usługi Azure Storage z kontenerem magazynu obiektów blob. Utwórz jeden
  • Zainstalowano bibliotekę cURL . Możesz też użyć innej platformy REST, takiej jak Swagger lub rozszerzenie klienta REST dla programu VS Code.
  • Zestaw zdjęć, które pokazują sąsiadujące części tej samej półki. Zalecane jest nakładanie się 50% między obrazami. Możesz pobrać i użyć przykładowych obrazów "bez tytułu" z usługi GitHub.

Korzystanie z interfejsu API łączenia

Interfejs API łączenia łączy wiele obrazów tej samej półki fizycznej.

Three photos of shelves, next to their combined composite photo.

Uwaga

Marki pokazane na obrazach nie są powiązane z firmą Microsoft i nie wskazują żadnej formy poparcia produktów firmy Microsoft lub firmy Microsoft przez właścicieli marki, ani poparcia właścicieli marki lub ich produktów przez firmę Microsoft.

Aby uruchomić operację łączenia obrazów na zestawie obrazów, wykonaj następujące kroki:

  1. Przekaż obrazy, które chcesz połączyć ze sobą w kontenerze magazynu obiektów blob, i uzyskaj bezwzględny adres URL dla każdego obrazu. Jednocześnie można zszyć maksymalnie 10 obrazów.

  2. Skopiuj następujące curl polecenie do edytora tekstów.

    curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "https://<endpoint>/computervision/imagecomposition:stitch?api-version=2023-04-01-preview" --output <your_filename> -d "{
        'images': [
            '<your_url_string_>',
            '<your_url_string_2>',
            ...
        ]
    }"
    
  3. W razie potrzeby wprowadź w poleceniu następujące zmiany:

    1. Zastąp wartość <subscriptionKey> kluczem zasobu usługi Vision.
    2. Zastąp wartość <endpoint> punktem końcowym zasobu usługi Vision. Na przykład: https://YourResourceName.cognitiveservices.azure.com.
    3. Zastąp <your_url_string> zawartość adresami URL obiektów blob obrazów. Obrazy powinny być uporządkowane od lewej do prawej i górnej do dołu, zgodnie z miejscami fizycznymi, które pokazują.
    4. Zastąp <your_filename> ciąg nazwą i rozszerzeniem pliku, w którym chcesz uzyskać wynik (na przykład download.jpg).
  4. Otwórz okno wiersza polecenia.

  5. Wklej edytowane curl polecenie z edytora tekstów w oknie wiersza polecenia, a następnie uruchom polecenie.

Sprawdzanie odpowiedzi na szwy

Interfejs API zwraca 200 odpowiedź, a nowy plik zostanie pobrany do określonej lokalizacji.

Korzystanie z interfejsu API recyfikacji

Po zakończeniu operacji łączenia zalecamy wykonanie operacji recyfikacji w celu uzyskania optymalnych wyników analizy.

Photos of a retail shelf, before and after the rectify operation.

Uwaga

Marki pokazane na obrazach nie są powiązane z firmą Microsoft i nie wskazują żadnej formy poparcia produktów firmy Microsoft lub firmy Microsoft przez właścicieli marki, ani poparcia właścicieli marki lub ich produktów przez firmę Microsoft.

Aby poprawić zniekształcenie perspektywy na obrazie złożonym, wykonaj następujące kroki:

  1. Przekaż obraz, który chcesz sprostować do kontenera magazynu obiektów blob, i uzyskaj bezwzględny adres URL.

  2. Skopiuj następujące curl polecenie do edytora tekstów.

    curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "https://<endpoint>/computervision/imagecomposition:rectify?api-version=2023-04-01-preview" --output <your_filename> -d "{
      'url': '<your_url_string>',
      'controlPoints': {
        'topLeft': {
          'x': 0.1,
          'y': 0.1
        },
        'topRight': {
          'x': 0.2,
          'y': 0.2
        },
        'bottomLeft': {
          'x': 0.3,
          'y': 0.3
        },
        'bottomRight': {
          'x': 0.4,
          'y': 0.4
        }
      }
    }"
    
  3. W razie potrzeby wprowadź w poleceniu następujące zmiany:

    1. Zastąp wartość <subscriptionKey> kluczem zasobu usługi Vision.

    2. Zastąp wartość <endpoint> punktem końcowym zasobu usługi Vision. Na przykład: https://YourResourceName.cognitiveservices.azure.com.

    3. Zastąp ciąg <your_url_string> adresem URL magazynu obiektów blob obrazu.

    4. Zastąp cztery współrzędne punktu kontrolnego w treści żądania. X jest współrzędną poziomą, a Y jest pionowa. Współrzędne są znormalizowane, więc 0,5,0,5 wskazuje środek obrazu, a 1,1 wskazuje prawy dolny róg, na przykład. Ustaw współrzędne, aby zdefiniować cztery rogi oprawy półki, jak pokazano na obrazie.

      Photo of a shelf with its four corners outlined.

      Uwaga

      Marki pokazane na obrazach nie są powiązane z firmą Microsoft i nie wskazują żadnej formy poparcia produktów firmy Microsoft lub firmy Microsoft przez właścicieli marki, ani poparcia właścicieli marki lub ich produktów przez firmę Microsoft.

    5. Zastąp <your_filename> ciąg nazwą i rozszerzeniem pliku, w którym chcesz uzyskać wynik (na przykład download.jpg).

  4. Otwórz okno wiersza polecenia.

  5. Wklej edytowane curl polecenie z edytora tekstów w oknie wiersza polecenia, a następnie uruchom polecenie.

Badanie odpowiedzi na recyfikację

Interfejs API zwraca 200 odpowiedź, a nowy plik zostanie pobrany do określonej lokalizacji.

Następne kroki

W tym przewodniku przedstawiono sposób przygotowywania zdjęć półek do analizy. Następnie wywołaj interfejs API usługi Product Understanding, aby uzyskać wyniki analizy.