行驶证OCR识别API实战:自动提取22个车辆信息字段,告别手动录入(附Python/Java/PHP/JS示例)
车辆管理、保险定损、二手车交易、网约车注册......几乎所有涉及车辆的业务场景,都绕不开行驶证信息的录入。一张行驶证上包含号牌号码、车辆类型、所有人、品牌型号、车辆识别代号(VIN码)、发动机号码等22个关键字段------如果全靠人工录入,不仅效率低下,还容易出错。
本文从实战角度,详细讲解行驶证OCR的技术原理、应用场景、多语言接入代码,以及如何通过API实现行驶证信息的全自动结构化提取。
一、行驶证OCR的市场需求到底有多大?
行驶证OCR识别技术的核心价值在于将纸质行驶证图像快速转化为结构化数据,广泛应用于以下场景:
车险理赔:事故现场拍摄行驶证,自动关联保险数据库,生成定损报告,响应时间可控制在15秒以内。
二手车交易:快速提取车辆识别代号(VIN码)、发动机号、注册日期等关键信息,自动生成车辆档案,大幅提升交易效率。
网约车/物流平台:司机注册时通过拍照上传行驶证,系统自动完成信息录入与核验,告别手动填表。
车辆年检与车管业务:年检站、4S店等场景中,自动读取行驶证信息并录入系统,减少人工操作环节。
停车场/门禁系统:绑定车辆时快速添加车辆信息,实现车牌识别与车辆档案的自动关联。
根据行业数据,行驶证识别技术单张处理时间通常不超过2秒,关键字段识别准确率可达99%以上------这意味着原先需要几分钟的人工录入工作,现在只需一次拍照即可完成。

二、行驶证OCR的技术挑战
行驶证OCR看起来只是"拍一张照、读几个字",但实际面临的技术挑战并不少:
2.1 图像质量问题
用户拍照上传的行驶证往往存在倾斜、透视变形、光照不均、模糊、复杂背景等问题。行驶证照片通常是在车内或户外随手拍摄的,光线条件复杂,背景干扰多。
2.2 字段复杂多样
行驶证包含主页和副页共22个字段 ,包括号牌号码、车辆类型、所有人、住址、使用性质、品牌型号、车辆识别代号(VIN码)、发动机号码、注册日期、发证日期、发证单位等。其中VIN码和发动机号码是长字符串 + 数字字母混合的特殊字段,对OCR识别精度要求极高。
2.3 复印件与翻拍伪造
与身份证OCR类似,行驶证同样面临复印件伪造、屏幕翻拍等安全风险,需要系统具备防伪检测能力。
三、石榴智能行驶证OCR:全字段识别 + 防伪检测
石榴智能行驶证OCR识别API基于自研深度学习算法,支持对行驶证正页和副页的全部字段进行结构化识别。
3.1 核心能力
-
全字段结构化识别:自动提取号牌号码、车辆类型、所有人、品牌型号、车辆识别代号(VIN码)、发动机号码、核定载人数、总质量、整备质量、核定载质量、外廓尺寸、注册日期、发证日期等全部字段。
-
图像自动预处理 :自动完成裁边、倾斜修正、透视矫正,无需开发者额外调用图片处理API,即使照片拍歪了也能准确识别。
-
复杂场景鲁棒性 :适应模糊、光照不均、透视畸变、复杂背景等实际应用中存在的各种情况。
-
复印件检测:支持对复印件、翻拍等伪造情况进行智能检测,保障业务安全。
-
高准确率:依托石榴智能自研算法与深度学习检测识别模型,OCR识别产品识别准确率高达99.7%。
-
高性价比:单价仅¥0.008/次,远低于行业平均水平。

四、石榴智能行驶证OCR API接入实战
4.1 准备工作
-
访问石榴智能API网站注册账号(即送500积分)
-
获取API Key和Secret Key
-
查看行驶证OCR接入文档API

