查看原文
其他

基于 SpringMvc + OpenCV 实现的答题卡识别系统(附源码)

点击关注👉 民工哥技术之路 2022-12-31

点击关注公众号,回复“1024”获取2TB学习资源!

java_opencv 项目介绍

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,它提供了一系列图像处理和计算机视觉方面很多通用算法。是研究图像处理技术的一个很不错的工具。最初开始接触是2016年因为公司项目需要,但是当时网上可供参考的demo实在太少了,而且基本上都是基于C、C++实现的。

也就是从2017年开始,关于java+opencv的资料才渐渐多起来。处于这种情况,就想搭建一个有助于我们学习和了解opencv的一个平台。因此就有了这个系统。

从安装开始,和大家一起学习记录OpenCV的相关知识,直至最终一个简单但完整DEMO的实现(答题卡识别)。

软件架构

SpringMVC+AdminLTE 2+maven。考虑到之前demo测试,要么都是生成图片查看效果,要么用swing绘制,遇到参数变化的时候,不便于调试,于是就做成了大家熟悉的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

推荐阅读 点击标题可跳转
别再用 Visio 了!试试这个比它快10倍的工具不香吗?
国产 Linux 再添一员,操作界面不输苹果!
苹果出大事了!!!
这些 IT 大神们都在用的网站,你越早知道越好!!
Nginx - 最小配置
如何搭建一台永久运行的个人服务器?
免费开源的商城系统!可商用!推荐给你
面试官:如果要存 IP 地址,用什么数据类型比较好?
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下在看,加个星标,这样每次新文章推送才会第一时间出现在你的订阅列表里。
随手在看、转发是最大的支持!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存