最近因为项目需要,接触了一下关于 图像识别 的相关内容,例如Tesseract。具体如何安装、设置在此不再赘述。根据项目要求,我们需要从省平台获取实时雨水情况数据,原以为获取这样的公开数据比较简单,上去一看原来不简单。该平台的实时数据是以图片形式提供的,而且是经过压缩的图片,分辨率比较差。
上图是某省水情平台以图片的方式,对外发布的近15天雨情数据,根据项目需要采用 Java 加Tesseract的方式获取数据。编程没难度,关键是识别精度的问题。
1. 直接识别,结果如图:
效果不行,数值部分有识别成了字母了,小数点也没识别出来,肯定不能实用。
2. 根据网上介绍的经验,对图片进行二值化等再处理后识别如下:
主要内容识别出来了,基本能用了。就是时间里的部分数字8被识别成数字3,要达到100%的识别精度,还要再进行自主学习才行,不知头条的老师能赐教一下不。