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 :
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!