当前位置: 首页 > news >正文

Matlab 字符识别OCR实验

Matlab 字符识别实验

图像来源于屏幕截图,要求黑底白字。数据来源是任意二进制文件,内容以16进制打印输出,'0-9a-f’字符被16个可打印字符替代,这些替代字符经过挑选,使其相对容易被识别。

第一步进行线分割和字符分割。因来源于屏幕截图,所以横平竖直。首先对图像二值化,然后在X(W)方向上像素求和,这样可以确定线分割精确位置,取多条线(20条)的子图,在Y(H)方向上进行像素求和,可大体确定字符间分割位置,在字符切割过程中,针对不同字符在此基础上可做左右精细调整。

第二步逐行逐字符模式匹配识别。对切割出的字符,在16个字符模板中进行匹配,取相似度最高的作为识别结果。匹配可采用二维模板匹配。这里出于效率考虑,用X和Y方向像素求和曲线作为字符特征,和切割字符的曲线进行比较,识别率几乎100%。曲线比较逻辑: 首先曲线归一化和对齐,然后用两条曲线的SAD做相似度度量,数值越小相似度越高

在这里插入图片描述

http://www.lryc.cn/news/279008.html

相关文章:

  • Docker Compose 部署 jenkins
  • QT:使用QStyle实现QMenu的滚动效果
  • 双指针问题——求只包含两个元素的最长连续子序列(子数组)
  • Unity组件开发--短连接HTTP
  • 真正的强大,原来是不动声色的
  • git 查看tag和创建tag以及上传tag命令
  • 代码随想录二刷 |二叉树 | 二叉搜索树的最小绝对差
  • 【Linux】Linux 系统编程——tree 命令
  • Android简单控件
  • 【Java 干货教程】Java实现分页的几种方式详解
  • 关于Python里xlwings库对Excel表格的操作(三十一)
  • QML使用QCustomPlot笔记
  • 【REST2SQL】06 GO 跨包接口重构代码
  • 《NLP入门到精通》栏目导读
  • C++学习笔记——类继承
  • ARCGIS PRO SDK 使用条件管理 Pro UI
  • Halcon经典的边缘检测算子Sobel/Laplace/Canny
  • 用单片机设计PLC电路图
  • 【设计模式-6】建造者模式的实现与框架中的应用
  • PositiveSSL和Sectigo的多域名证书
  • Docker:docker exec命令简介
  • 【大数据进阶第三阶段之Hive学习笔记】Hive的数据类型与数据操作
  • GPT2:Language Models are Unsupervised Multitask Learners
  • 微创新与稳定性的权衡
  • 对回调函数的各种讲解说明
  • Java多线程:创建多线程的三种方式
  • Unity中打印信息的两种方式
  • 给定n个字符串s[1...n], 求有多少个数对(i, j), 满足i < j 且 s[i] + s[j] == s[j] + s[i]?
  • Linux磁盘空间与文件大小查看命令详解
  • 网络通信过程的一些基础问题