Layanan Pengenalan Karakter Optik (OCR) Vertex AI di Google Distributed Cloud (GDC) yang terisolasi mendeteksi teks dalam gambar menggunakan metode API BatchAnnotateImages
. Layanan ini mendukung file JPEG dan PNG untuk gambar.
Halaman ini menunjukkan cara mendeteksi teks gambar menggunakan OCR API di Distributed Cloud.
Sebelum memulai
Sebelum dapat mulai menggunakan OCR API, Anda harus memiliki project yang mengaktifkan OCR API dan memiliki kredensial yang sesuai. Anda juga dapat menginstal library klien untuk membantu Anda melakukan panggilan ke API. Untuk informasi selengkapnya, lihat Menyiapkan project pengenalan karakter.
Mendeteksi teks dari file JPEG dan PNG
Metode BatchAnnotateImages
mendeteksi teks dari batch file JPEG atau PNG.
Anda mengirimkan file yang ingin Anda deteksi teksnya secara langsung sebagai konten dalam permintaan API. Sistem menampilkan teks yang terdeteksi dalam format JSON dalam respons API.
Anda harus menentukan nilai untuk kolom dalam isi JSON permintaan API Anda. Tabel berikut berisi deskripsi kolom isi permintaan yang harus Anda berikan saat menggunakan metode API BatchAnnotateImages
untuk permintaan deteksi teks:
Kolom isi permintaan | Deskripsi kolom |
---|---|
content |
Gambar dengan teks yang akan dideteksi. Anda memberikan representasi Base64 (string ASCII) dari data gambar biner Anda. |
type |
Jenis deteksi teks yang Anda butuhkan dari gambar. Tentukan salah satu dari dua fitur anotasi:
|
language_hints |
Opsional. Daftar bahasa yang akan digunakan untuk deteksi teks. Sistem menafsirkan nilai kosong untuk kolom ini sebagai deteksi bahasa otomatis. Anda tidak perlu menetapkan kolom language_hints untuk bahasa yang didasarkan pada alfabet Latin.Jika Anda mengetahui bahasa teks dalam gambar, menyetel petunjuk akan meningkatkan hasil. |
Untuk mengetahui informasi tentang representasi JSON lengkap, lihat
AnnotateImageRequest
.
Membuat permintaan API
Buat permintaan ke API terlatih OCR menggunakan metode REST API. Atau, berinteraksi dengan API yang telah dilatih sebelumnya untuk OCR dari skrip Python guna mendeteksi teks dari file JPEG atau PNG.
Contoh berikut menunjukkan cara mendeteksi teks dalam gambar menggunakan OCR:
REST
Ikuti langkah-langkah berikut untuk mendeteksi teks dalam gambar menggunakan metode REST API:
Simpan file
request.json
berikut untuk isi permintaan Anda:cat <<- EOF > request.json { "requests": [ { "image": { "content": BASE64_ENCODED_IMAGE }, "features": [ { "type": "FEATURE_TYPE" } ], "image_context": { "language_hints": [ "LANGUAGE_HINT_1", "LANGUAGE_HINT_2", ... ] } } ] } EOF
Ganti kode berikut:
BASE64_ENCODED_IMAGE
: representasi Base64 (string ASCII) dari data gambar biner Anda. String ini dimulai dengan karakter yang terlihat mirip dengan/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
.FEATURE_TYPE
: jenis deteksi teks yang Anda perlukan dari gambar. Nilai yang diizinkan adalahTEXT_DETECTION
atauDOCUMENT_TEXT_DETECTION
.LANGUAGE_HINT
: tag bahasa BCP 47 yang akan digunakan sebagai petunjuk bahasa untuk deteksi teks, sepertien-t-i0-handwrit
. Kolom ini bersifat opsional dan sistem menafsirkan nilai kosong sebagai deteksi bahasa otomatis.
Buat permintaan:
curl
curl -X POST \ -H "Authorization: Bearer TOKEN" \ -H "x-goog-user-project: projects/PROJECT_ID" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ https://ENDPOINT/v1/images:annotate
Ganti kode berikut:
TOKEN
: token autentikasi yang Anda peroleh.PROJECT_ID
: project ID Anda.ENDPOINT
: endpoint OCR yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.
PowerShell
$headers = @{ "Authorization" = "Bearer TOKEN" "x-goog-user-project" = "projects/PROJECT_ID" } Invoke-WebRequest -Method POST -Headers $headers -ContentType: "application/json; charset=utf-8" -InFile request.json -Uri "ENDPOINT/v1/images:annotate" | Select-Object -Expand Content
Ganti kode berikut:
TOKEN
: token autentikasi yang Anda peroleh.ENDPOINT
: endpoint OCR yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.
Python
Ikuti langkah-langkah berikut untuk menggunakan layanan OCR dari skrip Python guna mendeteksi teks dalam gambar:
Tetapkan variabel lingkungan yang diperlukan pada skrip Python.
Tambahkan kode berikut ke skrip Python yang Anda buat:
from google.cloud import vision import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience = "https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def vision_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return vision.ImageAnnotatorClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) print("Got token: ") print(creds.token) except Exception as e: print("Caught exception" + str(e)) raise e return creds def vision_func(creds): vc = vision_client(creds) image = {"content": "BASE64_ENCODED_IMAGE"} features = [{"type_": vision.Feature.Type.FEATURE_TYPE}] # Each requests element corresponds to a single image. To annotate more # images, create a request element for each image and add it to # the array of requests req = {"image": image, "features": features} metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = vc.annotate_image(req,metadata=metadata) print(resp) if __name__=="__main__": creds = main() vision_func(creds)
Ganti kode berikut:
ENDPOINT
: endpoint OCR yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.BASE64_ENCODED_IMAGE
: representasi Base64 (string ASCII) dari data gambar biner Anda. String ini dimulai dengan karakter yang terlihat mirip dengan/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
.FEATURE_TYPE
: jenis deteksi teks yang Anda perlukan dari gambar. Nilai yang diizinkan adalahTEXT_DETECTION
atauDOCUMENT_TEXT_DETECTION
.PROJECT_ID
: project ID Anda.
Simpan skrip Python.
Jalankan skrip Python untuk mendeteksi teks dalam gambar:
python SCRIPT_NAME
Ganti
SCRIPT_NAME
dengan nama yang Anda berikan ke skrip Python, sepertivision.py
.