esap4.0的机器人已经非常强大,而不满足于此的童鞋们又提出是否能直接在工作台也体验AI识别的快感。
本文以NX为例就这个问题展示如果打造原生体验的识别方案。
先看疗效
工作台建立表单插入或复制粘贴图片后,就可以开始点按钮立即识别。
识别步骤
创建AI脚本
把查询模板简化一下,只需要输入需要的字段即可。
示例中,建立sql/api2/bdai.post文件,里面建立下列AI识别sql模板
{{define "aiidcard"}}
{{with $data := post ("bdai" | token | printf "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard?access_token=%v") (.praw | body | base64 | map "detect_direction" "true" "id_card_side" "front" "image")}}
select '{{.words_result.公民身份号码.words}}' 号码
,'{{.words_result.姓名.words}}' 姓名
,'{{.words_result.性别.words}}' 性别
,'{{.words_result.民族.words}}' 民族
,'{{.words_result.出生.words}}' 出生
,'{{.words_result.住址.words}}' 住址
{{end}}
{{end}}
{{define "aiidcardback"}}
{{with $data := post ("bdai" | token | printf "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard?access_token=%v") (.praw | body | base64 | map "detect_direction" "true" "id_card_side" "back" "image")}}
select 签发机关= '{{.words_result.签发机关.words}}'
,签发日='{{.words_result.签发日期.words}}'
,失效日='{{.words_result.失效日期.words}}'
{{end}}
{{end}}
{{define "aidriving"}}
{{with $data := post ("bdai" | token | printf "https://aip.baidubce.com/rest/2.0/ocr/v1/driving_license?access_token=%v") (.praw | body | base64 | map "detect_direction" "true" "accuracy" "high" "image")}}
select '{{.words_result.证号.words}}' 证号
,'{{.words_result.姓名.words}}' 姓名
,'{{.words_result.准驾车型.words}}' 准驾车型
,'{{.words_result.住址.words}}' 住址
,'{{.words_result.有效期限.words}}' 有效期限
{{end}}
{{end}}
{{define "aivehicle"}}
{{with $data := post ("bdai" | token | printf "https://aip.baidubce.com/rest/2.0/ocr/v1/vehicle_license?access_token=%v") (.praw | body | base64 | map "detect_direction" "true" "image")}}
select '{{.words_result.车辆识别代号.words}}' 车辆识别代号
,'{{.words_result.所有人.words}}' 所有人
,'{{.words_result.号牌号码.words}}' 号牌号码
,'{{.words_result.住址.words}}' 住址
,'{{.words_result.注册日期.words}}' 注册日期
,'{{.words_result.品牌型号.words}}' 品牌型号
{{end}}
{{end}}
{{define "aiplate"}}
{{with $data := post ("bdai" | token | printf "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate?access_token=%v") (.praw | body | base64 | map "detect_direction" "true" "image")}}
select '{{.words_result.number}}' 车牌
,'{{.words_result.color}}' 颜色
{{end}}
{{end}}
{{define "aiocr"}}
{{with $data := post ("bdai" | token | printf "https://aip.baidubce.com/rest/2.0/ocr/v1/webimage?access_token=%v") (.praw | body | base64 | map "detect_direction" "true" "image")}}
select '{{range $v := .words_result}}{{$v.words}},{{end}}' 文字
{{end}}
{{end}}
注册接口
在NX-设计区-外部接口中一一注册这些接口
接口传入,统一为praw,即图片
传出需要先建一个表结构,字段与上面的sql模板输出对应
然后传出这个表结构即可
模板建立提数
采用API提数,传入本表图片字段,传出表一一对应填入本表。
其他效果
身份证正反面同时识别
小结
-
使用ESAP定义查询API
-
使用NX的API提数
本文示例应用ESAP4.0.8+支持。
2019-07-18