我们参加了本次大学生创新创业服务外包大赛,在项目中大量使用到了合合信息所提供的api进行相关功能实现,所以在这里写一篇博客分享一下我们在项目的实际推进中关于TextIn.com API使用心得

我们的产品是一款面向公司管理的REP微信小程序,由于需要覆盖大部分的企业办公需求,我们使用到了大量的API,进行功能实现,这里列举四个使用的比较多的API功能进行讲解和展示

一、通用文字识别

首先是最常用的通用文字识别功能,即识别图片上的的文字并进行输出,实现代码如下:

import requests
import json def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read() class CommonOcr(object):
def __init__(self, img_path):
self._app_id = '******************************'
self._secret_code = '********************************'
self._img_path = img_path def recognize(self):
url = 'https://api.textin.com/ai/service/v2/recognize'
head = {}
texts = []
try:
image = get_file_content(self._img_path)
head['x-ti-app-id'] = self._app_id
head['x-ti-secret-code'] = self._secret_code
response = requests.post(url, data=image, headers=head)
results = json.loads(response.text)
for line in results['result']['lines']:
texts.append(line['text'])
return texts
except Exception as e:
return str(e) if __name__ == "__main__":
response = CommonOcr(r'img.png')
print(response.recognize())

实现效果如下:

二、车牌号识别

在公司管理中,公司的汽车管理是企业业务的常见组成部分,所以我们在小程序中加入公车管理的功能,其中汽车的登记任务就是通过车牌识别的api进行实现的,实现代码如下:

import requests
import json def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read() class CommonOcr(object):
def __init__(self, img_path):
# 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-app-id
# 示例代码中 x-ti-app-id 非真实数据
self._app_id = '****************************'
# 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-secret-code
# 示例代码中 x-ti-secret-code 非真实数据
self._secret_code = '*******************************'
self._img_path = img_path def recognize(self):
# 车牌号识别
url = 'https://api.textin.com/robot/v1.0/api/plate_number'
head = {}
try:
image = get_file_content(self._img_path)
head['x-ti-app-id'] = self._app_id
head['x-ti-secret-code'] = self._secret_code
result = requests.post(url, data=image, headers=head)
return result.text
except Exception as e:
return e if __name__ == "__main__":
response = CommonOcr(r'img_1.png')
print(response.recognize())

实现效果如下:

三、票据识别

企业业务流程中,票据识别是一个很重要的事务,票据识别的效率很大程度上会影响到整体报销流程的效率,所以一个精确高效的票据识别功能是不可或缺的。我们的实现代码如下:

import requests
import json def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read() class CommonOcr(object):
def __init__(self, img_path):
self._app_id = '**********************************'
self._secret_code = '***********************************'
self._img_path = img_path def recognize(self):
url = 'https://api.textin.com/robot/v1.0/api/bills_crop'
head = {}
result_formatted = []
try:
image = get_file_content(self._img_path)
head['x-ti-app-id'] = self._app_id
head['x-ti-secret-code'] = self._secret_code
response = requests.post(url, data=image, headers=head)
results = json.loads(response.text)
if "result" in results and "object_list" in results["result"]:
for item in results["result"]["object_list"]:
if "item_list" in item:
for field in item["item_list"]:
result_formatted.append(field["key"] + ": " + field["value"])
result_formatted.append("") # Adds an empty line
return "\n".join(result_formatted)
except Exception as e:
return str(e) if __name__ == "__main__":
response = CommonOcr(r'img_2.png')
print(response.recognize())

实现效果如下:

四、名片识别

名片是员工管理的重要依据,我们的小程序也通过名片识别实现了公司员工的登记和管理,名片识别代码如下:

import requests
import json def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read() class CommonOcr(object):
def __init__(self, img_path):
# 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-app-id
# 示例代码中 x-ti-app-id 非真实数据
self._app_id = '***************************'
# 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-secret-code
# 示例代码中 x-ti-secret-code 非真实数据
self._secret_code = '***************************'
self._img_path = img_path def recognize(self):
# 名片识别
url = 'https://api.textin.com/robot/v1.0/api/business_card'
head = {}
try:
image = get_file_content(self._img_path)
head['x-ti-app-id'] = self._app_id
head['x-ti-secret-code'] = self._secret_code
result = requests.post(url, data=image, headers=head)
return result.text
except Exception as e:
return e if __name__ == "__main__":
response = CommonOcr(r'img_3.png')
print(response.recognize())

实现效果如下:

除上面的api外,合合信息还有很多丰富的面向办公需求的api端口,并且有免费额度,推荐大家进行使用。

