跳到主要内容

🚗 泰国驾照 OCR

1.25 IC每页
✅ 活跃🪪 eKYC

欢迎使用泰国驾照 OCR API,版本 1.1,这是由艾艾普科技有限公司开发的一款人工智能产品。我们的 API 旨在高精度、高速度地从泰国驾照卡图像的正面提取文本信息。我们的 API 支持 JPEG、JPG、PNG 文件格式,并能在 1-2 秒内处理驾照图像。

试用演示!

Example Images (Click to try)

Example 1

入门指南

  1. 先决条件

    • 艾艾普科技的 API 密钥
    • 泰国驾照图像(正面)
    • 支持的文件格式:JPEG、JPG、PNG
    • 最大文件大小:10MB
  2. 快速入门

    • 快速处理(每张卡 1-2 秒)
    • 高精度文本提取(字符级别准确率 95.14%)
    • 支持多种文件格式
  3. 主要功能

    • 详细字段提取,包括:
      • 驾照号码
      • 全名(泰语和英语)
      • 出生日期
      • 签发和到期日期
      • 身份证号码
      • 注册官信息
    • 支持驾照正面
    • 可选以 base64 格式返回面部照片
    • 灵活的 JSON 响应格式
  4. 安全与合规

    • 符合 GDPR 和 PDPA 标准
    • 处理后不保留数据
如何获取 API 密钥?

请访问 API 密钥管理 页面查看您现有的 API 密钥或申请新密钥。

示例

泰国驾照示例(正面)

请求:

curl -X POST https://api.iapp.co.th/v3/store/ekyc/thai-driver-license \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/driver_license.jpg"

响应:

{
"driving_license_type2": "Detected",
"driving_license_type6": "Detected",
"en_country": "Kingdom of Thailand",
"en_dob": "1 March 1987",
"en_expiry": "26 March 2024",
"en_issue": "18 May 2006",
"en_license_no": "00000000",
"en_name": "Mr. iApp Technology",
"en_type": "Private Car Driving License",
"face": "Detected",
"file_name": "thai-driver-license-ocr-example.png",
"flag": "Detected",
"id_no": "1111111111111",
"inference": "0.523",
"message": "Success",
"registrar": "นายทะเบียนจังหวัด กรุงเทพมหานคร Bangkok",
"sign": "Detected",
"status_code": 200,
"text_is_white": "Detected",
"th_country": "ประเทศไทย",
"th_dob": "1 มีนาคม 2530",
"th_expiry": "26 มีนาคม 2567",
"th_issue": "1 มกราคม 2562",
"th_license_no": "000000000",
"th_name": "นาย ไอแอพพ์ เทคโนโลยี",
"th_type": "ใบอนุญาติขับรถยนต์ส่วนบุคคล"
}

功能与能力

核心功能

  • 高精度文本提取(字符级别准确率 95.14%)
  • 快速处理时间(每张卡 1-2 秒)
  • 支持多种文件格式(JPEG、JPG、PNG)
  • 自动卡片检测
  • 可选以 base64 格式提取面部照片
  • 支持泰语和英语文本提取

支持的字段

字段类型描述
en_countryString国家名称(英文)
en_expiryString到期日期(英文)
en_issueString签发日期(英文)
en_nameString全名(英文)
en_license_noString驾照号码(英文)
en_typeString驾照类型(英文)
faceString面部检测状态
id_noString身份证号码
th_countryString国家名称(泰语)
th_expiryString到期日期(泰语)
th_issueString签发日期(泰语)
th_nameString全名(泰语)
th_license_noString驾照号码(泰语)
th_typeString驾照类型(泰语)
registrarString注册官信息

API 端点

端点方法描述费用
POST /v3/store/ekyc/thai-driver-license
旧版: /thai-driver-license-ocr
POST从泰国驾照提取信息1.25 IC/页

API 参考

泰国驾照端点

1. 泰国驾照 OCR

POST /v3/store/ekyc/thai-driver-license

从泰国驾照图像中提取详细信息,并以结构化格式返回提取的数据。

请求头

名称类型是否必需描述
apikeystring您的 API 密钥

请求正文 (multipart/form-data)

参数类型是否必需描述
fileFile驾照图像的二进制数据
fieldsString可选字段(例如,“photo”用于面部照片)

代码示例

Curl

curl -X POST https://api.iapp.co.th/v3/store/ekyc/thai-driver-license \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/file.jpg"

Python

import requests

url = "https://api.iapp.co.th/v3/store/ekyc/thai-driver-license"

payload = {
'fields': 'photo'
}

files = [
('file',('driver_license.jpg',open('path/to/driver_license.jpg','rb'),'image/jpeg'))
]

headers = {
'apikey': 'YOUR_API_KEY'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.json())

JavaScript

