contenu
1. À propos de l'auteur
Wang Shihao, homme, École d'information électronique, Université polytechnique de Xi'an, étudiant diplômé 2020, Groupe de recherche sur l'intelligence artificielle de Zhang Hongwei.
Direction de recherche : vision artificielle et intelligence artificielle.
Courriel : [email protected]
2. Introduction à l'API de reconnaissance de plaque d'immatriculation
Soutenir l'identification des plaques bleues, des plaques jaunes (simples et doubles lignes), des plaques vertes, des grandes nouvelles énergies (jaune et verte), des plaques d'immatriculation des consulats, des plaques de police, des plaques de police armée (simples et doubles lignes), des plaques militaires (simples et lignes doubles), le numéro régional et le numéro de plaque d'immatriculation des plaques d'immatriculation d'entrée et de sortie de Hong Kong et de Macao, des plaques d'immatriculation agricoles et des plaques d'immatriculation de l'aviation civile, et peuvent identifier plusieurs plaques d'immatriculation dans l'image en même temps.
3. Processus de mise en œuvre
3.1 API d'appel
Ouvrez d'abord le site Web officiel de Baidu Smart Cloud pour vous inscrire et vous connecter.
Une fois connecté, sélectionnez le service de reconnaissance de texte
pour créer une application
, puis entrez le nom de l'application, la description et sélectionnez le type d'application comme personnel, puis cliquez sur le bouton "Créer maintenant".
Après être revenu à la liste des applications, vous pouvez voir l'application de reconnaissance de plaque d'immatriculation qui a été créée. La clé API et la clé secrète sont affichées ici, qui seront utilisées ultérieurement dans le programme.
Remarque : La version gratuite de l'API de reconnaissance de plaque d'immatriculation Baidu Smart Cloud fournit 200 appels gratuits par jour, et les appels suivants échoueront. Il est recommandé de conserver correctement la clé API et la clé secrète.
Une fois l'application créée, ouvrez le document d'interface https://ai.baidu.com/ai-doc/OCR/ck3h7y191 pour obtenir les informations utiles suivantes.
URL de la demande : https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate
Format d'en-tête : Content-Type : application/x-www-form-urlencoded
3.2 Code
Avant d'utiliser l'exemple de code, n'oubliez pas de remplacer l'adresse et la clé de l'image d'exemple.
# -*- coding: utf-8 -*-
import urllib
import urllib.parse
import urllib.request
import base64
import json
# client_id 为官网获取的API Key, client_secret 为官网获取的Secret Key,将自己应用的Key分别复制在下方即可。
client_id = '*********'
client_secret = '********'
# 获取token
def get_token():
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
token_content = response.read()
if token_content:
token_info = json.loads(token_content.decode("utf-8"))
token_key = token_info['access_token']
return token_key
# 读取图片
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
# 获取车牌号信息
def get_license_plate(path):
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate"
f = get_file_content(path)
access_token = get_token()
img = base64.b64encode(f)
params = {
"custom_lib": False, "image": img}
params = urllib.parse.urlencode(params).encode('utf-8')
request_url = request_url + "?access_token=" + access_token
request = urllib.request.Request(url=request_url, data=params)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = urllib.request.urlopen(request)
content = response.read()
# print("json类型下的返回值:", content)
if content:
license_plates = json.loads(content.decode("utf-8"))
# print("utf-8解码并转化为python类型下的返回值:", license_plates)
strover = '识别结果:'
words_result = license_plates['words_result']
# print("python类型下的返回值:", words_result)
number = words_result['number']
strover += ' 车牌号:{} \n '.format(number)
print(strover)
return content
else:
return ''
# 读取图片,自行保存图片,更改路径即可。
image_path = 'D:\桌面\chepai.jpg'
# image_path = 'C:/Users/Wong/chepai.jpg'
# image_path = r'C:\Users\Wong\chepai.jpg'
get_license_plate(image_path)
Localisez le dossier où se trouve le fichier du programme de reconnaissance de la plaque d'immatriculation sous le terminal PyCharm ou Windows, et exécutez le programme pour le reconnaître.
faire référence à
Documentation de l'API Baidu Cloud
https://cloud.baidu.com/doc/OCR/index.htmlBaidu
Intelligent Cloud License Plate Recognition
https://cloud.baidu.com/doc/OCR/s/ck3h7y191
Appelez l'API de reconnaissance de plaque d'immatriculation de Baidu
https ://cloud.baidu.com/doc/OCR/s/ck3h7y191 ://blog.csdn.net/u011622208/article/details/102999991Qu'est-ce qu'un
jeton
https://www.jianshu.com/p/24825a2683e6