Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengaturcaraan Python melaksanakan dok antara muka Baidu OCR dan fungsi pengekstrakan teks imej

Pengaturcaraan Python melaksanakan dok antara muka Baidu OCR dan fungsi pengekstrakan teks imej

PHPz
PHPzasal
2023-08-26 17:28:45679semak imbas

Pengaturcaraan Python melaksanakan dok antara muka Baidu OCR dan fungsi pengekstrakan teks imej

Pengaturcaraan Python untuk melaksanakan dok antara muka OCR Baidu dan fungsi pengekstrakan teks imej

Pengenalan:
Dengan perkembangan pesat pembelajaran mendalam, teknologi OCR (Optical Character Recognition, optical character recognition) secara beransur-ansur menjadi aplikasi popular dalam bidang penglihatan komputer satu. Antara muka OCR yang disediakan oleh platform terbuka Baidu AI menyediakan pembangun dengan keupayaan pengecaman teks yang mudah dan pantas. Artikel ini akan menggabungkan pengaturcaraan Python untuk menunjukkan cara antara muka dengan antara muka OCR Baidu untuk merealisasikan fungsi pengekstrakan teks imej.

Langkah 1: Mohon akaun Baidu AI Open Platform
Pertama, kita perlu mendaftar akaun di laman web rasmi Baidu AI Open Platform (https://ai.baidu.com/). Selepas pendaftaran selesai, anda perlu membuat aplikasi untuk mendapatkan Kunci API dan Kunci Rahsia.

Langkah 2: Pasang perpustakaan Python yang sepadan
Kami perlu menggunakan Python untuk pengaturcaraan, sila pastikan anda telah memasang perpustakaan berikut:

  • permintaan: digunakan untuk menghantar permintaan HTTP
  • base64: digunakan untuk menukar imej kepada pengekodan Base64
  • hashlib: digunakan untuk menjana tandatangan MD5
  • masa: digunakan untuk menjana cap masa
  • json: digunakan untuk menghuraikan data JSON yang dikembalikan oleh API

Pustaka ini boleh dipasang melalui arahan berikut:

rrstepee Pelaksanaan Pengekodan

Seterusnya, kami akan menulis kod Python untuk melaksanakan fungsi pengekstrakan teks imej. Pertama, kita perlu mengimport perpustakaan yang diperlukan:

pip install requests

Kemudian, kita perlu menentukan beberapa pembolehubah untuk menyimpan Kunci API, Kunci Rahsia dan maklumat lain:

import requests
import base64
import hashlib
import time
import json

Seterusnya, kita perlu menulis fungsi untuk menukar imej kepada Base64 Encoded rentetan:

API_KEY = 'your_api_key'
SECRET_KEY = 'your_secret_key'
OCR_URL = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic'

Kemudian, kita perlu menulis fungsi untuk menjana maklumat tandatangan permintaan API:

def image_to_base64(image_path):
    with open(image_path, 'rb') as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

Akhir sekali, kami menulis fungsi utama untuk memanggil antara muka Baidu OCR untuk melaksanakan fungsi pengekstrakan teks imej:

def generate_sign(url, params, timestamp, secret_key):
    sorted_params = sorted(params.items(), key=lambda x: x[0])
    sorted_params.append(('timestamp', str(timestamp)))
    raw_sign = ''.join([x[0] + '=' + x[1] for x in sorted_params]) + secret_key
    sign = hashlib.md5(raw_sign.encode('utf-8')).hexdigest()
    return url + '?' + '&'.join([x[0] + '=' + x[1] for x in sorted_params]) + '&sign=' + sign

Langkah 4: Jalankan kod

Sekarang, kita boleh menjalankan kod untuk mengekstrak maklumat teks daripada imej:

def ocr(image_path):
    access_token = get_access_token(API_KEY, SECRET_KEY)
    url_params = {
        'access_token': access_token,
        'image': image_to_base64(image_path)
    }
    timestamp = int(time.time())
    request_url = generate_sign(OCR_URL, url_params, timestamp, SECRET_KEY)
    response = requests.post(request_url)
    result = response.json()
    if 'words_result' in result:
        for word in result['words_result']:
            print(word['words'])
    else:
        print('Error occurred: ' + result['error_msg'])

Sebelum menjalankan, sila gantikan 'image.jpg' dengan laluan imej yang anda ingin ekstrak teks.

Kesimpulan:

Docking antara muka OCR Baidu direalisasikan melalui pengaturcaraan Python, dan fungsi pengekstrakan teks imej direalisasikan. Ini membolehkan pembangun menggunakan teknologi OCR platform AI Baidu dengan mudah dan cepat untuk merealisasikan pelbagai senario aplikasi pengecaman teks. Sama ada pengimbasan dokumen, pengecaman kod pengesahan atau pengisian borang, menggunakan kuasa OCR, kami boleh melaksanakan pemprosesan perkataan dan analisis dengan lebih cekap. Kami berharap melalui demonstrasi dalam artikel ini, pembaca boleh mempunyai pemahaman yang lebih mendalam tentang prinsip kerja OCR dan melaksanakan aplikasi OCR yang lebih kompleks dalam projek sebenar.

Atas ialah kandungan terperinci Pengaturcaraan Python melaksanakan dok antara muka Baidu OCR dan fungsi pengekstrakan teks imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn