登录验证

可以拓展接入腾讯云短信服务,结合redis完成登录,或者拓展实现微信扫码登录都可

项目优化 - 图1

文件上传和存储

由于是开发版本,为了方便查看和删除,所以本项目就暂时将文件上传到本地。

优化方式一:大家可以在本地安装虚拟机,然后配置Minio优化文件上传和存储功能。

Minio安装配置教程:https://blog.csdn.net/HXBest/article/details/124784669

在项目中配置:

项目优化 - 图2

项目优化 - 图3

优化方式二:使用云存储服务

项目优化 - 图4

图片功能

之后可以参考项目:Opencv_Java: OpenCV Java 对更多功能进行拓展,都是基于OpenCV-Java实现的。

项目优化 - 图5

  1. OpenCV_1_Read 使用OpenCV图像读取与保存
  2. OpenCV_2_Mat Mat的初始化、读取、转换、遍历
  3. OpenCV_3_MatShow Mat对象显示到BufferedImage
  4. OpenCV_4_ColorSpace RGB色彩空间
  5. OpenCV_5_MatMath MAT像素算术运算和逻辑
  6. OpenCV_6_FloodFill 区域与泛洪填充
  7. OpenCV_7_Convlution 均值模糊
  8. OpenCV_8_Gaussian 高斯模糊
  9. OpenCV_9_EPF 边缘保留滤波EPF
  10. OpenCV_10_Histogram 绘制图像直方图
  11. OpenCV_11_HistogramHist 直方图均衡化
  12. OpenCV_12_HistogramCompare 直方图的比较
  13. OpenCV_13_HistogramHistBack 直方图反向投影
  14. OpenCV_14_TemplateMatch 模板匹配
  15. OpenCV_15_BinaryImage 图像二值化
  16. OpenCV_16_BinaryAdapt 自适应阈值二值化
  17. OpenCV_17_BinaryBigImage 超大图像二值化
  18. OpenCV_18_Pyramid 图像金字塔
  19. OpenCV_19_PyramidBlend 图像金字塔融合
  20. OpenCV_20_MScaleTemplateMatch 多尺度模板匹配
  21. OpenCV_21_GradientSobel 图像梯度一阶倒数(索贝尔算子)
  22. OpenCV_22_GradientLapalian 图像梯度二阶倒数(拉普拉斯算子)
  23. OpenCV_23_Canny Canny边缘提取
  24. OpenCV_24_HoughLine 直线检测---霍夫直线变换
  25. OpenCV_25_HoughCircle 圆检测
  26. OpenCV_26_FindContours 轮廓发现
  27. OpenCV_27_ContoursMeasure 图象测量
  28. OpenCV_28_DilateErode 图象形态学---腐蚀与膨胀
  29. OpenCV_29_OpenClose 图象形态学---开闭操作
  30. OpenCV_30_MorePH 其他形态学操作:顶帽、黑帽、基本梯度、内部梯度、外部梯度
  31. OpenCV_31_WaterShed 分水岭算法

人脸识别

// TODO 待拓展完善的业务功能:

项目优化 - 图6

车牌识别

待解决前后端整合项目后使用的报错问题:

项目优化 - 图7

报错内容:

  1. Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: org.bytedeco.javacpp.opencv_core.CV_MAKETYPE(II)I

直接main方法允许是没问题的,不会报错。我觉得可能跟模型的加载有关(有关什么System.loadLibrary(Core.NATIVE_LIBRARY_NAME)加载,opencv依赖,jar包等,启动参数等等我都试过,还是不行),这个问题我找了很久,始终没找到解决办法,如果大家找到了解决的办法,可以告知帮助帮助

项目优化 - 图8

手写数字识别

优化使用更佳的识别模型,详见文档优化部分👇

手写数字识别——优化模型

证件识别

待完善的功能内容有:

  • 身份证头像识别
  • 中文字符训练
  • 姓名、民族、性别、出生日期等定位识别

其次,项目识别证件号的算法模型识别率受证件图片质量影响,图片的证件号如果数字0是带有斜杠的会影响识别结果,且上传的证件图片环境不满足纯色背景等要求,将会识别失败。

项目中待优化部分:将上传的证件照图片给予剪裁功能,提高识别度

参考链接:

1、Vue实现裁切图片功能

2、VUE图片裁剪,打码,旋转功能

3、 Vue中图片裁剪的实现

4、基于vue的图片裁剪vue-cropper

5、me-smart-ui/index.vue at master · superzay/me-smart-ui (github.com)

密码工具

// TODO 待解决——项目将数据导出成Excel文件时的报错问题,报错内容如下:

2022-05-22 17:54:04 [XNIO-1 task-1] ERROR io.undertow.request
 - UT005023: Exception handling request to /ai/ai/pwd/export
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.alibaba.excel.exception.ExcelGenerateException: Can not close IO.
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:517)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:584)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at com.ruoyi.common.filter.RepeatableFilter.doFilter(RepeatableFilter.java:30)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    ... 150 common frames omitted