Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
OCR (Okuma) sürümleri
Önemli
Gereksinimlerinize en uygun Okuma sürümünü seçin.
| Giriş | Örnekler | Okuma sürümü | Fayda |
|---|---|---|---|
| Görüntüler: Genel, vahşi görüntüler | etiketler, sokak işaretleri ve posterler | Görüntüler için OCR (sürüm 4.0) | Kullanıcı deneyimi senaryolarınıza OCR eklemeyi kolaylaştıran, performans açısından geliştirilmiş zaman uyumlu API'ye sahip genel, belge dışı görüntüler için iyileştirilmiştir. |
| Belgeler: Resimler de dahil olmak üzere dijital ve taranmış | kitaplar, makaleler ve raporlar | Belge Zekası okuma modeli | Metin ağırlıklı taranmış ve dijital belgeler için asenkron API ile optimize edilmiştir ve akıllı belge işlemeyi büyük ölçekte otomatikleştirmeye yardımcı olur. |
Azure Vision v3.2 GA Hakkında
En son Azure Vision v3.2 GA sürümünü mü arıyorsunuz? Gelecekteki tüm Okuma OCR geliştirmeleri, daha önce listelenen iki hizmetin bir parçasıdır. Azure Vision v3.2'de başka güncelleştirme yok. Daha fazla bilgi için bkz. Call Azure Vision 3.2 GA Okuma API'si ve Quickstart: Azure Vision v3.2 GA Okuma.
Foundry Tools Read REST API veya istemci kütüphanelerini kullanarak Azure Vision ile çalışmaya başlayın. Okuma API'si, görüntülerden metin ayıklamak ve bunu yapılandırılmış dizeler olarak döndürmek için size yapay zeka algoritmaları sağlar. Uygulamanıza paket yüklemek için bu adımları izleyin ve temel görevler için örnek kodu deneyin.
Bir görüntüden yazdırılan ve el yazısı metinleri okumak için optik karakter tanıma (OCR) istemci kitaplığını kullanın. OCR hizmeti bir görüntüdeki görünür metni okuyabilir ve bir karakter akışına dönüştürebilir. Metin tanıma hakkında daha fazla bilgi için bkz. OCR'ye genel bakış. Bu bölümdeki kod, Döküm Araçları paketinde en son
Ipucu
Yerel görüntüden metin de ayıklayabilirsiniz. ReadInStreamAsync gibi ComputerVisionClient yöntemlerine bakın. Veya yerel görüntüleri içeren senaryolar için GitHub üzerindeki örnek koda bakın.
Reference belgeleri | Kütüphane kaynak kodu | Paket (NuGet) | Örnekler
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturma.
- .NET CoreVisual Studio IDE veya geçerli sürümü.
-
Azure Görüntü İşleme kaynağı. Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (
F0) kullanabilirsiniz. - Uygulamanızı Azure Görüntü İşleme'ye bağlamak için oluşturduğunuz kaynaktan alınan anahtar ve uç nokta.
- Azure Görüntü İşleme kaynağınız dağıtıldıktan sonra Kaynağa gidin öğesini seçin.
- Sol bölmede Anahtarlar ve Uç Nokta'yı seçin.
- Hızlı başlangıcın ilerleyen bölümlerinde kullanmak üzere anahtarlardan birini ve Uç Noktayı kopyalayın.
Ortam değişkenleri oluşturma
Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazın.
Azure portalına gidin. Önkoşullar bölümünde oluşturduğunuz kaynak başarıyla dağıtıldıysa Sonraki adımlar'ın altında Kaynağa git'i seçin. Anahtarınızı ve uç noktanızı Kaynak Yönetimi'nin altında Yüz Tanıma kaynağının Anahtarlar ve Uç Nokta sayfasında bulabilirsiniz. Kaynak anahtarınız Azure abonelik kimliğiniz ile aynı değildir.
Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini ayarlamak için
VISION_KEYdeğerini, kaynağınızın anahtarlarından biriyle değiştirin<your_key>. - Ortam değişkenini ayarlamak için
VISION_ENDPOINT,<your_endpoint>ile kaynağınızın uç noktasını değiştirin.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklere sahip Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure Yapay Zeka Hizmetleri istekleri doğrulama.
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.
Yazdırılan ve el yazısı metinleri okuma
Yeni bir C# uygulaması oluşturun.
Visual Studio kullanarak C#, Windows, Console için Console App (.NET Framework) projesi oluşturun.
Yeni bir proje oluşturduktan sonra istemci kitaplığını yükleyin:
- Çözüm Gezgini içinde proje çözümüne sağ tıklayın ve Solution için NuGet Paketlerini Yönet'i seçin.
- Açılan paket yöneticisinde Gözat seçin. Ön sürümü dahil et'i seçin.
-
Microsoft.Azure.CognitiveServices.Vision.ComputerVisioniçin arama yapın ve seçin. - Ayrıntılar iletişim kutusunda projenizi seçin ve en son kararlı sürümü seçin. Ardından Yükle'yi seçin.
Proje dizininden Program.cs dosyasını tercih ettiğiniz düzenleyicide veya IDE'de açın. Program.cs içeriğini aşağıdaki kodla değiştirin.
using System; using System.Collections.Generic; using Microsoft.Azure.CognitiveServices.Vision.ComputerVision; using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models; using System.Threading.Tasks; using System.IO; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Threading; using System.Linq; namespace ComputerVisionQuickstart { class Program { // Add your Computer Vision key and endpoint static string key = Environment.GetEnvironmentVariable("VISION_KEY"); static string endpoint = Environment.GetEnvironmentVariable("VISION_ENDPOINT"); private const string READ_TEXT_URL_IMAGE = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg"; static void Main(string[] args) { Console.WriteLine("Azure Cognitive Services Computer Vision - .NET quickstart example"); Console.WriteLine(); ComputerVisionClient client = Authenticate(endpoint, key); // Extract text (OCR) from a URL image using the Read API ReadFileUrl(client, READ_TEXT_URL_IMAGE).Wait(); } public static ComputerVisionClient Authenticate(string endpoint, string key) { ComputerVisionClient client = new ComputerVisionClient(new ApiKeyServiceClientCredentials(key)) { Endpoint = endpoint }; return client; } public static async Task ReadFileUrl(ComputerVisionClient client, string urlFile) { Console.WriteLine("----------------------------------------------------------"); Console.WriteLine("READ FILE FROM URL"); Console.WriteLine(); // Read text from URL var textHeaders = await client.ReadAsync(urlFile); // After the request, get the operation location (operation ID) string operationLocation = textHeaders.OperationLocation; Thread.Sleep(2000); // Retrieve the URI where the extracted text will be stored from the Operation-Location header. // We only need the ID and not the full URL const int numberOfCharsInOperationId = 36; string operationId = operationLocation.Substring(operationLocation.Length - numberOfCharsInOperationId); // Extract the text ReadOperationResult results; Console.WriteLine($"Extracting text from URL file {Path.GetFileName(urlFile)}..."); Console.WriteLine(); do { results = await client.GetReadResultAsync(Guid.Parse(operationId)); } while ((results.Status == OperationStatusCodes.Running || results.Status == OperationStatusCodes.NotStarted)); // Display the found text. Console.WriteLine(); var textUrlFileResults = results.AnalyzeResult.ReadResults; foreach (ReadResult page in textUrlFileResults) { foreach (Line line in page.Lines) { Console.WriteLine(line.Text); } } Console.WriteLine(); } } }İsteğe bağlı bir adım olarak bkz. Verilerin nasıl işleneceğini belirleme. Örneğin, en son GA modelini açıkça belirtmek için çağrıyı
ReadAsyncgösterildiği gibi düzenleyin. Parametresini atlayın veya en son GA modelini kullanmak için kullanın"latest".// Read text from URL with a specific model version var textHeaders = await client.ReadAsync(urlFile,null,null,"2022-04-30");Uygulamayı çalıştırın.
- Hata Ayıklamenüsünden Hata Ayıklamayı Başlat'ı seçin.
Çıkış
Azure Vision - .NET quickstart example
----------------------------------------------------------
READ FILE FROM URL
Extracting text from URL file printed_text.jpg...
Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
Calories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.
Kaynakları temizleme
Döküm Araçları aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
- Azure portalıyla kaynakları kaldırın
Azure CLI
Sonraki adımlar
Bu hızlı başlangıçta, OCR istemci kitaplığını yüklemeyi ve Okuma API'sini kullanmayı öğrendiniz. Ardından Okuma API'sinin özellikleri hakkında daha fazla bilgi edinin.
- OCR'ye genel bakış
- Bu örneğin kaynak kodu GitHub üzerinde bulunabilir.
Uzak bir görüntüden yazdırılan ve el yazısı metinleri okumak için optik karakter tanıma (OCR) istemci kitaplığını kullanın. OCR hizmeti bir görüntüdeki görünür metni okuyabilir ve bir karakter akışına dönüştürebilir. Metin tanıma hakkında daha fazla bilgi için bkz. OCR'ye genel bakış.
Ipucu
Yerel görüntüden metin de okuyabilirsiniz. bkz. read_in_stream gibi ComputerVisionClientOperationsMixin yöntemleri. Veya yerel görüntüleri içeren senaryolar için GitHub üzerindeki örnek koda bakın.
Reference belgeleri | Kütüphane kaynak kodu | Paket (PiPy) | Örnekler
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturma.
- Python 3.x.
- Python yüklemeniz pip içermelidir. Pip'in yüklü olup olmadığını denetleyebilirsiniz, komut satırında komutunu çalıştırın
pip --version. en son Python sürümünü yükleyerek pip'i edinin. -
Foundry Tools Azure Vision kaynağı. Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (
F0) kullanabilirsiniz. - Uygulamanızı Azure Görüntü İşleme'ye bağlamak için oluşturduğunuz kaynaktan alınan anahtar ve uç nokta.
- Azure Görüntü İşleme kaynağınız dağıtıldıktan sonra Kaynağa gidin öğesini seçin.
- Sol bölmede Anahtarlar ve Uç Nokta'yı seçin.
- Hızlı başlangıcın ilerleyen bölümlerinde kullanmak üzere anahtarlardan birini ve Uç Noktayı kopyalayın.
Ortam değişkenleri oluşturma
Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazın.
Azure portalına gidin. Önkoşullar bölümünde oluşturduğunuz kaynak başarıyla dağıtıldıysa Sonraki adımlar'ın altında Kaynağa git'i seçin. Anahtarınızı ve uç noktanızı Kaynak Yönetimi'nin altında Yüz Tanıma kaynağının Anahtarlar ve Uç Nokta sayfasında bulabilirsiniz. Kaynak anahtarınız Azure abonelik kimliğiniz ile aynı değildir.
Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini ayarlamak için
VISION_KEYdeğerini, kaynağınızın anahtarlarından biriyle değiştirin<your_key>. - Ortam değişkenini ayarlamak için
VISION_ENDPOINT,<your_endpoint>ile kaynağınızın uç noktasını değiştirin.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklere sahip Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure Yapay Zeka Hizmetleri istekleri doğrulama.
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.
Yazdırılan ve el yazısı metinleri okuma
İstemci kitaplığını yükleyin.
Konsol penceresinde aşağıdaki komutu çalıştırın:
pip install --upgrade azure-cognitiveservices-vision-computervisionYastık kitaplığını yükleyin.
pip install pillowquickstart-file.py adlı yeni bir Python uygulama dosyası oluşturun. Ardından tercih ettiğiniz düzenleyicide veya IDE'de açın.
quickstart-file.py içeriğini aşağıdaki kodla değiştirin.
from azure.cognitiveservices.vision.computervision import ComputerVisionClient from azure.cognitiveservices.vision.computervision.models import OperationStatusCodes from azure.cognitiveservices.vision.computervision.models import VisualFeatureTypes from msrest.authentication import CognitiveServicesCredentials from array import array import os from PIL import Image import sys import time ''' Authenticate Authenticates your credentials and creates a client. ''' subscription_key = os.environ["VISION_KEY"] endpoint = os.environ["VISION_ENDPOINT"] computervision_client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key)) ''' END - Authenticate ''' ''' OCR: Read File using the Read API, extract text - remote This example will extract text in an image, then print results, line by line. This API call can also extract handwriting style text (not shown). ''' print("===== Read File - remote =====") # Get an image with text read_image_url = "https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png" # Call API with URL and raw response (allows you to get the operation location) read_response = computervision_client.read(read_image_url, raw=True) # Get the operation location (URL with an ID at the end) from the response read_operation_location = read_response.headers["Operation-Location"] # Grab the ID from the URL operation_id = read_operation_location.split("/")[-1] # Call the "GET" API and wait for it to retrieve the results while True: read_result = computervision_client.get_read_result(operation_id) if read_result.status not in ['notStarted', 'running']: break time.sleep(1) # Print the detected text, line by line if read_result.status == OperationStatusCodes.succeeded: for text_result in read_result.analyze_result.read_results: for line in text_result.lines: print(line.text) print(line.bounding_box) print() ''' END - Read File - remote ''' print("End of Computer Vision quickstart.")İsteğe bağlı bir adım olarak bkz. Verilerin nasıl işleneceğini belirleme. Örneğin, en son GA modelini açıkça belirtmek için, gösterildiği gibi
readdeyimini düzenleyin. parametresini atlamak veya kullanmak"latest"otomatik olarak en son GA modelini kullanır.# Call API with URL and raw response (allows you to get the operation location) read_response = computervision_client.read(read_image_url, raw=True, model_version="2022-04-30")Hızlı başlangıç dosyanızdaki komutuyla
pythonuygulamayı çalıştırın.python quickstart-file.py
Çıkış
===== Read File - remote =====
The quick brown fox jumps
[38.0, 650.0, 2572.0, 699.0, 2570.0, 854.0, 37.0, 815.0]
Over
[184.0, 1053.0, 508.0, 1044.0, 510.0, 1123.0, 184.0, 1128.0]
the lazy dog!
[639.0, 1011.0, 1976.0, 1026.0, 1974.0, 1158.0, 637.0, 1141.0]
End of Azure Vision quickstart.
Kaynakları temizleme
Döküm Araçları aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
- Azure portalıyla kaynakları kaldırın
Azure CLI
Sonraki adımlar
Bu hızlı başlangıçta, OCR istemci kitaplığını yüklemeyi ve Okuma API'sini kullanmayı öğrendiniz. Ardından Okuma API'sinin özellikleri hakkında daha fazla bilgi edinin.
- OCR'ye genel bakış
- Bu örneğin kaynak kodu GitHub üzerinde bulunabilir.
Okuma API'siyle yazdırılan ve el yazısı metinleri okumak için optik karakter tanıma (OCR) istemci kitaplığını kullanın. OCR hizmeti bir görüntüdeki görünür metni okuyabilir ve bir karakter akışına dönüştürebilir. Metin tanıma hakkında daha fazla bilgi için bkz. OCR'ye genel bakış.
Ipucu
Yerel görüntüden metin de okuyabilirsiniz. ReadInStream gibi ComputerVisionClient yöntemlerine bakın. Veya yerel görüntüleri içeren senaryolar için GitHub üzerindeki örnek koda bakın.
Başvuru belgeleri | Paket (npm) | Örnekleri
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturma.
- Node.js mevcut sürümüdür.
-
Foundry Tools Azure Vision kaynağı. Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (
F0) kullanabilirsiniz. - Uygulamanızı Azure Görüntü İşleme'ye bağlamak için oluşturduğunuz kaynaktan alınan anahtar ve uç nokta.
- Azure Görüntü İşleme kaynağınız dağıtıldıktan sonra Kaynağa gidin öğesini seçin.
- Sol bölmede Anahtarlar ve Uç Nokta'yı seçin.
- Hızlı başlangıcın ilerleyen bölümlerinde kullanmak üzere anahtarlardan birini ve Uç Noktayı kopyalayın.
Ortam değişkenleri oluşturma
Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazın.
Azure portalına gidin. Önkoşullar bölümünde oluşturduğunuz kaynak başarıyla dağıtıldıysa Sonraki adımlar'ın altında Kaynağa git'i seçin. Anahtarınızı ve uç noktanızı Kaynak Yönetimi'nin altında Yüz Tanıma kaynağının Anahtarlar ve Uç Nokta sayfasında bulabilirsiniz. Kaynak anahtarınız Azure abonelik kimliğiniz ile aynı değildir.
Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini ayarlamak için
VISION_KEYdeğerini, kaynağınızın anahtarlarından biriyle değiştirin<your_key>. - Ortam değişkenini ayarlamak için
VISION_ENDPOINT,<your_endpoint>ile kaynağınızın uç noktasını değiştirin.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklere sahip Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure Yapay Zeka Hizmetleri istekleri doğrulama.
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.
Yazdırılan ve el yazısı metinleri okuma
Yeni bir Node.js uygulaması oluşturun.
Konsol penceresinde uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.
mkdir myapp cd myappnpm initkomutunu çalıştırarak dosyaylapackage.jsonbir Node.js uygulaması oluşturun. Herhangi bir istem için Enter'ı seçin.npm initİstemci kitaplığını yüklemek için
ms-rest-azureve@azure/cognitiveservices-computervisionnpm paketini yükleyin.npm install ms-rest-azure npm install @azure/cognitiveservices-computervisionAsync modülünü yükleyin.
npm install asyncUygulamanızın
package.jsondosyası bağımlılıklarla güncelleştirilir.index.jsyeni bir dosya oluşturun ve bir metin düzenleyicisinde açın.
Aşağıdaki kodu index.js dosyanıza yapıştırın.
'use strict'; const async = require('async'); const fs = require('fs'); const https = require('https'); const path = require("path"); const createReadStream = require('fs').createReadStream const sleep = require('util').promisify(setTimeout); const ComputerVisionClient = require('@azure/cognitiveservices-computervision').ComputerVisionClient; const ApiKeyCredentials = require('@azure/ms-rest-js').ApiKeyCredentials; /** * AUTHENTICATE * This single client is used for all examples. */ const key = process.env.VISION_KEY; const endpoint = process.env.VISION_ENDPOINT; const computerVisionClient = new ComputerVisionClient( new ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': key } }), endpoint); /** * END - Authenticate */ function computerVision() { async.series([ async function () { /** * OCR: READ PRINTED & HANDWRITTEN TEXT WITH THE READ API * Extracts text from images using OCR (optical character recognition). */ console.log('-------------------------------------------------'); console.log('READ PRINTED, HANDWRITTEN TEXT AND PDF'); console.log(); // URL images containing printed and/or handwritten text. // The URL can point to image files (.jpg/.png/.bmp) or multi-page files (.pdf, .tiff). const printedTextSampleURL = 'https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg'; // Recognize text in printed image from a URL console.log('Read printed text from URL...', printedTextSampleURL.split('/').pop()); const printedResult = await readTextFromURL(computerVisionClient, printedTextSampleURL); printRecText(printedResult); // Perform read and await the result from URL async function readTextFromURL(client, url) { // To recognize text in a local image, replace client.read() with readTextInStream() as shown: let result = await client.read(url); // Operation ID is last path segment of operationLocation (a URL) let operation = result.operationLocation.split('/').slice(-1)[0]; // Wait for read recognition to complete // result.status is initially undefined, since it's the result of read while (result.status !== "succeeded") { await sleep(1000); result = await client.getReadResult(operation); } return result.analyzeResult.readResults; // Return the first page of result. Replace [0] with the desired page if this is a multi-page file such as .pdf or .tiff. } // Prints all text from Read result function printRecText(readResults) { console.log('Recognized text:'); for (const page in readResults) { if (readResults.length > 1) { console.log(`==== Page: ${page}`); } const result = readResults[page]; if (result.lines.length) { for (const line of result.lines) { console.log(line.words.map(w => w.text).join(' ')); } } else { console.log('No recognized text.'); } } } /** * * Download the specified file in the URL to the current local folder * */ function downloadFilesToLocal(url, localFileName) { return new Promise((resolve, reject) => { console.log('--- Downloading file to local directory from: ' + url); const request = https.request(url, (res) => { if (res.statusCode !== 200) { console.log(`Download sample file failed. Status code: ${res.statusCode}, Message: ${res.statusMessage}`); reject(); } var data = []; res.on('data', (chunk) => { data.push(chunk); }); res.on('end', () => { console.log(' ... Downloaded successfully'); fs.writeFileSync(localFileName, Buffer.concat(data)); resolve(); }); }); request.on('error', function (e) { console.log(e.message); reject(); }); request.end(); }); } /** * END - Recognize Printed & Handwritten Text */ console.log(); console.log('-------------------------------------------------'); console.log('End of quickstart.'); }, function () { return new Promise((resolve) => { resolve(); }) } ], (err) => { throw (err); }); } computerVision();İsteğe bağlı bir adım olarak bkz. Verilerin nasıl işleneceğini belirleme. Örneğin, en son GA modelini açıkça belirtmek için, gösterildiği gibi
readdeyimini düzenleyin. parametresini atlamak veya kullanmak"latest"otomatik olarak en son GA modelini kullanır.let result = await client.read(url,{modelVersion:"2022-04-30"});Hızlı başlangıç dosyanızdaki komutuyla
nodeuygulamayı çalıştırın.node index.js
Çıkış
-------------------------------------------------
READ PRINTED, HANDWRITTEN TEXT AND PDF
Read printed text from URL... printed_text.jpg
Recognized text:
Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
ories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.
-------------------------------------------------
End of quickstart.
Kaynakları temizleme
Döküm Araçları aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
- Azure portalıyla kaynakları kaldırın
Azure CLI
Sonraki adımlar
Bu hızlı başlangıçta, OCR istemci kitaplığını yüklemeyi ve Okuma API'sini kullanmayı öğrendiniz. Ardından Okuma API'sinin özellikleri hakkında daha fazla bilgi edinin.
- OCR'ye genel bakış
- Bu örneğin kaynak kodu GitHub üzerinde bulunabilir.
Yazdırılan ve el yazısı metinleri okumak için optik karakter tanıma (OCR) REST API'sini kullanın.
Not
Bu hızlı başlangıçta REST API'yi çağırmak için cURL komutları kullanılır. Rest API'yi bir programlama dili kullanarak da çağırabilirsiniz. C#, Python, Java ve JavaScript içindeki örnekler için GitHub örneklerine bakın.
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturma.
- cURL yüklü.
-
Foundry Tools Azure Vision kaynağı. Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (
F0) kullanabilirsiniz. - Uygulamanızı Azure Görüntü İşleme'ye bağlamak için oluşturduğunuz kaynaktan alınan anahtar ve uç nokta.
- Azure Görüntü İşleme kaynağınız dağıtıldıktan sonra Kaynağa gidin öğesini seçin.
- Sol bölmede Anahtarlar ve Uç Nokta'yı seçin.
- Hızlı başlangıcın ilerleyen bölümlerinde kullanmak üzere anahtarlardan birini ve Uç Noktayı kopyalayın.
Yazdırılan ve el yazısı metinleri okuma
Optik karakter tanıma (OCR) hizmeti bir görüntü veya belgedeki görünür metni ayıklayabilir ve karakter akışına dönüştürebilir. Metin ayıklama hakkında daha fazla bilgi için bkz. OCR'ye genel bakış.
Okuma API'sini çağırma
Örneği oluşturmak ve çalıştırmak için aşağıdaki adımları uygulayın:
Aşağıdaki komutu bir metin düzenleyicisine kopyalayın.
Gerektiğinde komutta aşağıdaki değişiklikleri yapın:
- değerini
<key>anahtarınız ile değiştirin. - İstek URL'sinin (
https://westcentralus.api.cognitive.microsoft.com/) ilk bölümünü kendi uç nokta URL'nizdeki metinle değiştirin.Not
1 Temmuz 2019'da oluşturulan yeni kaynaklar özel alt etki alanı adlarını kullanacaktır. Daha fazla bilgi ve bölgesel uç noktaların tam listesi için bkz. Döküm Araçları için özel alt etki alanı adları.
- İsteğe bağlı olarak, istek gövdesindeki (
https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) görüntü URL'sini analiz edilecek farklı bir görüntünün URL'si olarak değiştirin.
- değerini
Bir komut istemi penceresi açın.
Metin düzenleyicisindeki komutu komut istemi penceresine yapıştırın ve ardından komutunu çalıştırın.
curl -v -X POST "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyze" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"
Yanıt, değeri benzersiz bir URL olan bir Operation-Location üst bilgi içerir. Okuma işleminin sonuçlarını sorgulamak için bu URL'yi kullanırsınız. URL'nin süresi 48 saat sonra dolar.
İsteğe bağlı olarak model sürümünü belirtin
İsteğe bağlı bir adım olarak bkz. Verilerin nasıl işleneceğini belirleme. Örneğin, en son GA modelini açıkça belirtmek için parametresi olarak kullanın model-version=2022-04-30 . parametresini atlamak veya kullanmak model-version=latest otomatik olarak en son GA modelini kullanır.
curl -v -X POST "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyze?model-version=2022-04-30" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"
Okuma sonuçları alma
Aşağıdaki komutu metin düzenleyicinize kopyalayın.
Önceki adımda kopyaladığınız
Operation-Locationdeğeri ile URL'yi değiştirin.değerini
<key>anahtarınız ile değiştirin.Bir konsol penceresi açın.
Metin düzenleyicisindeki komutu konsol penceresine yapıştırın ve ardından komutunu çalıştırın.
curl -v -X GET "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyzeResults/{operationId}" -H "Ocp-Apim-Subscription-Key: {key}" --data-ascii "{body}"
Yanıtı inceleme
JSON'da başarılı bir yanıt döndürülür. Örnek uygulama, aşağıdaki örneğe benzer şekilde konsol penceresinde başarılı bir yanıtı ayrıştırıp görüntüler:
{
"status": "succeeded",
"createdDateTime": "2021-04-08T21:56:17.6819115+00:00",
"lastUpdatedDateTime": "2021-04-08T21:56:18.4161316+00:00",
"analyzeResult": {
"version": "3.2",
"readResults": [
{
"page": 1,
"angle": 0,
"width": 338,
"height": 479,
"unit": "pixel",
"lines": [
{
"boundingBox": [
25,
14,
318,
14,
318,
59,
25,
59
],
"text": "NOTHING",
"appearance": {
"style": {
"name": "other",
"confidence": 0.971
}
},
"words": [
{
"boundingBox": [
27,
15,
294,
15,
294,
60,
27,
60
],
"text": "NOTHING",
"confidence": 0.994
}
]
}
]
}
]
}
}
Kaynakları temizleme
Döküm Araçları aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
- Azure portalıyla kaynakları kaldırın
Azure CLI
Sonraki adımlar
Bu hızlı başlangıçta Okuma REST API'sini çağırmayı öğrendiniz. Ardından Okuma API'sinin özellikleri hakkında daha fazla bilgi edinin.