const axios = require("axios")
const FormData = require("form-data")
const fs = require("fs")

const form = new FormData()
form.append("file", fs.createReadStream("path/to/driver_license.jpg"))
form.append("fields", "photo")

const config = {
method: "post",
url: "https://api.iapp.co.th/v3/store/ekyc/thai-driver-license",
headers: {
apikey: "YOUR_API_KEY",
...form.getHeaders(),
},
data: form,
}

axios(config)
.then((response) => console.log(JSON.stringify(response.data)))
.catch((error) => console.log(error))

PHP

<?php
$curl = curl_init();

$post_data = array(
'file'=> new CURLFile('path/to/driver_license.jpg'),
'fields' => 'photo'
);

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/ekyc/thai-driver-license',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $post_data,
CURLOPT_HTTPHEADER => array(
'apikey: YOUR_API_KEY'
),
));

$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>

Swift

import Foundation

let headers = [
"apikey": "YOUR_API_KEY"
]

let parameters = [
[
"name": "file",
"fileName": "path/to/driver_license.jpg"
],
[
"name": "fields",
"value": "photo"
]
]

let boundary = "Boundary-\(UUID().uuidString)"
var body = ""
var error: Error? = nil

for param in parameters {
if let fileName = param["fileName"] {
let fileContent = try? String(contentsOfFile: fileName, encoding: .utf8)
body += "--\(boundary)\r\n"
body += "Content-Disposition:form-data; name=\"\(param["name"] ?? "")\""
body += "; filename=\"\(fileName)\"\r\n"
body += "Content-Type: image/jpeg\r\n\r\n"
body += fileContent ?? ""
} else {
body += "--\(boundary)\r\n"
body += "Content-Disposition:form-data; name=\"\(param["name"] ?? "")\"\r\n\r\n"
body += param["value"] ?? ""
}
}

let postData = body.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://api.iapp.co.th/v3/store/ekyc/thai-driver-license")!,timeoutInterval: Double.infinity)
request.addValue("YOUR_API_KEY", forHTTPHeaderField: "apikey")
request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin

import okhttp3.*
import java.io.File

val client = OkHttpClient()

val mediaType = MediaType.parse("image/jpeg")
val file = File("path/to/driver_license.jpg")
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file", file.name, RequestBody.create(mediaType, file))
.addFormDataPart("fields", "photo")
.build()

val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/thai-driver-license")
.addHeader("apikey", "YOUR_API_KEY")
.post(body)
.build()

client.newCall(request).execute().use { response ->
println(response.body()?.string())
}

Java

import java.io.File;
import okhttp3.*;

public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient().newBuilder().build();

MediaType mediaType = MediaType.parse("image/jpeg");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file", "driver_license.jpg",
RequestBody.create(mediaType, new File("path/to/driver_license.jpg")))
.addFormDataPart("fields", "photo")
.build();

Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/thai-driver-license")
.method("POST", body)
.addHeader("apikey", "YOUR_API_KEY")
.build();

try {
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
} catch(Exception e) {
e.printStackTrace();
}
}
}

Dart

import 'package:http/http.dart' as http;

void main() async {
var request = http.MultipartRequest('POST',
Uri.parse('https://api.iapp.co.th/v3/store/ekyc/thai-driver-license'));

request.files.add(await http.MultipartFile.fromPath(
'file', 'path/to/driver_license.jpg'));

request.fields['fields'] = 'photo';

request.headers.addAll({
'apikey': 'YOUR_API_KEY'
});

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
print(await response.stream.bytesToString());
} else {
print(response.reasonPhrase);
}
}

限制与最佳实践

限制

  • 最大文件大小:10MB
  • 支持的格式:JPEG、JPG、PNG
  • 仅支持正面

最佳实践

  1. 确保图像质量良好
  2. 检查响应中的置信度分数
  3. 妥善处理错误消息
  4. 验证驾照号码格式
  5. 考虑为特定需求使用 fields 参数

准确性与性能

总体准确性

  • 字符级别准确率:95.14%
  • 特定字段准确率:
    • 面部检测:100%
    • 驾照号码:97.37%
    • 英文姓名:99.13%
    • 泰语姓名:95.62%

处理速度

  • 平均:1-2 秒
  • 可能因图像大小和质量而异

影响准确性的因素

  1. 图像质量
    • 分辨率
    • 光照
    • 对焦
  2. 卡片状况
    • 物理损坏
    • 反光
    • 文本清晰度

历史记录

版本发布日期准确性主要改进
1.12023 年 1 月95.14%添加了面部照片提取,提高了准确性
1.02022 年 12 月90%首次发布

定价

操作生产路径旧版路径IC 费用单位本地部署
泰国驾照 OCR/v3/store/ekyc/thai-driver-license/thai-driver-license-ocr1.25 IC每次请求联系我们