CN107527062A - 一种移动端用Javascript七段码识别方法 - Google Patents
一种移动端用Javascript七段码识别方法 Download PDFInfo
- Publication number
- CN107527062A CN107527062A CN201610459270.8A CN201610459270A CN107527062A CN 107527062 A CN107527062 A CN 107527062A CN 201610459270 A CN201610459270 A CN 201610459270A CN 107527062 A CN107527062 A CN 107527062A
- Authority
- CN
- China
- Prior art keywords
- cluster
- segment code
- mobile terminal
- image
- digital
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Character Discrimination (AREA)
Abstract
本发明提出一种移动端用Javascript七段码识别方法,对移动移动端拍摄的七段码图像二值化后使用宽度优先搜索并运用聚类算法初步识别出七段码数字区域,然后在初步识别出的数字区域基础上再进行图像二值化处理,然后对数字区域做聚类处理,聚类生成不同数字集合;滤除噪声后使用窜线法对七段码数字进行识别。本发明可以使用移动终端进行识别。
Description
技术领域
本发明属于移动端浏览器图像识别技术领域,具体一种移动端用Javascript七段码识别方法。
背景技术
七段码是一种比较常见的数字描述的格式,具有数字识别特征明显、数字显示统一规范,易于识别等特征。其应用的场景比较多,比如实验室设备、电子器备、LED显示器的读数等。七段码的读数方式,传统的模式是人为读写手动记录,但是人为手工抄写效率不高,输入错误时修改费时。与此同时移动端的数据读写操作应用日渐广泛,比如二维码之类的识别等。很多应用在餐馆、酒店等使用移动端作为一种识别读取工具,包括手机订餐、点餐等,还用很多类似的表单填写(下单)应用。
七段码通过移动端扫描识别并返回到对应的数据到应用表单,从而记录和保存数据,然后把有效数据传到服务器端进行后续处理具有较大的应用前景。这种方式在很大程度上省去了人工读数并填写的操作过程和时间,并提高了效率。所以通过移动端扫描识别七段码技术具有很大应用范围和商业前景。
目前移动端基于七段码的应用较少,传统的个别的七段码识别应用在PC端一般是基于Java、C类语言实现的,虽然有如OCR等比较成熟的库,但是将这些应用迁移至移动端有平台、语言等各种问题。平台问题包括安卓端的识别仅适用于安卓手机,无法在苹果等非安卓手机上安装使用。一般的图片识别解决方式思路,客户端可以拍照上传至远程服务器,远程服务器调用对应的算法识别然后返回结果,但是这种做法受网络的限制,同时远程服务器要处理的数据压力比较大。语言问题主要是一般情况下七段码在电脑端使用高级语言编写,可以调用丰富的图像处理库实现,但这些语言实现的七段码识别应用较难迁移到移动端使用,存在移动端无法编译和***不兼容等问题。因为移动端无法本地处理编译型语言,缺少编译环境,而且编译语言代码量比较大,会受移动端***限制,苹果和安卓就是不同运行环境,代码不能在多个平台间迁移。
移动端发展趋势,html5+,mui等框架基于html5和Javascript基础的解释型语言具有轻量,在不同平台通用即一次开发多个平台可共用,开发周期端,维护可扩展性强,开发效率高等优点,因此越来越被开发人员接受。很多像阿里之类的大型公司在移动端使用原生和html5混合编程开发,对于信息量大,内容更新较快的,对页面框架布局更新变换快的,对页面刷新速度要求很快的页面可以采用html5实现。近来比较热的html5+,mui移动端开发框架,其中图像识别如二维码扫描、条形码扫描集成在框架中,已经做的比较成熟完善。但是对七段码这类扫描应用,市面上还没有具体实现,还比较空白。
七段码在移动端识别的难点在于:①七段码读数的数字和背景颜色多样,不像二维码、条形码等单纯的黑色内容区域白色背景比较简单利于处理;②七段码数据长短不确定,导致数据区域可变,没有二维码正方形任意放大缩小长宽比不变的优点;③七段码对拍摄要求高,拍照的光线及投影都会对图像处理分析造成噪音干扰;还有小数点或多位数字间区分的“‘”容易和噪音混淆。
发明内容
本发明提出一种移动端用Javascript七段码识别方法,可以使用移动终端进行识别。
为了解决上述技术问题,本发明提供一种移动端用Javascript七段码识别方法,步骤如下:
S101,对拍照获得的七段码图像进行灰度化处理;对灰度化以后的图像使用sobel边缘算子获得边缘化图像;使用大律法对边缘化图像进行二值化处理;
S102,对二值化后的图像进行宽度优先搜索并运用聚类算法,把像素点根据其四周的像素值是否相同聚类生成不同数字集合,找出各个数字所在区域,并返回不同数字集合以及其对应聚类集合的编号;把分类的多个数字集合中的像素点转化为对应的坐标点集合,返回点集合;对不同数字集合,过滤掉小的数字集合,留下数字集合的像素点区域的宽度是否大于图像1/3的宽度区域,如果是,则认为有数字区域存在,获得数字区域,如果不是,则假定没有数字区域;
S103,对所述数字区域进行二值化处理,然后对数字区域做聚类处理,聚类生成不同数字集合,找出各个数字所在区域,返回不同数字集合以及其对应聚类集合的编号,返回聚类集合和集合编号;若像素点值均变换为1,说明七段码黑底白字需反向,或得到的数字区域里面不包含数字;若像素点值均不为1,则通过各数据集生成对应聚类的坐标集合;
S104,对得到的聚类的各个集合过滤噪音,用并查集方法,对同一个数字,把上下区域的点集合合并为一个集合,得到合并后的数据集;
S105,对所有聚类不同集合按照集合最左边的像素点的横坐标进行sort排序操作;
S106,对各聚类子集的数字进行识别。
进一步:使用移动端对七段码进行拍照。
进一步:在S106中,使用穿线法对各聚类子集的数字进行识别。
本发明与现有技术相比,其显著优点在于,(1)通过移动设备打开移动端chrome浏览器,无需安装APP,实现拍照然后识别计算器、LED显示器等电子设备的七段码数字,并把数据给定到指定表单位置,并上传给服务器;(2)通过移动端本地chrome浏览器调用本地JavaScript算法识别七段码数字,不会给服务器造成很大压力;(3)可以在安卓或苹果多种不同移动端操作***上使用,通用性强。
附图说明
图1是七段码示意图。
图2是本发明方法流程图。
图3是七段码各段是否存在对应编码示意图。
图4是七段码数字识别流程图。
具体实施方式
容易理解,依据本发明的技术方案,在不变更本发明的实质精神的情况下,本领域的一般技术人员可以想象出本发明移动端用Javascript七段码识别方法的多种实施方式。因此,以下具体实施方式和附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限制或限定。
步骤一、使用移动端对七段码进行拍照,例如用手机或者ipad等对七段码进行拍照,用手机拍照时应使七段码数字区域尽量呈现在拍照的区域框里,尽量减少非数字区域,以避免图像噪声影响过大,干扰识别结果;
步骤二、对拍照获得的七段码图像进行灰度化处理,即把颜色RGB转为0-255之间的某个数,便于后续二值化;
步骤三、对灰度化以后的图像求sobel边缘算子,计算边缘,获得边缘化图像。
Sobel图像的边缘检测,利用两组3*3的矩阵,分别为横向和纵向,与图像做平面卷积运算(导数计算,一阶微分求导),从而得到横向和纵向的亮度查分近似值,选取合适的阈值提取边缘。用横向和纵向的平方和开根号或横向或纵向偏导数的绝对值和作为评估公式。
步骤四、使用大律法(OTSU)对边缘化图像进行二值化处理(通过直方图,均衡化的计算),0对应的是背景,1对应是数字区域或者噪音。
OTSU算法,即最大类间方差法,也叫大律法,它是按图像的灰度特性,将图像分成背景和目标两部分;背景和目标之间的类间方差越大,说明构成图像的两部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小;因此,使类间方差最大的分割意味着错分概率最小;其是一种自适应的阈值确定的方法,本发明根据目标和背景类别方差大小,区分目标和背景部分,便于取得目标和背景较好的二值化效果。
步骤五、对二值化后的图像进行宽度优先搜索并运用聚类算法,把像素点根据其四周的像素值是否相同聚类生成不同数字集合,找出各个数字所在区域,并返回不同数字集合以及其对应聚类集合的编号。
度优先聚类算法中,遍历算法分为宽度优先搜索和深度优先搜索。深度优先对节点的无限迭代,速度比较慢。宽度优先,时间比较快。聚类算法,对每个点的上下左右是否是同一个数字(0或1),是的话就加到同一个集合中,否则不加,顺便记录集合数目编号。
步骤六、把分类的多个数字集合中的像素点转化为对应的坐标点集合,返回点集合;
步骤七、对不同数字集合,过滤掉小的数字集合,小的数字集合一般为图像中的噪音,不可能位数字,比如数字集合的像素点小于6×8;留下数字集合的像素点区域的宽度是否大于图像1/3(约束)的宽度区域,如果是,则认为有数字区域存在,获得数字区域(边缘检测后数据在一个长方形中),如果没有,则假定没有数字区域;
步骤八、对数字区域进行二值化处理,这样数字区域背景变为白色,数字为黑色,数字区域外的部分黑色。
步骤九、对数字区域做聚类处理,聚类生成不同数字集合,找出各个数字所在区域,返回不同数字集合以及其对应聚类集合的编号,返回聚类集合和集合编号。在步骤八二值化后,若像素点值均变换为1,说明只有一个区域,即就一个长方形,说明黑底白字需反向,或得到的数字区域不对,里面不包含数字;若不为1,则通过各数据集生成对应聚类的坐标集合。
步骤十、对得到的聚类的各个集合过滤很小的集合,比如噪音、数字区域1/2高度以上的部分,包括一些数字后面附带的单位或数字间有些区分的“’”符号等。用并查集(线段合并)方法,把同一个数字,若在垂直方向上投影相同,则把上下区域的点集合合并为一个集合(比如7,1等,有些七段码之间有分割不连接,分到不同的类中,需要连接合并成一个类),得到合并后的数据集;
并查集:
①初始化所有结点和集合,集合号即为结点编号,每个集合大小为1.
②查询节点所属的集合,判断两个节点是否属于同一个集合,分别得到两个节点的集合号,然后判断集合号是否相等
③若不同时,连接两个节点,使之属于同一个集合;若组号相同时操作结束。
④获取集合数目,初始化为节点的数目,然后每次成功合并两个集合之后,集合个数减1。
步骤十一、对所有聚类不同集合按照集合最左边的像素点的横坐标进行sort排序操作,使各点坐标有规律,这样做使得最后一步的数字按显示顺序识别。
步骤十二、对各聚类子集的数字进行识别,通过穿线法,取七段码的每一段中间1/2处,判断是否存在那段,是就是1,不是就是0,七段组成包含0或1的七位数字符串,如图2所示,根据七位数字符串对应的数字识别出具体数字。
七段码数字识别时,主要取七段码每段的中间位置,按顺序判断是否存在,对判断结果的字符串分析,得到其对应的具体数字,流程图如图4。
Claims (3)
1.一种移动端用Javascript七段码识别方法,其特征在于:步骤如下:
S101,对拍照获得的七段码图像进行灰度化处理;对灰度化以后的图像使用sobel边缘算子获得边缘化图像;使用大律法对边缘化图像进行二值化处理;
S102,对二值化后的图像进行宽度优先搜索并运用聚类算法,把像素点根据其四周的像素值是否相同聚类生成不同数字集合,找出各个数字所在区域,并返回不同数字集合以及其对应聚类集合的编号;把分类的多个数字集合中的像素点转化为对应的坐标点集合,返回点集合;对不同数字集合,判断数字集合的像素点区域的宽度是否大于图像1/3的宽度区域,如果是,则认为有数字区域存在,获得数字区域,如果不是,则假定没有数字区域;
S103,对所述数字区域进行二值化处理,然后对数字区域做聚类处理,聚类生成不同数字集合,找出各个数字所在区域,返回不同数字集合以及其对应聚类集合的编号,返回聚类集合和集合编号;若像素点值均不为1,则通过各数据集生成对应聚类的坐标集合;
S104,对得到的聚类的各个集合过滤噪音,用并查集方法,对同一个数字,将上下区域的点集合合并为一个集合,得到合并后的数据集;
S105,对所有聚类不同集合按照集合最左边的像素点的横坐标进行sort排序操作;
S106,对各聚类子集的数字进行识别。
2.如权利要求1所述移动端用Javascript七段码识别方法,其特征在于:使用移动端对七段码进行拍照。
3.如权利要求1所述移动端用Javascript七段码识别方法,其特征在于:在S106中,使用穿线法对各聚类子集的数字进行识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610459270.8A CN107527062A (zh) | 2016-06-22 | 2016-06-22 | 一种移动端用Javascript七段码识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610459270.8A CN107527062A (zh) | 2016-06-22 | 2016-06-22 | 一种移动端用Javascript七段码识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107527062A true CN107527062A (zh) | 2017-12-29 |
Family
ID=60733957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610459270.8A Pending CN107527062A (zh) | 2016-06-22 | 2016-06-22 | 一种移动端用Javascript七段码识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107527062A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60233776A (ja) * | 1984-05-04 | 1985-11-20 | Ricoh Co Ltd | 日の字型7セグメント数字の認識のための前処理方式 |
CN1763766A (zh) * | 2005-11-16 | 2006-04-26 | 北京交通大学 | 一种有约束手写机读数码的书写和识别方法及应用 |
CN103984930A (zh) * | 2014-05-21 | 2014-08-13 | 南京航空航天大学 | 基于视觉的数字仪表识别***及其识别方法 |
-
2016
- 2016-06-22 CN CN201610459270.8A patent/CN107527062A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60233776A (ja) * | 1984-05-04 | 1985-11-20 | Ricoh Co Ltd | 日の字型7セグメント数字の認識のための前処理方式 |
CN1763766A (zh) * | 2005-11-16 | 2006-04-26 | 北京交通大学 | 一种有约束手写机读数码的书写和识别方法及应用 |
CN103984930A (zh) * | 2014-05-21 | 2014-08-13 | 南京航空航天大学 | 基于视觉的数字仪表识别***及其识别方法 |
Non-Patent Citations (1)
Title |
---|
张新刚 等: ""基于安卓手机的液晶屏数字识别***的设计与实现"", 《图像与多媒体》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111476284B (zh) | 图像识别模型训练及图像识别方法、装置、电子设备 | |
Gao et al. | Reading scene text with fully convolutional sequence modeling | |
Yuan et al. | Gated CNN: Integrating multi-scale feature layers for object detection | |
KR20220013298A (ko) | 문자 인식 방법 및 장치 | |
CN112488229B (zh) | 一种基于特征分离和对齐的域自适应无监督目标检测方法 | |
CN111126115B (zh) | 暴力分拣行为识别方法和装置 | |
WO2020063314A1 (zh) | 字符切分识别方法、装置、电子设备、存储介质 | |
CN111488826A (zh) | 一种文本识别方法、装置、电子设备和存储介质 | |
CN113807276B (zh) | 基于优化的YOLOv4模型的吸烟行为识别方法 | |
JP2014531097A (ja) | マルチレイヤ連結成分をヒストグラムと共に用いるテキスト検出 | |
CN110210468B (zh) | 一种基于卷积神经网络特征融合迁移的文字识别方法 | |
CN110517270B (zh) | 一种基于超像素深度网络的室内场景语义分割方法 | |
CN105608454A (zh) | 基于文字结构部件检测神经网络的文字检测方法及*** | |
CN112819837B (zh) | 一种基于多源异构遥感影像的语义分割方法 | |
WO2020071558A1 (ja) | 帳票レイアウト解析装置、その解析プログラムおよびその解析方法 | |
CN111898704B (zh) | 对内容样本进行聚类的方法和装置 | |
CN116052193A (zh) | Rpa界面动态表格的拾取和匹配方法及*** | |
Rigaud et al. | What do we expect from comic panel extraction? | |
US9710703B1 (en) | Method and apparatus for detecting texts included in a specific image | |
Basavaraju et al. | Arbitrary oriented multilingual text detection and segmentation using level set and Gaussian mixture model | |
Naosekpam et al. | UTextNet: a UNet based arbitrary shaped scene text detector | |
CN113221523A (zh) | 处理表格的方法、计算设备和计算机可读存储介质 | |
CN111832390B (zh) | 一种手写古文字检测方法 | |
Chavre et al. | Scene text extraction using stroke width transform for tourist translator on android platform | |
CN111191647A (zh) | 一种基于图像处理的标准公式识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171229 |