ABBYY OCR技术教电脑阅读缅甸语(上)
缅甸联邦共和国,原名缅甸,是东南亚的一个国家,从1962年到2010年,缅甸一直被政变后上台的军政府统治,直至最近5年它才对外界开放,与其他国家建立了贸易与文化联系。
缅甸语由很多方言组成,但所有方言都共享一个核心字母表,该核心字母表主要用于正式文本和印刷媒体,有33个辅音和12个辅助字符,地区方言可能还使用其他字符,完整列表大约有核心字母表的三倍大。幸运的是,我们的工作是识别使用流行的至少10点大小的缅甸3字体书写的标准缅甸文本,文本图像可以是灰度、黑白或彩色的,分辨率至少有300dpi,下面是典型的缅甸文本样板:
在项目初步阶段,我们必须实现75%的OCR准确度,最小目标准确度为94%。
缅甸脚本就是所谓的alphasyllabary,在这里每一个辅音字母也都传达“默认”元音声,其他元音声使用特殊字符和辅音上面、下面、前面、后面的变音符号甚至辅音周围的变音符号转录。
字母大多由半圆组成,因为在过去,文本都是写在棕榈叶上,很容易被直线切口损坏。
缅甸语是一种有声调的语言,有三个主要声调—高、低和嘎吱声,和两个次要声调—入耳调和降调。
由于声调也要在书写中进行转录,缅甸脚本实际上有两种可分辨的符号,可能放在主要字母上面、下面或同时放在主要字母的上面和下面,这两种层叠的可分辨系统给OCR软件带来了重大挑战,但不仅仅如此。
若要让事情变得更复杂,有些字母组合可以融合在一起形成新字符。
在大多数常规术语中,光学字符识别如雷贯耳。当OCR软件收到图像文件时,它会使用OCR技术执行一些初步处理,将图像转换为黑白文本并纠正看得见的扭曲,接下来检测包含不同类型文本(标题、正文、脚注)、照片和表格的区域,文本块随后解析成行,行再到单词,单词再到字母,单个字母识别完成之后,文本将自下至上重组,缅甸文本的图像处理和板块检测和大多数其他语言里的操作一样,但是检测文本行是一件棘手的事。
由于变音符号的丰富性,教电脑识别短文本行非常困难,这就是原因所在,我们的运算法则使用很多功能体现文本行,其中的一个功能是虚构的基线,所有主要字符都位于这个基线上,电脑需知道在哪里画一条基线,以便生成有关单个字符的合理假设。
电脑使用统计数据检测基本文本行,为了收集必要的数据,要观察构成字母的黑点生成的直方图上的峰值,在欧洲字母的直方图上,有三个清晰可见的峰值对应于基线和小写字母的高度:
然而在缅甸语中,文本行正常宽度以外的众多变音符号在直方图中导致额外的统计学上有意义的峰值,为此,我们的最初面向欧洲脚本的运算法则,无法正确地识别缅甸文本行的重要参数。
在下面的图形中,程序正确地检测到了前两行,但没有检测到第三行:
针对文本行检测运算法则,我们必须要做一些调整,让其同样适用于缅甸文本。
ABBYY OCR技术教电脑阅读缅甸语(上)的更多相关文章
- ABBYY OCR技术教电脑阅读缅甸语(下)
文本行检测到之后,我们开始寻找单词和字母之间的间隙,这一次,我们运用了水平直方图,将大的间隙假设为单词之间的空隙,小的间隙理解为字母之间的空隙,检测缅甸文本中的空隙几乎没有出现问题,不像泰语,几乎没有 ...
- OCR技术浅析-无代码篇(1)
图像识别中最贴近我们生活的可能就是 OCR 技术了. OCR 的定义:OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打 ...
- OCR技术
"起初我写这篇教程是在情人节,OCR可以带给你一整年的爱". 你之前肯定已经见过,OCR技术被应用于在平板电脑上将扫描文件处理成手写字迹,还被应用于谷歌最近添加到他们的Transl ...
- 教你阅读 Cpython 的源码(二)
第二部分:Python解释器进程 在上节教你阅读 Cpython 的源码(一)中,我们从编写Python到执行代码的过程中看到Python语法和其内存管理机制. 在本节,我们将从代码层面去讨论 ,Py ...
- [Mugeda HTML5技术教程之2] Mugeda HTML5富媒体平台简介
[Mugeda HTML5技术教程之2] Mugeda HTML5动画平台简介 摘要:Mugeda提供基于云的平台,供开发人员和设计人员快速的开发.发布和统计基于HTML5的,包含丰富动画和交互的移动 ...
- Python爬虫入门教程 56-100 python爬虫高级技术之验证码篇2-开放平台OCR技术
今日的验证码之旅 今天你要学习的验证码采用通过第三方AI平台开放的OCR接口实现,OCR文字识别技术目前已经比较成熟了,而且第三方比较多,今天采用的是百度的. 注册百度AI平台 官方网址:http:/ ...
- OCR技术浅探:特征提取(1)
研究背景 关于光学字符识别(Optical Character Recognition, 下面都简称OCR),是指将图像上的文字转化为计算机可编辑的文字内容,众多的研究人员对相关的技术研究已久,也有不 ...
- 10、技术经理要阅读的书籍 - IT软件人员书籍系列文章
技术经理是项目组中的重要角色.他需要负责软件项目中的重要部分,如果项目组没有架构师的话,技术经理还需要担负起架构师的职责.同时,技术经理要对项目中的所有重要的技术问题进行处理. 但是,在项目组内部,软 ...
- [Mugeda HTML5技术教程之16]案例分析:制作跨屏互动游戏
本节我们将要做一个跨屏互动应用的案例分析,该应用时给一家商场做活动使用的,是一个跨屏爱消除游戏.PC端页面显示在连接在PC的大屏幕上,参与活动的玩家可以用自己的手机扫描PC端页面上的二维码,连接成功后 ...
随机推荐
- Cocos2dx使用TextField实现输入框
游戏login的时候必须要求玩家输入用户名.密码,还要可以删除. cocostudio画一个textfield,直接读入好了: textField类,继承读取的widget. local textFi ...
- SQL数据库连接到服务器出错——无法连接到XXX
问题:Windows或者SQL Server身份验证下,出现连接到服务器出错 解决方式: 1.检查实例名称是否正确,如下 根据自己电脑的实际名称修改修改如下: 1)Microsoft SQL Serv ...
- Mac如何找到从AppStore下载的正版Xcode安装包、以及Xcode清理缓存
前言:本文介绍在Mac下如何找到AppStore下载的安装包路径,以及如何提取出来供以后使用,希望对大家有所帮助(前提:想要提取某个安装包,前提是你正在从AppStore安装这个程序.比如你想提取im ...
- jdk 10.0.2 bug修复
之前记录过jdk9+版本的1个bug,某些情况下会导致方法执行二遍,今天早上打开笔记本(mac),弹出一个框提示jdk升级10.0.2,顺手点了一下,然后验证了下该bug,发现居然fix掉了,推荐大家 ...
- api日常总结
异步加载JS和CSS <script type="text/javascript"> (function () { var s = document.createEle ...
- 报错:bash: pip: command not found
$ wget https://bootstrap.pypa.io/get-pip.py$ python get-pip.py$ pip -V #查看pip版本
- WebService服务发布与使用(JDK自带WebService)
简单粗暴,直接上步骤 一.先建立一个web项目,名字叫MyService 名字为MyService 新建Java类 package com.webService; import javax.jws.W ...
- 【Linux】Cent OS 虚拟机开机自启动配置
一次断电,导致实体机关机了,虚拟机也连不上去,只好手动来起来. 我想增加一下自启动,让硬件开机的时候,自动启动虚拟机: 其实是有办法的,尝试了一下,也成功了,这里简单标记下. virsh autost ...
- ui-router 1.0 003 lazyloading
ui-router lazyloading 支持懒加载, 真正需要的时候再去加载模块
- C# Chart使用总结 2 ----属性
默认显示如图所示,Series的名称显示在右边,它会将下方空间挤掉,使图表只能显示在左侧,而右侧大部分地方都是空白的.当图很宽的时候看着会很不舒服. 可以设置Legends 集合中的Docking ...