TextIn.com API使用心得的更多相关文章

  1. 百度api使用心得体会

    最近项目中在使用百度地图api,对于其中的一些有用的点做一些归纳整理,如有不对的地方,欢迎各位大神纠正指出. 一定要学会查找百度地图api提供的类参考网站:http://lbsyun.baidu.co ...

  2. asp.net mvc短信接口调用——阿里大于API开发心得

    互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短 ...

  3. Android Camera Api的心得

    (一) 前言最近看Camera的api,觉得写的真的不错.现在翻译过来,给大家分享分享,译文可能不太好,大家将就着看哈. (二) 正文1. CameraCamera是Android framework ...

  4. 乐卡上海网点地图制作心得 | 百度地图API使用心得

    前言 事情的起因是我的爱人喜欢收集一些美丽的乐卡(明信片的一种,正面是美丽壮阔的风景照).作为一个坚实的后盾自然要支持她!于是我经常借着午休穿梭在大街小巷,凭借乐卡官方提供的乐卡网点地址进行寻找并取卡 ...

  5. 百度OCR文字识别API使用心得===com.baidu.ocr.sdk.exception.SDKError[283604]

    异常com.baidu.ocr.sdk.exception.SDKError[283604]App identifier unmatch.错误的packname或bundleId.logId::303 ...

  6. cornerstoneTools 作用,用法,api使用心得

    一.cornerstoneTools的用途 1.作用可以响应一些事件,例如鼠标按下的事件,鼠标滚轮的事件或按键或触摸事件 2.可以对视口进行缩放平移 3.可以在图像上绘制图形 4.可以在图像上绘制文本 ...

  7. 微信支付JS API使用心得

    微信的接口真的很坑爹,只返回成功或失败,从来不会告诉你为什么失败.这个微信支付的js接口也是调了一个下午才成功,期间踩了不少坑,在这里总结一下,而且把支付接口封装成了一个js文件,这样以后调用就很方便 ...

  8. H5的Web Audio Api

    概述 研究Web Audio Api的主要原因是:工作中需要在ios中实现声音的淡出效果,主要是通过setInterval来改audio标签的volume属性实现的,但是ios上面volume属性是只 ...

  9. 用laravel dingo api插件库创建api的一些心得笔记

    用laravel创建api是很多大型项目正在使用的方法,一般他们都是用dingo api插件库来开发自己的api.以下是ytkah用dingo api的一些心得,有需要的朋友可以关注一下 1.安装 因 ...

  10. 百度地图和高德地图坐标系的互相转换 四种Sandcastle方法生成c#.net帮助类帮助文档 文档API生成神器SandCastle使用心得 ASP.NET Core

    百度地图和高德地图坐标系的互相转换   GPS.谷歌.百度.高德坐标相互转换 一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记 ...

随机推荐

  1. [逆向] PE文件学习

    目录 概述 MS-DOS 头部 IMAGE_DOS_HEADER PE头 IMAGE_NT_HEADER IMAGE_FILE_HEADER IMAGE_OPTIONAL_HEADER32 数据目录列 ...

  2. 2.UML类图基本介绍

    1. UML 基本介绍 UML--Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果 U ...

  3. k8s部署nacos集群

    首先创建数据库 nacos 执行以下语句 CREATE TABLE `config_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'i ...

  4. Spring5课堂笔记

    Spring5 1..Spring 1.1.简介 Spring --> 春天,为开源软件带来了春天 2002,首次推出了Spring框架的雏形:interface21框架! Spring框架以i ...

  5. vscode 注释后 光标下移(注释后光标快速定位下一行) 仿照idea

    VSCode 注释后光标快速定位下一行 1. 安装插件 Multi-command Multi-command 2.打开 Keybinding.json Keybinding.json 左下角齿轮图标 ...

  6. Git Flow 的正确使用姿势 - 分支 branch - master dev 使用方式

    Git Flow 的正确使用姿势 https://www.jianshu.com/p/41910dc6ef29

  7. Kotlin/Java 读取Jar文件里的指定文件

    原文地址:Kotlin/Java 读取Jar文件里的指定文件 | Stars-One的杂货小窝 jar包本质上也是压缩文件,下面给出如何读取jar包里某个文件的源码: val jarFile = Ja ...

  8. 通达信金融终端解锁Level-2功能 续(202307)

    外挂方式,不修改原程序.解锁Level-2 逐笔分析.对"非法访问"Say NO! LEVEL2逐笔分析破解后,仍然被防调试. 竞价分析,实时资金示例. 逆向通达信Level-2 ...

  9. MediaCodec硬解流程

    一 MediaCodec概述 MediaCodec是Android 4.1(api 16)版本引入的低层编解码接口,同时支持音视频的编码和解码.通常与MediaExtractor.MediaMuxer ...

  10. Android网络收集和ping封装库

    目录介绍 01.基础介绍 02.stetho大概流程 03.Android中应用 04.如何使用 05.案例截图如下 06.网络请求接口信息 07.如何使用ping 01.基础介绍 该工具作用 诸葛书 ...