简介:本文详细解析合合TextIn通用文字识别API的调用流程,涵盖环境准备、参数配置、接口调用及结果处理,助力开发者高效实现OCR功能集成。
合合TextIn通用文字识别(OCR)API为开发者提供了高效、精准的文字识别能力,支持多种场景下的图像转文本需求。本文从环境准备、API调用流程、参数配置、结果解析到异常处理,系统梳理了合合TextIn OCR API的完整调用路径,并结合代码示例与最佳实践,帮助开发者快速实现功能集成,降低技术门槛。
调用合合TextIn OCR API前,需完成以下步骤:
AccessKey与SecretKey,用于后续接口鉴权。
pip install requests # 基础HTTP请求库pip install opencv-python # 图像预处理(可选)
api.textin.com),避免防火墙拦截。合合TextIn采用HMAC-SHA256算法进行签名鉴权,关键步骤如下:
AccessKey
Nonce格式拼接字符串(Timestamp为UTC时间戳,Nonce为随机数)。SecretKey对字符串进行HMAC-SHA256加密,生成Base64编码的签名。
headers = {"X-TextIn-AccessKey": "YOUR_ACCESS_KEY","X-TextIn-Signature": "GENERATED_SIGNATURE","X-TextIn-Timestamp": "1625097600","X-TextIn-Nonce": "123456","Content-Type": "application/json"}
OCR API支持两种调用方式:
{"image_url": "https://example.com/image.jpg","recognize_granularity": "word","charset": "auto"}
Base64上传:将图像转为Base64编码后传递(适合本地文件)。
import cv2import base64with open("image.jpg", "rb") as f:img_base64 = base64.b64encode(f.read()).decode("utf-8")data = {"image_base64": img_base64,"return_location": True}
完整Python调用代码:
import requestsimport jsondef call_ocr_api(url, headers, data):response = requests.post(url, headers=headers, data=json.dumps(data))return response.json()# 配置参数api_url = "https://api.textin.com/v1/ocr/general"headers = {"X-TextIn-AccessKey": "YOUR_ACCESS_KEY","X-TextIn-Signature": "YOUR_SIGNATURE",# 其他鉴权头...}data = {"image_url": "https://example.com/test.jpg","language_type": "CHN_ENG"}# 调用APIresult = call_ocr_api(api_url, headers, data)print(json.dumps(result, indent=2))
recognize_granularity)char):返回每个字符的位置与内容,适合精细排版需求。word):按单词分割结果,提升英文识别可读性。line):默认选项,返回整行文本,兼顾效率与准确性。language_type)CHN_ENG):支持中文、英文及数字混合识别。AUTO):自动检测语言类型(需服务支持)。FINANCE):针对金融票据优化词汇库。return_location):是否返回字符/单词的坐标框。detect_direction):自动检测并校正图像方向。成功响应示例:
{"log_id": "123456789","words_result_num": 2,"words_result": [{"words": "合合TextIn","location": {"left": 10, "top": 20, "width": 100, "height": 30}},{"words": "OCR API","location": {"left": 120, "top": 20, "width": 80, "height": 30}}]}
import cv2img = cv2.imread("image.jpg", 0)_, img_processed = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
rectangle参数限定识别区域,减少干扰。log_id对应的服务端日志,定位耗时操作。async_ocr)提升吞吐量。SecretKey,避免硬编码在客户端。requests.exceptions异常,区分网络错误与业务错误。v1),避免未来不兼容升级。通过系统掌握合合TextIn OCR API的调用流程与优化技巧,开发者可快速构建稳定、高效的文字识别服务,覆盖证件识别、票据处理、文档数字化等多元场景。