OCR dla obrazów (wersja 4.0)

Uwaga

Do wyodrębniania tekstu z dokumentów PDF, Pakietu Office i obrazów dokumentów HTML należy użyć modelu OCR odczytu analizy dokumentów zoptymalizowanego pod kątem dokumentów cyfrowych i zeskanowanych z użyciem asynchronicznego interfejsu API, który ułatwia obsługę inteligentnych scenariuszy przetwarzania dokumentów.

OCR tradycyjnie rozpoczął się jako technika oparta na uczeniu maszynowym do wyodrębniania tekstu z obrazów w środowisku dzikim i niedokumentowym, takich jak etykiety produktów, obrazy generowane przez użytkownika, zrzuty ekranu, znaki uliczne i plakaty. W przypadku kilku scenariuszy, takich jak pojedyncze obrazy, które nie są ciężkie dla tekstu, potrzebujesz szybkiego, synchronicznego interfejsu API lub usługi. Dzięki temu funkcja OCR może być osadzona w środowiskach użytkowników niemal w czasie rzeczywistym w celu wzbogacania rozumienia zawartości i wykonywania kolejnych działań użytkownika z szybkim czasem.

Co to jest przetwarzanie obrazów odczytu OCR w wersji 4.0?

Nowy interfejs API REST przetwarzanie obrazów Image Analysis 4.0 oferuje możliwość wyodrębniania tekstu drukowanego lub odręcznego z obrazów w ujednoliconym interfejsie API synchronicznym ulepszonym pod względem wydajności, który ułatwia uzyskiwanie wszystkich szczegółowych informacji o obrazach, w tym wyników OCR w ramach jednej operacji interfejsu API. Aparat OCR do odczytu jest oparty na wielu modelach uczenia głębokiego obsługiwanych przez uniwersalne modele oparte na skryptach na potrzeby obsługi języka globalnego.

Napiwek

Możesz użyć funkcji OCR za pośrednictwem usługi Azure OpenAI . Model GPT-4 Turbo with Vision umożliwia rozmowę z asystentem sztucznej inteligencji, który umożliwia analizowanie udostępnianych obrazów, a opcja Ulepszenia obrazów używa funkcji Analiza obrazów, aby uzyskać więcej szczegółów (czytelne lokalizacje tekstu i obiektów) na temat obrazu. Aby uzyskać więcej informacji, zobacz przewodnik Szybki start GPT-4 Turbo with Vision.

Przykład wyodrębniania tekstu

Poniższa odpowiedź JSON ilustruje, co interfejs API analizy obrazów 4.0 zwraca podczas wyodrębniania tekstu z danego obrazu.

Photo of a sticky note with writing on it.

