Maison  >  Article  >  développement back-end  >  La programmation Python implémente la fonction d'accueil de l'interface Baidu OCR et d'extraction de texte d'image

La programmation Python implémente la fonction d'accueil de l'interface Baidu OCR et d'extraction de texte d'image

PHPz
PHPzoriginal
2023-08-26 17:28:45679parcourir

La programmation Python implémente la fonction daccueil de linterface Baidu OCR et dextraction de texte dimage

Programmation Python pour implémenter l'accueil de l'interface Baidu OCR et la fonction d'extraction de texte d'image

Introduction :
Avec le développement rapide de l'apprentissage profond, la technologie OCR (Optical Character Recognition, reconnaissance optique de caractères) est progressivement devenue une application populaire dans le domaine de la vision par ordinateur. L'interface OCR fournie par la plateforme ouverte Baidu AI offre aux développeurs des capacités de reconnaissance de texte pratiques et rapides. Cet article combinera la programmation Python pour démontrer comment s'interfacer avec l'interface Baidu OCR pour réaliser la fonction d'extraction du texte de l'image.

Étape 1 : demander un compte Baidu AI Open Platform
Tout d'abord, nous devons créer un compte sur le site officiel de Baidu AI Open Platform (https://ai.baidu.com/). Une fois l'enregistrement terminé, vous devez créer une application pour obtenir la clé API et la clé secrète.

Étape 2 : Installez la bibliothèque Python correspondante
Nous devons utiliser Python pour la programmation, veuillez vous assurer d'avoir installé les bibliothèques suivantes :

  • requests : utilisée pour envoyer des requêtes HTTP
  • base64 : utilisée pour convertir les images en encodage Base64
  • hashlib : utilisé pour générer des signatures MD5
  • time : utilisé pour générer des horodatages
  • json : utilisé pour analyser les données JSON renvoyées par l'API

Ces bibliothèques peuvent être installées via la commande suivante :

pip install requests

Étape 3 : Implémentation de l'encodage

Ensuite, nous écrirons du code Python pour implémenter la fonction d'extraction de texte d'image. Tout d'abord, nous devons importer les bibliothèques requises :

import requests
import base64
import hashlib
import time
import json

Ensuite, nous devons définir plusieurs variables pour stocker la clé API, la clé secrète et d'autres informations :

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

Ensuite, nous devons écrire une fonction pour convertir l'image en base64. string :

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

Ensuite, nous devons écrire une fonction pour générer les informations de signature de la requête API :

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

Enfin, nous écrivons une fonction principale pour appeler l'interface Baidu OCR pour implémenter la fonction d'extraction de texte d'image :

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'])

Étape 4 : Exécutez le code
Maintenant, nous pouvons exécuter le code pour extraire les informations textuelles de l'image :

ocr('image.jpg')

Avant de l'exécuter, veuillez remplacer « image.jpg » par le chemin de l'image dont vous souhaitez extraire le texte.

Conclusion : 
L'amarrage de l'interface Baidu OCR est réalisé grâce à la programmation Python et la fonction d'extraction de texte d'image est réalisée. Cela permet aux développeurs d'utiliser facilement et rapidement la technologie OCR de la plateforme Baidu AI pour réaliser divers scénarios d'application de reconnaissance de texte. Qu'il s'agisse de numérisation de documents, de reconnaissance de codes de vérification ou de remplissage de formulaires, grâce à la puissance de l'OCR, nous pouvons effectuer le traitement et l'analyse de texte plus efficacement. Nous espérons que grâce à la démonstration présentée dans cet article, les lecteurs pourront avoir une compréhension plus approfondie du principe de fonctionnement de l'OCR et mettre en œuvre des applications OCR plus complexes dans des projets réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn