OCR之行驶证识别

前言

最近和车检行业上的技术过不去了,那就继续分享使用OCR(光学字符识别)提取行驶证上的文字,OCR技术在行驶证识别中的应用已经非常广泛,基于深度学习算法,通过训练大量样本数据,使模型具备图像分类、目标检测和文字识别能力,在行驶证识别中,首先对行驶证图像进行预处理,包括灰度化、二值化、去噪等操作,以提高图像清晰度和识别率,然后对图像中的文字进行定位、分割和识别。

一、开发环境

语言:Pytnon

开发工具:PyCharm

二、本地离线版测试效果

离线版API测试地址:http://47.108.177.251:9000,源码待完善后上传至CSDN,敬请关注~

三、实现方法

一种是使用Tesseract的本地识别(本人用的则是本地离线识别,可部署于任一场景),经过预处理,识别准确度高;另一种是使用百度云API,准确性更高但需要网络调用,若在非互联网下就用不了。

以下是一个使用本地OCR引擎(需要安装Tesseract),这是OpenCV + pytesseract的示例:

python 复制代码
import cv2
import pytesseract

def ocr_local(image_path):
    # 读取图像
    img = cv2.imread(image_path)
    
    # 预处理(按需调整)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
    
    # 设置中文识别(需要下载chi_sim训练数据)
    custom_config = r'--oem 3 --psm 6 -l chi_sim'
    text = pytesseract.image_to_string(thresh, config=custom_config)
    
    return text

# 使用示例
print(ocr_local('行驶证照片.jpg'))

如果是想使用 Python 和百度云 OCR API 识别行驶证的示例代码,需要先注册百度AI开放平台获取API Key:

python 复制代码
from aip import AipOcr

# 配置百度OCR应用信息
APP_ID = '你的APP_ID'
API_KEY = '你的API_KEY'
SECRET_KEY = '你的SECRET_KEY'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

def ocr_vehicle_license(image_path):
    # 读取图片
    with open(image_path, 'rb') as f:
        image = f.read()
    
    # 调用行驶证识别接口
    result = client.vehicleLicense(image)
    
    # 解析结果
    if 'words_result' in result:
        data = {}
        for key, value in result['words_result'].items():
            data[key] = value['words']
        return data
    else:
        return None

# 使用示例
if __name__ == '__main__':
    image_path = '行驶证照片.jpg'
    result = ocr_vehicle_license(image_path)
    
    if result:
        print("识别结果:")
        print(f"车牌号码: {result.get('plate_num', '')}")
        print(f"车辆类型: {result.get('vehicle_type', '')}")
        print(f"所有人: {result.get('owner', '')}")
        print(f"住址: {result.get('address', '')}")
        print(f"使用性质: {result.get('use_character', '')}")
    else:
        print("识别失败")

注意:

  1. 百度API版本需要网络

  2. 本地版需要安装Tesseract并下载中文语言包(应用场景更广泛)

  3. 实际应用中需要根据行驶证版式添加图像预处理和结果解析逻辑

相关推荐
深圳市快瞳科技有限公司3 小时前
人车准入审核的工程实现:证件OCR、联网查验与业务决策
计算机视觉·ocr·vin码查询·车辆证件ocr·车辆信息查验·汽车ocr
开开心心就好9 小时前
白天晚上自动调蓝光,护眼工具亮度可调
服务器·开发语言·算法·pdf·ocr·intellij-idea·idea
开开心心就好12 小时前
安卓PDF处理工具,免费无广告零弹窗
android·服务器·开发语言·算法·pdf·ocr
开开心心就好2 天前
多份文档怎么批量打印?支持多种格式
java·服务器·开发语言·pdf·ocr·散列表·启发式算法
开开心心就好2 天前
文件被占用删不掉?解锁工具强制删除
java·运维·服务器·开发语言·前端·pdf·ocr
SamChan903 天前
PDF 翻译后 1,250 变成 1.250,是错了吗?用 Python 核对数字格式
python·pdf·ocr·数据校验·文档翻译
开开心心就好3 天前
打印机卡住打不了?一键清理卡死打印队列
服务器·开发语言·算法·pdf·ocr·idea·visual studio code
聚美智数3 天前
印章识别-合同印章识别-票据印章OCR-印章文字识别-电子印章检测-印章编码识别
ocr
神奇的代码在哪里4 天前
没有独显也能跑多模态:MiniCPM-V 4.7-1B 本地 OCR 实测(附源码)
ocr·多模态大模型·llama.cpp·gguf·minicpm-v
科小怪4 天前
图片里的文字复制不了?Umi-OCR 免费离线工具解压就能用
ocr