{
    "modelVersion": "2024-02-01",
    "metadata":
    {
        "width": 1000,
        "height": 945
    },
    "readResult":
    {
        "blocks":
        [
            {
                "lines":
                [
                    {
                        "text": "You must be the change you",
                        "boundingPolygon":
                        [
                            {"x":251,"y":265},
                            {"x":673,"y":260},
                            {"x":674,"y":308},
                            {"x":252,"y":318}
                        ],
                        "words":
                        [
                            {"text":"You","boundingPolygon":[{"x":252,"y":267},{"x":307,"y":265},{"x":307,"y":318},{"x":253,"y":318}],"confidence":0.996},
                            {"text":"must","boundingPolygon":[{"x":318,"y":264},{"x":386,"y":263},{"x":387,"y":316},{"x":319,"y":318}],"confidence":0.99},
                            {"text":"be","boundingPolygon":[{"x":396,"y":262},{"x":432,"y":262},{"x":432,"y":315},{"x":396,"y":316}],"confidence":0.891},
                            {"text":"the","boundingPolygon":[{"x":441,"y":262},{"x":503,"y":261},{"x":503,"y":312},{"x":442,"y":314}],"confidence":0.994},
                            {"text":"change","boundingPolygon":[{"x":513,"y":261},{"x":613,"y":262},{"x":613,"y":306},{"x":513,"y":311}],"confidence":0.99},
                            {"text":"you","boundingPolygon":[{"x":623,"y":262},{"x":673,"y":263},{"x":673,"y":302},{"x":622,"y":305}],"confidence":0.994}
                        ]
                    },
                    {
                        "text": "wish to see in the world !",
                        "boundingPolygon":
                        [
                            {"x":325,"y":338},
                            {"x":695,"y":328},
                            {"x":696,"y":370},
                            {"x":325,"y":381}
                        ],
                        "words":
                        [
                            {"text":"wish","boundingPolygon":[{"x":325,"y":339},{"x":390,"y":337},{"x":391,"y":380},{"x":326,"y":381}],"confidence":0.992},
                            {"text":"to","boundingPolygon":[{"x":406,"y":337},{"x":443,"y":335},{"x":443,"y":379},{"x":407,"y":380}],"confidence":0.995},
                            {"text":"see","boundingPolygon":[{"x":451,"y":335},{"x":494,"y":334},{"x":494,"y":377},{"x":452,"y":379}],"confidence":0.996},
                            {"text":"in","boundingPolygon":[{"x":502,"y":333},{"x":533,"y":332},{"x":534,"y":376},{"x":503,"y":377}],"confidence":0.996},
                            {"text":"the","boundingPolygon":[{"x":542,"y":332},{"x":590,"y":331},{"x":590,"y":375},{"x":542,"y":376}],"confidence":0.995},
                            {"text":"world","boundingPolygon":[{"x":599,"y":331},{"x":664,"y":329},{"x":664,"y":372},{"x":599,"y":374}],"confidence":0.995},
                            {"text":"!","boundingPolygon":[{"x":672,"y":329},{"x":694,"y":328},{"x":694,"y":371},{"x":672,"y":372}],"confidence":0.957}
                        ]
                    },
                    {
                        "text": "Everything has its beauty , but",
                        "boundingPolygon":
                        [
                            {"x":254,"y":439},
                            {"x":644,"y":433},
                            {"x":645,"y":484},
                            {"x":255,"y":488}
                        ],
                        "words":
                        [
                            {"text":"Everything","boundingPolygon":[{"x":254,"y":442},{"x":379,"y":440},{"x":380,"y":486},{"x":257,"y":488}],"confidence":0.97},
                            {"text":"has","boundingPolygon":[{"x":388,"y":440},{"x":435,"y":438},{"x":436,"y":485},{"x":389,"y":486}],"confidence":0.965},
                            {"text":"its","boundingPolygon":[{"x":445,"y":438},{"x":485,"y":437},{"x":486,"y":485},{"x":446,"y":485}],"confidence":0.99},
                            {"text":"beauty","boundingPolygon":[{"x":495,"y":437},{"x":567,"y":435},{"x":568,"y":485},{"x":496,"y":485}],"confidence":0.685},
                            {"text":",","boundingPolygon":[{"x":577,"y":435},{"x":583,"y":435},{"x":583,"y":485},{"x":577,"y":485}],"confidence":0.939},
                            {"text":"but","boundingPolygon":[{"x":589,"y":435},{"x":644,"y":434},{"x":644,"y":485},{"x":589,"y":485}],"confidence":0.628}
                        ]
                    },
                    {
                        "text": "not everyone sees it !",
                        "boundingPolygon":
                        [
                            {"x":363,"y":508},
                            {"x":658,"y":493},
                            {"x":659,"y":539},
                            {"x":364,"y":552}
                        ],
                        "words":
                        [
                            {"text":"not","boundingPolygon":[{"x":363,"y":510},{"x":412,"y":508},{"x":413,"y":548},{"x":365,"y":552}],"confidence":0.989},
                            {"text":"everyone","boundingPolygon":[{"x":420,"y":507},{"x":521,"y":501},{"x":522,"y":542},{"x":421,"y":548}],"confidence":0.924},
                            {"text":"sees","boundingPolygon":[{"x":536,"y":501},{"x":588,"y":498},{"x":589,"y":540},{"x":537,"y":542}],"confidence":0.987},
                            {"text":"it","boundingPolygon":[{"x":597,"y":497},{"x":627,"y":495},{"x":628,"y":540},{"x":598,"y":540}],"confidence":0.995},
                            {"text":"!","boundingPolygon":[{"x":635,"y":495},{"x":656,"y":494},{"x":657,"y":540},{"x":636,"y":540}],"confidence":0.952}
                        ]
                    }
                ]
            }
        ]
    }
}

Używanie interfejsu API

Funkcja wyodrębniania tekstu jest częścią interfejsu API analizowania obrazu. Uwzględnij Readparametr zapytania funkcji . Następnie po otrzymaniu pełnej odpowiedzi JSON przeanalizuj ciąg zawartości "readResult" sekcji.

Następne kroki

Postępuj zgodnie z przewodnikiem Szybki start Analizy obrazów, aby wyodrębnić tekst z obrazu przy użyciu interfejsu API Analizy obrazów 4.0.