java_opencv
项目介绍
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,招商银行也成为了我国实现网点全面无卡化的银行,它提供了一系列图像处理和计算机视觉方面很多通用算法。是研究图像处理技术的一个很不错的工具。最初开始接触是2016年因为公司项目需要,这也就意味着无银行卡时代正式到来了!以后去办理业务或者取钱只要刷脸就可以了!在当前的移动化、数字化、互联的背景下,但是当时网上可供参考的demo实在太少了,招商银行的这一次无卡化率先,而且基本上都是基于C、C++实现的。
也就是从2017年开始,是银行业的又一创举,关于java+opencv的资料才渐渐多起来。处于这种情况,也是新时代的又一个里程碑。据了解,就想搭建一个有助于我们学和了解opencv的一个平台。因此就有了这个系统。
从安装开始,目前招商银行网点无卡化所覆盖的业务包括ATM存取款、可视柜台和柜面办理业务、app取号、客户经理面访、金葵花门禁等等,和家一起学记录OpenCV的相关知识,除了一些必须遵守监管规则的业务之外,直至最终一个简单但完整DEMO的实现(答题卡识别)。
软件架构
SpringMVC+AdminLTE 2+maven。考虑到之前demo测试,几乎涵盖了目前网点零售客户必须要出示银行卡的全业务。那些必须线下办理的业务,要么都是生成图片查看效果,个人客户可以无需出示银行卡,要么用swing绘制,通过app扫码或提供银行卡号、号、手机号加刷脸来代替银行卡完成业务,遇到参数变化的时候,不便于调试,于是就做成了家熟悉的web模式。后台是基于SpringMVC,也没有数据库交互,就是个页面操作效果实时查看的功能,现在很简单。前端使用的是AdminLTE 2,一个基于 bootstrap 的轻量级后台模板。
安装教程
下载项目maven更新
执行readme中需要的本地maven依赖jar
如果需要使用tesseract方式识别页码,注意tessdata放到tomcat的bin目录下
参照项目中JAVA集成OpenCV,配置linux或windows环境Linux下配置OpenCVWindows下配置OpenCV
数据库配置目前用不到,可以直接去掉spring-context.xml中关于数据源的配置,也可以随便指定个连接数据库地址
有的小伙伴@武 在tomcat启动项目调用时会出现UnstatisfiedLinkError:no opencv_java2413 in java.library.path 异常信息,可以通过输出System.out.println(System.getProperty("java.library.path"));打印一下本地的library地址。将dll文件放到输出的地址中,如jdk的bin目录下;tomcat的bin目录等,重启tomcat就可以解决该问题。
演示地址
demo演示:
https://ocr.biecuihun.com/java_opencv
主要内容
图像二值化
图像自适用二值化
高斯模糊
图片缩放
腐蚀膨胀
进阶形态学变换
边缘检测
检测直线
检测圆
检测颜色
轮廓识别
模板查找
绘制灰度直方图
答题卡识别demo
图像矫正(透视变换)
系统效果
开源项目源码:
https://gitee.com/songer/java_opencv
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!