快速入门开发实现订单类图片识别结果抽象解析

面对订单数据纸质文件或图片,仅靠人眼识别的话效率很低,需引入机器学习来识别和解析图片以提高效率。当前市面上已有收费的图片识别服务,包括阿里、百度等,识别效果较好,但针对订单类图片,不仅要关注图片上的文字,还要关注文字所在的行列,来分出每条数据和数据详细字段。

本文主要介绍一种针对订单类图片识别结果进行行列解析的抽象流程和方案,帮助提高开发效率。

注:本文只提供思路,不提供源码。另外,本文不介绍人工智能图片识别,感兴趣的同学可以上网查询相关资料。

二、解析流程

对于图像处理,opencv算是比较优秀的工具,因此将其选做本文图像处理首选软件。

为了使图片识别率更高,需要先做图片矫正,这里采用较为简单的霍夫变换加去噪声点算法矫正图片。

图片矫正后,调用图片识别服务获取结果,一般结果格式包括响应码、错误描述、文字块列表(文字和四点坐标)等。

然后使用抽象的俄罗斯方块法根据识别结果获取行列信息。

最后根据行列信息组装每一行数据并显示。

三、细节处理 3.1 opencv安装概要

opencv安装,本文只做简单提示,不展开介绍,以后有时间单独发文。

1)windows

下载编译好的包,https://opencv.org/releases/

解压缩到自定义文件夹。

2)linux

推荐使用ubuntu,并且最好是全新的系统,因为opencv会依赖很多包,对版本要求也高,解决冲突会很麻烦。

下载源码

安装依赖包

编译安装

我们使用java调用opencv,这里需要安装获取到开发包,windows为opencv_javaxxx.dll,linux为libopencv_javaxxx.so,程序初始化时需要加载到jvm。详细代码如下:

System.load(PropertieUtil.getPropertie("这里是dll或so的完整路径");

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjyjs.html