目标

来自于公司OCR业务对图片中金额识别不精准(因分割金额的每个小格子存在竖虚线有时会被利用有道Api有时会误识别成金额1),现调研OpenCV如何处理此问题。

方案

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

以上是百度百科对OpenCV介绍,用C++去调用很显然不够现实,同时我查到了有开源作者贡献了PHP扩展,phpopencv,只因这个扩展着实难编译出来(半个下午时间都采到这坑里了),没结果,最后无奈放弃(最后在github仓库看到可以docker安装,-_-||,只能说文档太旧没更新了)。

方案二:python-opencv docker启动一个ubuntu容器,然后容器内安装Anaconda参考自,通过conda快速安装opencv,在利用文档说提供的现成python代码,马上runDemo,爽的一批批,

用到的conda几个命令如下:

1
2
3
4
conda search opencv
conda install opencv=3.3.1
conda env
conda info --envs

结果

虽然还没解决自个的问题,用下午1个多小时,已经快速完成数学形态学中(腐蚀、膨胀、开运算、闭运算)Demo实例。

补充 opencv 学习参考资料:github MachineLP

参考文档