基于百度API的车牌识别计费系统

1,车牌识别API

介绍:

百度车牌识别API是一款基于人工智能算法的车牌识别服务,可以识别包括普通车牌、新能源车牌在内的多种车牌类型,并支持高精度的识别结果输出。其主要功能特点包括:

  1. 普通车牌和新能源车牌的识别:支持多种省份、地区等不同类型的普通汽车车牌和新能源汽车车牌的识别,识别效果高。

  2. 支持多种车牌颜色的识别:支持蓝色、黄色、白色、黑色等多种车牌颜色的识别,以及单排、双排车牌的识别。

  3. 高精度的识别结果输出:通过使用深度学习技术和大量训练数据,可以实现高精度的车牌识别结果输出,准确率较高。

  4. 多语言支持:支持多种语言接口调用,包括Python、Java、C++等,方便开发人员进行集成与开发。

  5. 可定制化的识别服务:提供丰富的API接口和开发文档,可以支持开发者自定义车牌识别服务,实现与自身业务场景的无缝衔接。

支持识别中国大陆机动车蓝牌、黄牌(单双行)、绿牌、大型新能源(黄绿)、领使馆车牌、警牌、武警牌(单双行)、军牌(单双行)、港澳出入境车牌、农用车牌、民航车牌的地域编号和车牌号,并能同时识别图像中的多张车牌。

1.1首先打开百度智能云官网注册登录。

网址:百度智能云-登录 (baidu.com)

登录之后选择文字识别服务

创建应用

然后输入应用名称、描述,并选择应用类型为个人,之后点击"立即创建"按钮

之后返回应用列表就可以看到已经创建好的车牌识别的应用,此处显示API Key和Secret Key,后边程序中会用到

注意:百度智能云车牌识别API免费版提供每天200次免费调用,后续会调用失败。建议妥善保存API Key和Secret Key。

应用创建完成之后打开接口文档https://ai.baidu.com/ai-doc/OCR/ck3h7y191得到以下有用信息。

请求URL: https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate

Header格式:Content-Type:application/x-www-form-urlencoded

2,Demo代码实现

# -*- 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)

3,效果展示

本系统通过图像识别技术来识别车辆的车牌信息,并根据车辆驶入和驶出时间、停放时长等信息自动进行计费。

具体功能包括以下:

  1. 车辆进入系统后,通过摄像头获取车辆照片及车牌号码信息,并自动记录车辆的驶入时间。

  2. 当车辆离开停车场时,系统自动获取车辆照片及车牌号码信息,并根据车辆驶入时间和驶出时间计算停车时长,并按照相应的计费规则进行计费。计费规则可以根据不同区域、时间段、车型等因素进行设置。

  3. 系统可以将计费信息及时记录,并提供实时查询和导出历史记录的功能,方便管理员进行统计和管理。

  4. 为了保证计费的准确性,系统还可以配合其他设备,如道闸、计重器等,对车辆进行进一步的检测和确认,避免误判和漏收费用。

  5. 在周末休息日发出满预警,提醒停车场做好调度

相关推荐
阿利同学8 分钟前
ade20k 街景图像【数据集】及其【论文出处】ADE20K数据集 超过25000张图像的语义分割数据集
计算机视觉·数据集·获取qq1309399183·ade20k 街景图像·语义分割数据集
FL162386312910 分钟前
[C++]使用C++部署yolov11目标检测的tensorrt模型支持图片视频推理windows测试通过
人工智能·yolo·目标检测
人生不如初见24 分钟前
平台数据分类与聚类实验报告
人工智能·分类·数据挖掘·聚类
iiimZoey26 分钟前
Dit架构 diffusion范式分类+应用
人工智能·python
唐小旭29 分钟前
RL_足球教练
人工智能
winfredzhang30 分钟前
如何使用Flair.ai实现模特换装效果
人工智能·换装·flair
程序员非鱼35 分钟前
深度学习中的损失函数详解
人工智能·深度学习·计算机视觉·损失函数
SCBAiotAigc1 小时前
VSCode debug模式无法跳转进入内置模块
人工智能·vscode·python
柠檬少少开发1 小时前
MATLAB图像去雾系统
人工智能
肖遥Janic1 小时前
Stable Diffusion绘画 | 如何做到不同动作表情,人物角色保持一致性(上篇)
人工智能·ai·ai作画·stable diffusion