小程序三方平台开发: 解析小程序开发的未来趋势和机遇
1026
2022-11-14
SpringBoot+OCR 实现图片文字识别
本篇介绍的是基于百度人工智能接口的文字识别实现。
1. 注册百度云,获得AppID
此处百度云非百度云盘,而是百度智能云。
大家可进入https://cloud.baidu.com/ 自行注册,这里就不多说了。
接下来,我们进行应用的创建
所需接口根据实际勾选,我们暂时只需前四个即可。
2. 日常demo操作
pom.xml:
jsonChange.class:(json处理工具类)
public class JsonChange {
/**
* json字符串转换为map
*/
public static
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
return mapper.readValue(jsonString, Map.class);
}
}
OcrController.class:
AipOcr client = new AipOcr(“AppID”, “API Key”, “Secret Key”) 切记换成刚刚创建的应用的AppID,而且三个参数均是String类型。
@RestController
public class OcrControllhttp://er {
@PostMapping(value = "/ocr")
public Map
AipOcr client = new AipOcr("AppID", "API Key", "Secret Key");
// 传入可选参数调用接口
HashMap
options.put("language_type", "CHN_ENG");
options.put("detect_direction", "true");
options.put("detect_language", "true");
options.put("probability", "true");
// 参数为二进制数组
byte[] buf = file.getBytes();
JSONObject res = client.basicGeneral(buf, options);
Map map = JsonChange.json2map(res.toString());
return map;
}
}
如果只想要识别出来的文字即可,可加入
// 提取并打印出识别的文字
List list = (List) map.get("words_result");
int len = ((List) map.get("words_result")).size();
for(int i=0; i str = str + ((Map) list.get(i)).get("words") + "\n"; } 接下来 postman 测试 ocr识别出的全部数据输出 提取其中识别的文字,剔除其他信息 源码-
str = str + ((Map) list.get(i)).get("words") + "\n";
}
接下来 postman 测试
ocr识别出的全部数据输出
提取其中识别的文字,剔除其他信息
源码-
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~