4.2 Python 接入代码
python
# ==============================================================================
# 免费在线体验:https://market.shiliuai.com/tools/vehicle-license-ocr
# API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/vehicle-license-ocr
# 支持免费在线体验
# API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
# ==============================================================================
# -*- coding: utf-8 -*-
import requests
import base64
import json
# 请求接口
URL = "https://ocr-api.shiliuai.com/api/vehicle_license_ocr/v1"
# 文件转base64
def get_base64(file_path):
with open(file_path, 'rb') as f:
data = f.read()
return base64.b64encode(data).decode('utf8')
def demo(appcode, file_path):
# 请求头
headers = {
'Authorization': 'APPCODE %s' % appcode,
'Content-Type': 'application/json'
}
# 请求体
b64 = get_base64(file_path)
data = {"file_base64": b64}
# 请求
response = requests.post(url=URL, headers=headers, json=data)
content = json.loads(response.content)
print(content)
if __name__=="__main__":
appcode = "你的APPCODE"
file_path = "本地文件路径"
demo(appcode, file_path)
4.3 Java 接入代码
java
// ==============================================================================
// 免费在线体验:https://market.shiliuai.com/tools/vehicle-license-ocr
// API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/vehicle-license-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Base64;
public class Main {
public static String get_base64(String path) {
try {
// 使用Commons IO简化文件读取
byte[] content = FileUtils.readFileToByteArray(new File(path));
// 使用JDK自带的Base64
return Base64.getEncoder().encodeToString(content);
} catch (IOException e) {
e.printStackTrace();
}
return b64;
}
public static void main(String[] args) {
String url = "https://ocr-api.shiliuai.com/api/vehicle_license_ocr/v1";
String appcode = "你的APPCODE";
String file_path = "本地文件路径";
Map headers = new HashMap<>();
headers.put("Authorization", "APPCODE " + appcode);
headers.put("Content-Type", "application/json");
JSONObject requestObj = new JSONObject();
requestObj.put("file_base64", get_base64(file_path));
String bodys = requestObj.toString();
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
HttpPost httpPost = new HttpPost(url);
for (Map.Entry entry : headers.entrySet()) {
httpPost.addHeader(entry.getKey(), entry.getValue());
}
StringEntity entity = new StringEntity(bodys, "UTF-8");
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
int stat = response.getStatusLine().getStatusCode();
if (stat != 200) {
System.out.println("Http code: " + stat);
return;
}
String res = EntityUtils.toString(response.getEntity());
JSONObject res_obj = JSON.parseObject(res);
System.out.println(res_obj.toJSONString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
4.4 PHP 接入代码
php
// ==============================================================================
// 免费在线体验:https://market.shiliuai.com/tools/vehicle-license-ocr
// API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/vehicle-license-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
function get_base64($path){
if($fp = fopen($path, "rb", 0)) {
$binary = fread($fp, filesize($path));// 文件读取
fclose($fp);
return base64_encode($binary);// 转base64
}
return "";
}
$url = "https://ocr-api.shiliuai.com/api/vehicle_license_ocr/v1";
$appcode = "你的appcode";
$file_path = "文件路径";
$method = "POST";
//请求头
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
array_push($headers, "Content-Type:application/json");
//请求体
$b64 = get_base64($file_path);
$data = array(
"file_base64" => $b64
);
$post_data = json_encode($data);
//请求
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($curl);
var_dump($result);
4.5 JavaScript 接入代码(Node.js)
javascript
// ==============================================================================
// 免费在线体验:https://market.shiliuai.com/tools/vehicle-license-ocr
// API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/vehicle-license-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
// 需 Node.js 18+(内置 fetch)
const fs = require('fs');
const apiUrl = 'https://ocr-api.shiliuai.com/api/vehicle_license_ocr/v1';
const appcode = '你的APPCODE';
const filePath = '本地文件路径';
async function main() {
const fileBase64 = fs.readFileSync(filePath).toString('base64');
const res = await fetch(apiUrl, {
method: 'POST',
headers: {
Authorization: 'APPCODE ' + appcode,
'Content-Type': 'application/json'
},
body: JSON.stringify({ file_base64: fileBase64 })
});
const text = await res.text();
if (!res.ok) {
console.error('Http code:', res.status, text);
return;
}
console.log(JSON.stringify(JSON.parse(text), null, 2));
}
main().catch(console.error);

五、行驶证OCR的应用架构建议
5.1 典型业务流程
用户拍照上传 → 图像预处理(自动裁边/倾斜矫正)→ 行驶证OCR识别
→ 结构化数据输出 → 业务系统自动录入 → 数据校验(VIN码校验等)
5.2 VIN码智能校验
车辆识别代号(VIN码)由17位字符组成,包含制造商、车型、年份、生产序列号等信息。石榴智能行驶证OCR在识别出VIN码后,可通过校验位算法初步验证其正确性,有效过滤识别错误。
5.3 批量识别场景
对于车险理赔、车辆年检等需要处理大量行驶证的场景,石榴智能支持异步批量识别接口,可一次性提交多张图片,后台异步处理完成后通过回调地址通知结果。
六、常见问题
Q1:行驶证正页和副页都能识别吗?
能。石榴智能行驶证OCR支持行驶证主页和副页全部字段的结构化识别,包括主页的号牌号码、车辆类型、所有人、品牌型号、VIN码、发动机号码、注册日期,以及副页的核定载人数、总质量、整备质量、外廓尺寸、检验记录等。
Q2:照片拍歪了/光线不好怎么办?
石榴智能行驶证OCR内置自动裁边、倾斜修正、透视矫正功能,即使照片存在透视变形、光照不均等问题,系统也能在识别前自动完成图像预处理,无需开发者额外处理。
Q3:支持识别复印件吗?
支持。石榴智能行驶证OCR内置复印件检测能力,可智能判断图像是否为复印件或翻拍,帮助业务方防范伪造风险。
Q4:识别准确率有多高?
石榴智能OCR识别产品整体识别准确率高达99.7%,行驶证关键字段在高质量图像下同样可达到99%以上的识别准确率。
Q5:如何计费?
石榴智能行驶证OCR单价仅**¥0.008/次**,注册即送免费测试额度。用量越大单价越低,无隐藏费用。
七、立即体验
-
🆓 注册即送免费测试额度500次
-
📘 完整开发文档(含Python/Java/PHP/Node.js):API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
-
🛠️ 在线免费工具(无需代码,上传即识别):支持免费在线体验
相关阅读推荐
- 身份证OCR识别API接入详解(Python / Java 示例)
- OCR识别接口哪个好?2026年主流OCR API对比评测
- 医疗票据OCR识别API实战:从医保结算单到结构化数据提取
- 营业执照识别OCR API实战:1行代码完成企业信息自动提取
#行驶证OCR #车辆识别 #OCR识别 #API接入 #VIN码识别 #石榴智能 #车辆管理 #Python教程