一种图像方向校正方法及系统的制作方法

文档序号:6526723阅读:188来源:国知局
一种图像方向校正方法及系统的制作方法
【专利摘要】本发明提供一种图像方向校正方法,包括:判断图像中是否检测到条形码,若检测到至少存在一个条形码,分别以每个条形码的方向角度为中心角度,在旋转角度范围内,每隔一个旋转角度旋转一次图像;检测每一次旋转旋转角度后的图像中是否存在文字,若是,则识别图像中所存在的文字,计算并获取每一次旋转旋转角度后所对应的文字置信度;判断每一次旋转旋转角度后所对应的文字置信度是否存在大于预设阈值的文字置信度,若存在,选择文字置信度最高对应的图像旋转角度,将其设定为图像校正角度;若否,则选择任一条形码的方向角度为图像校正角度,根据图像校正角度校正图像方向。本发明既可减少图像旋转误判可能性,同时又可快速准确判断校正图像方向。
【专利说明】一种图像方向校正方法及系统
【技术领域】
[0001]本发明属于图像处理【技术领域】,涉及一种校正方法及系统,特别是涉及一种图像方向校正方法及系统。
【背景技术】
[0002]21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。随着人类对图像的广泛应用,数字图像处理技术也随之应运而生,所谓数字图像处理就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。实质上是一段能够被计算机还原显示和输出为一幅图像的数字码。
[0003]近年,图像相关的应用日益增多,常见的需求有信息利用图像形式保存,图像索弓丨、图像分类、提取图像中有意义的信息等。由于数码相机,扫描仪等数字成像设备的应用越来越广泛,目前自带的数码相机已经成为了手机等移动设备的标准配置了。这些数字成像设备经常被用来扫描或者拍摄包括文本图像,人物图像,风景照片在内的各种图片。由于扫描或拍摄者的使用习惯,拍摄角度,取景需求、保存方向等的不同,在浏览或后期处理,扫描或拍摄得到的数字影像经常是带有90度,180度,或270度的旋转角度的,扫描或拍摄得到的文本图像更是可能带有O度到360度之间任意角度的旋转,用户在浏览这样的数字图片时需要使用图像浏览工具如acdSee、photoshop等进行校正图像方向。日常生活中,人们需要查看正确方向的图像;商务工作中,对各类文档的识别和归档也需要对图像方向做校正。研究工作中,OCR识别等,也需要正确的图像方向校正。文字信息可以更有效地理解图像内容,所以为了更好地理解图像内容的深层语义,文字信息是一个重要线索。
[0004]而现在的图片中不仅会包含文本图像,还会包含有条形码,所谓条形码(特别是二维条形码)就是指存在由一条直线排列且彼此交错的黑白模块组成的轨道线。轨道线的作用是通过获得各模块中心的图像坐标对整个图像进行校正。
[0005]但是现有技术中还不存在即可以通过条码可信度信息又可以通过文字可信度信息交叉验证图像旋转方向,避免旋转方法出现误判断,并输出正确方向的图像的方法。

【发明内容】

[0006]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种图像方向校正方法及系统,用于解决现有技术中当图像方向不正确时,无法快速准确校正图像方向,以及在校正图像方向的过程中会发生误判断旋转方向的问题。
[0007]为实现上述目的及其他相关目的,本发明一方面提供一种图像方向校正方法,包括:预处理读取到的原始图像数据;判断预处理后的图像中是否检测到条形码,若是,则以条形码的方向角度为中心角度,在一旋转角度范围内每隔一预设的旋转角度旋转一次图像,检测旋转后图像中是否存在文字,若是,则识别文字,并计算每一次旋转旋转角度后对应的文字置信度,并判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则选择条形码的方向角度,根据条形码方向角度校正图像方向;若否,则全方位范围内每隔另一预设旋转角度旋转一次图像,检测是否存在文字,若是,则识别文字,并计算每一次旋转另一旋转角度后对应的文字置信度,判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则图像方向无需校正。
[0008]优选地,判断预处理后的图像中是否检测到条形码,判断预处理后的图像中是否检测到条形码,若否,则将[0°,360° ]设置成若干子区间,在每个子区间中选择又一旋转角度,每隔一个又一旋转角度旋转预处理图像,并在旋转后的图像中检测是否存在文字,若是,则识别文字,并计算每一次旋转又一旋转角度后对应的文字置信度,并判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则图像方向无需校正。
[0009]优选地,所述图像方向校正方法还包括判断是否预处理后的图像中仅存在一个条形码,若是,则以条形码的方向角度为中心角度,在一旋转角度范围内每隔一预设的旋转角度旋转一次图像,检测旋转后图像中是否存在文字,若是,则识别文字,并计算每一次旋转旋转角度后对应的文字置信度,并判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则选择条形码的方向角度,根据条形码方向角度校正图像方向;若否,则分别以每个条形码的方向角度为中心角度,分别在每个条形码对应的一旋转角度范围内每隔一预设的旋转角度旋转一次图像,检测旋转后图像中是否存在文字,若是,则识别文字,并计算每一次旋转旋转角度后对应的文字置信度,并判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则选择任一条形码的方向角度,根据条形码方向角度校正图像方向。
[0010]优选地,所述旋转角度范围为[中心角度_i,中心角度+i],其中,所述i大于O度,小于等于10度;所述旋转角度大于O度,小于10度。
[0011]优选地,判断预处理后的图像中是否检测到条形码的步骤包括:扫描预处理后图像中的任一像素行;对所述像素行做像素统计,统计所述像素行中连续的黑色和白色像素,计算像素行的比例序列;将计算到的所述比例序列与预先存储的各类条形码的定位符进行比对,若比例相同,则表示检测到相应条形码;若比例不相同,则表示未检测到条形码,继续执行下一步;旋转所述图像,返回扫描步骤继续检测。
[0012]本发明另一方面还提供一种图像方向校正系统,包括:条形码检测模块用于检测预处理后的图像中是否存在条形码;条形码方向角度确定模块,与所述条形码检测模块连接,用于获取所述条形码检测模块检测到的条形码的方向角度,获取条形码的方向角度后,以方向角度为中心角度,设定与条形码对应的旋转角度范围;所述条形码方向角度确定模块预存一旋转角度;旋转模块,与所述条形码方向角度确定模块连接,用于当检测到存在条形码时在旋转角度范围内每隔一个预设旋转角度旋转一次图像;所述旋转模块还用于当未检测到条形码时,在全方法360度范围内每隔另一预设旋转角度旋转一次图像。文字检测模块,与所述旋转模块连接,用于检测每一次旋转旋转角度后的图像中是否存在文字;文字识别模块,与所述文字检测模块连接,用于当所述文字检测模块检测到每一次旋转旋转角度后的图像中存在文字时识别每一次旋转旋转角度度后的图像中所存在的文字;运算模块,与所述文字识别模块连接,用于计算和获取与每一次旋转旋转角度后所对应的文字置信度;比较模块,与所述运算模块连接,用于判断每一次旋转旋转角度后所对应的文字置信度是否存在大于一预设阈值的文字置信度,若否,则表示每一次旋转旋转角度后所对应的文字置信度都不高,图像方向无需校正;若是,选择文字置信度最高对应的图像旋转角度,根据其校正图像方向。
[0013]优选地,所述校正系统还包括图像校正模块,所述图像校正模块与所述比较模块连接,用于根据所述图像校正角度校正图像方向。
[0014]优选地,所述旋转模块还用于预先存储另一旋转角度和又一旋转角度,用于当所述条形码检测模块未在预处理后的图像中检测到条形码时,在全方位360度范围内,每隔一个另一旋转角度,对预处理后的图像进行旋转,其中,另一旋转角度大于10度,小于30度;或者将[0°,360° ]设置成若干子区间,在每个子区间中采用又一个旋转角度,每隔一个又一旋转角度,对预处理后的图像进行旋转。
[0015]优选地,所述校正系统还包括用于读取原始图像数据的图像读取模块,和预处理所述图像数据的预处理图像模块。
[0016]优选地,所述条形码探测模块包括:扫描单元,用于扫描预处理后图像中的任一像素行;运算单元,与所述扫描单元连接,用于统计所述像素行,统计所述像素行中连续的黑色和白色像素,计算像素行的比例序列;比较单元,与所述运算单元连接,用于将计算到的所述比例序列与预先存储其中的各类条形码的定位符进行比对,若比例相同,则表示检测到相应条形码;若比例不相同,则表示未检测到条形码;旋转单元,与所述比较单元连接。用于当所述扫描单元未检测到条形码,则旋转所述图像,重新调用所述扫描单元继续扫描图像中的任一像素行。
[0017]如上所述,本发明所述图像方向校正方法及系统,具有以下有益效果:
[0018]1、本发明所述图像方向校正方法及系统利用条形码方向确定图像旋转方向范围,在该范围内通过对文字的检测和识别确定图像校正角度,即可以减少图像旋转误判可能性,同时又可以快速准确判断校正图像方向,
[0019]2、本发明所述图像方向校正方法及系统给用户在日常生活、商务工作、研究工作等中浏览及其他后期图像处理操作提供了方便。
【专利附图】

【附图说明】
[0020]图1显示为本发明的图像方向校正方法流程示意图。
[0021]图2显示为本发明的图像方向校正方法中步骤2的具体流程示意图。
[0022]图3显示为本发明的图像方向校正方法中步骤3的具体流程示意图。
[0023]图4显示为本发明的图像方向校正系统结构示意图。
[0024]图5显示为本发明的图像方向校正系统中图像预处理模块的结构示意图。
[0025]图6显示为本发明的图像方向校正系统中条形码检测模块的结构示意图。
[0026]元件标号说明
[0027]I图像方向校正系统[0028]10图像读取模块
[0029]20图像预处理模块
[0030]30条形码检测模块
[0031]40条形码方向角度确定模块
[0032]50旋转模块
[0033]60文字检测模块
[0034]70文字识别模块
[0035]80运算模块
[0036]90比较模块
[0037]100校正模块
[0038]201图像灰度化单元
[0039]202图像去噪单元
[0040]203图像二值化单元
[0041]301扫描单元`
[0042]302运算单元
[0043]303比较单元
[0044]304旋转单元
[0045]SI ~S23 步骤
【具体实施方式】
[0046]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0047]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0048]本发明首先检测图像中存在的条码方向,并按照条码可能的方向范围检测和识别文字,结合文字和条码的方向的角度及置信度,对图像的方向进行校正,另外本发明还可以对存在头像的图像,通过检测头像的方法,利用头像方法信息校正图像。在本实施例中若无说明,旋转方向可理解为顺时针方向,但本发明的范围不限于此。
[0049]实施例一
[0050]在保存图像数据或者显示图像数据给用户浏览之前,或者在打开已经保存的图像文件,读取图像数据之后,在将读取的图像数据显示给用户浏览之前,先对图像数据进行自动的旋转角度检测和自动的旋转校正,从而保证用户浏览图像时看到的图像是经过旋转校正的,减少用户不得不用图像浏览工具进行人工的旋转校正的麻烦。
[0051]本实施例提供一种图像方向校正方法,请参阅图1,显示为图像方向校正方法的流程,所述图像方向校正方法包括:
[0052]SI,读取原始图像数据。读取的原始图像数据可为:用数码相机拍摄得到的图像数据;或者用扫描仪扫描得到的图像数据;或者打开一个预先存在包含有图像数据的文件,读取该文件中的数据并按照标准算法解压缩后得到的图像数据。
[0053]S2,预处理读取到的原始图像数据。请参阅图2,显示为预处理流程,预处理包括:
[0054]S201,灰度化所述原始图像数据;由于大多数读取到的原始图像都是彩色图像,而彩色图像存储占用比灰度图像更多空间,处理起来也比灰度图像要长得多。同时图像中存在的条形码打印又是按照黑白方式打印的,所以在识别条形码的过程中,实际拍摄到的条形码图像中的彩色信息分量对于条形码的识别没有作用,因而需要把彩色图像转换成灰度图像,以便减少后续操作的运算时间。彩色图像中的每个像素的颜色是由R、G、B三个分量决定的,而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其中一个像素点的变化范围为O?255。
[0055]S202,对所述图像数据继续去噪处理。由于读取到的图像一般都会因周围环境的干扰而含有噪声,因此,要对读取到的图像进行去噪处理。在本实施例中,去噪方法采用中值滤波处理。中值滤波是一直噪声的非线性处理方法,其基本原理是把数字图像或数字序列中的一点的值用该点的一个领域中各点的值的中值代替。
[0056]S203,对所述图像数据继续二值化处理。图像二值化的目的是为了去除背景,尽可能地保留条形码符号并且减少符号中噪声杂志,为后续的条形码检测中能够正确识别位置探测图形和正确读取条形码码字提供基础保障。读取到的图像数据中灰度值接入Llw和Lhight之间的像素构成了过渡区。过渡区提取的图像分割方法的基本思想是通过提取过渡区的像素,然后使用过渡区像素的灰度均值作为分割门限对图像进行二值化。
[0057]S3,判断预处理后的图像中是否检测到条形码,若检测到条形码,则继续执行步骤S4 ;若未检测到条形码,则继续执行步骤S18。在本实施例中,所述条形码为一维条形码或二维条形码。请参阅图3,显示为检测条形码的流程,条形码检测具体步骤包括:
[0058]S301,扫描预处理后图像中的任一像素行;由于图像中每一行都对应一个黑白像素值的像素行。在本实施例中,为了避免环境噪声的影响,在步骤S31中会多次扫描图像中的像素行。
[0059]S302,对所述像素行做像素统计,统计所述像素行中连续的黑色和白色像素,计算像素行的比例序列;由于每一个条形码都对应一个定位符,所述定位符为对应于一定比例的黑白条空序列。
[0060]S303,将计算到的所述比例序列与预先存储的各类条形码的定位符进行比对,若比例相同,则表示检测到相应条形码,执行步骤S4 ;若比例不相同,则表示未检测到条形码,继续执行下一步。
[0061]S304,将所述图像旋转ω度,返回步骤S301,继续扫描图像中的任一像素行,对该行做像素统计,统计该行连续的黑色和白色像素,计算所述行的比例序列,
[0062]S4,判断是否预处理后的图像中仅存在一个条形码,若仅存在一个条形码,则执行步骤S5 ;若存在多个条形码,则执行步骤S12。
[0063]S5,存在一个条形码,利用条形码扫描线算法,获取该条形码的方向角度j。在以该条形码的方向角度j为中心角度,在[j_i,j+i]旋转角度范围内,设定一旋转角度Θ,每隔一个旋转角度Θ旋转一次图像。其中,所述条形码的方向角度j大于O度,小于360度,角度i大于O度,小于等于10度,所述旋转角度Θ大于O度,小于等于10度,在本实施例中,设置角度i为5度,旋转角度Θ为I度,通过条形码扫描线算法,获取到所述条形码的方向角度j,在以所述方向角度j为中心角度,在[j_5,j+5]旋转角度范围内每隔I度旋转一次预处理后的图像。
[0064]S6,检测每一次旋转Θ度后的图像中是否存在文字,若存在文字,则执行步骤S7 ;若不存在文字,则执行步骤SI I。
[0065]S7,识别每一次旋转Θ度后的图像中所存在的文字,并计算与每一次旋转Θ度后所对应的文字数据与预先设定正确方向文字模板数据的相似程度,获取每一次旋转Θ度后所对应的文字置信度;
[0066]S8,判断每一次旋转Θ度后所对应的文字置信度是否存在大于一预设阈值的文字置信度,若不存在,则表示每一次旋转Θ度后所对应的文字置信度都不高,图像旋转角度从j_i+ Θ,j-1+2 θ,……至j-1+n Θ都不可信,那么执行步骤S9 ;若存在大于预设阈值的文字置信度,则执行步骤S10。[0067]S9,设定图像校正角度为O度,图像无需进行旋转,图像方向无需校正。
[0068]S10,将大于预设阈值的,不同图像旋转角度所对应的文字置信度进行比较。选择文字置信度最高所对应的图像旋转角度,将其设定为图像校正角度,根据所述图像校正角度,校正图像方向,输出校正好的图像。在本实施例中,例如,若i等于5度,Θ等于I度,如果,当图像在旋转角度范围内,旋转10次后,及旋转10 Θ,即10度后,所对应的文字置信度最高,那么文字置信度最高所对应的图像旋转交底为j_5+10=j+5度,所以图像校正角度为j+5度。
[0069]S11,选择所述条形码的方向角度为图像校正角度,根据图像校正角度校正图像方向,输出校正后的图像,结束进程。
[0070]S12,存在多个条形码,利用所述条形码扫描线算法,获取多个条形码的方向角度α、β、Y等等,在分别以每个条形码的方向角度α、β、Υ等等为中心角度,在[a-1,a+i], [β-1, β+?]> [y-1, Y+i]等等旋转角度范围内,设定另一旋转角度Θ,每隔一个旋转角度Θ旋转一次图像。其中,多个条形码的方向角度α、β、Y等等大于O度,小于360度,角度i大于O度,小于等于10度,所述旋转角度Θ大于O度,小于等于10度,在本实施例中,设置角度i为5度,旋转角度Θ.为I度,通过条形码扫描线算法,获取多个条形码的方向角度a、β、Y等等,在以每个条形码方向角度a、β、Υ等等为中心角度,在[a-1,a +i], [ β -1, β +i] > [ Y -1, Y +i]等等旋转角度范围内每隔I度旋转一次预处理后的图像。
[0071]S13,检测每一次旋转Θ度后的图像中是否存在文字,若存在文字,则执行步骤S14 ;若不存在文字,则执行步骤S17。
[0072]S14,识别每一次旋转Θ度后的图像中所存在的文字,并计算与每一次旋转Θ度后所对应的的文字数据与预先设定正确方向文字模板数据的相似程度,获取每一次旋转Θ度后所对应的的文字置信度;
[0073]S15,判断每一次旋转Θ度后所对应的文字置信度是否存在大于一预设阈值的文字置信度,若不存在,则表示每一次旋转Θ度后所对应的文字置信度都不高,图像旋转角度从 α-?+θ/β-?+θ/gamma-?+θ……,α-?+2θ/β-?+2θ/gamma-?+2θ……,……至a -1+n θ / β -1+n θ / y -1+n θ……都不可信,那么执行步骤S9 ;若存在大于预设阈值的文字置信度,则执行步骤S16。
[0074]S16,将大于预设阈值的,不同图像旋转角度所对应的文字置信度进行比较。选择文字置信度最高的图像旋转角度,将其设定为图像校正角度,根据图像校正角度校正图像方向,输出校正好的图像。在本实施例中,通过利用条码方向和对应旋转范围内文字识别的置信度信息,做交叉验证图像旋转方法,避免了图像旋转方法的误判断。在本实施例中,例如,如果一条形码的方向交底α为中心角度,在[α-1,a+i]旋转角度范围内,若i等于5度,Θ等于I度,如果,当图像在旋转角度范围内,旋转12次后,及旋转12 Θ,即12度后,所对应的文字置信度最高,那么文字置信度最高所对应的图像旋转交底为a -5+12= a+7度,所以图像校正角度为a+7度。
[0075]S17,选择多个条形码中任一条形码的方向角度为图像校正角度,根据图像校正角度校正图像方向,输出校正后的图像,结束进程。
[0076]S18四像中未检测到条形码,则在全方位360度范围内,设定一旋转角度Φ,每隔一个旋转角度φ对预处理后的图像进行旋转,其中旋转角度cP大于10度,小于30度;本步骤还可以将[0°,360° ]设置成η个子区间,在每个子区间中选择另一个旋转角度φ’,旋转预处理图像即可。
[0077]S19,在旋转后的图像中检测是否存在文字,若检测到存在文字,则执行步骤S20;若未检测到文字,则不旋转图像,结束进程;[0078]S20,识别每一次旋转φ度或φ’度后的图像中所存在的文字,并计算与每一次旋转φ度或φ’度后所对应的的文字数据与预先设定正确方向文字模板数据的相似程度,获取每一次旋转φ度或φ'度后所对应的的文字置信度;
[0079]S21,判断每一次旋转φ或φ’度后所对应的文字置信度是否存在大于一预设阈值文字置信度,若不存在,则表示每一次旋转φ度或Φ'度后所对应的文字置信度都不高,图像旋转角度从φ/φ’,2φ/2φ’……ηφ/mp’都不可信,那么执行步骤S22 ;若存在大于预设阈值的文字置信度,则执行步骤S23。
[0080]S22,设定图像校正角度为O度,图像无需进行旋转,图像方向无需校正。
[0081]S23,将大于预设阈值的,不同图像旋转角度所对应的文字置信度进行比较,选择文字置信度最高的图像旋转角度,将其设定为图像校正角度,根据图像校正角度校正图像方向,输出校正好的图像。
[0082]若本实施例中,所述图像若包括人脸,所述步骤S7检测每一次旋转旋转角度后图像中是否存在人脸,计算人脸可靠性指标,根据计算得到的人脸可靠性指标校正图像方向。
[0083]实施例二
[0084]本实施例提供一种图像方向校正系统I,请参阅图4,显示为图像方向校正系统的结构,所述校正系统包括:图像读取模块10、图像预处理模块20、条形码检测模块30、条形码方向角度确定模块40、旋转模块50、文字检测模块60、文字识别模块70、运算模块80、t匕较模块90、及校正模块100。[0085]所述图像读取模块10,用于读取原始图像数据。
[0086]所述图像预处理模块20,用于对原始图像数据进行预处理。请参阅图5,显示为所述图像预处理模块20的结构,所述图像预处理模块20包括:图像灰度化单元201、图像去噪单元202、图像二值化单元203。其中,
[0087]所述图像灰度化单元201用于灰度化原始图像数据,由于大多数读取到的原始图像都是彩色图像,而彩色图像存储占用比灰度图像更多空间,处理起来也比灰度图像要长得多。同时图像中存在的条形码打印又是按照黑白方式打印的,所以在识别条形码的过程中,实际拍摄到的条形码图像中的彩色信息分量对于条形码的识别没有作用,因而需要把彩色图像转换成灰度图像,以便减少后续操作的运算时间。彩色图像中的每个像素的颜色是由R、G、B三个分量决定的,而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其中一个像素点的变化范围为O?255。所述图像去噪单元202用于为所述图像数据去噪处理。由于读取到的图像一般都会因周围环境的干扰而含有噪声,因此,要对读取到的图像进行去噪处理。在本实施例中,去噪方法采用中值滤波处理。中值滤波是一直噪声的非线性处理方法,其基本原理是把数字图像或数字序列中的一点的值用该点的一个领域中各点的值的中值代替。所述图像二值化单元203用于对所述图像数据继续二值化处理。图像二值化的目的是为了去除背景,尽可能地保留条形码符号并且减少符号中噪声杂志,为后续的条形码检测中能够正确识别位置探测图形和正确读取条形码码字提供基础保障。读取到的图像数据中灰度值接入Llov和Lhight之间的像素构成了过渡区。过渡区提取的图像分割方法的基本思想是通过提取过渡区的像素,然后使用过渡区像素的灰度均值作为分割门限对图像进行二值化。
[0088]所述条形码检测模块30与所述图像预处理单元20连接,用于检测预处理后的图像中是否存在至少一个条形码。请参阅图6,显示为条形码检测模块的结构,所述条形码检测模块30包括扫描单元301、运算单元302、比较单元303、及旋转单元304。在本实施例中,所述条形码为一维条形码或二维条形码。
[0089]所述扫描单元301用于扫描预处理后图像中的任一像素行;由于图像中每一行都对应一个黑白像素值的像素行。在本实施例中,为了避免环境噪声的影响,多次调用所述扫描单元扫描图像中的像素行。
[0090]与所述扫描单元301连接的所述运算单元302用于统计所述像素行,统计所述像素行中连续的黑色和白色像素,计算像素行的比例序列。由于每一个条形码都对应一个定位符,所述定位符为对应于一定比例的黑白条空序列。
[0091]与所述运算单元302连接的所述比较单元303将计算到的所述比例序列与预先存储其中的各类条形码的定位符进行比对,若比例相同,则表示检测到相应条形码;若比例不相同,则表示未检测到条形码。
[0092]与所述比较单元303连接的旋转单元304用于当所述扫描单元301未检测到条形码,则将所述图像按照预定旋转角度ω旋转,重新调用所述扫描单元301继续扫描图像中的任一像素行,对该行做像素统计,统计该行连续的黑色和白色像素,计算所述行的比例序列。
[0093]所述条形码检测模块30还用于检测预处理后的图像中条形码的个数,所述预处理后的图像中条形码的个数至少包括一个条形码。[0094]与所述条形码检测模块30连接的所述条形码方向角度确定模块40用于获取所述条形码检测模块30检测到的所有条形码的方向角度j、α、β、Y等等,在所述条形码方向角度确定模块40获取所有条形码的方向角度后以方向角度为中心交底,设定与每个条形
码--对应的旋转角度范围[j-1,j+i]、[ ct-1,a+i]、[p-1,β +i] > [ y -1, Y +i]等等,
在该模块中预先存储有一旋转角度Θ。
[0095]与所述条形码方向角度确定单元40连接的旋转模块50用于分别以各个条形码的方向角度 j、ct、β、y 等等为中心角度,在[j-1, j+i]、[ a -1, a +i]、[ β -1, β +i]、[ y _i,y+i]等等旋转角度范围内,每隔一个旋转角度θ旋转一次图像。其中,多个条形码的方向角度j、α、β、Y等等大于O度,小于360度,角度i大于O度,小于等于10度,所述旋转角度Θ大于O度,小于等于10度,在本实施例中,设置角度i为5度,旋转角度Θ为I度,通过条形码扫描线算法,获取到所述条形码的方向角度j,在以所述方向角度j、α、β、
Y等等为中心角度,在[j_5,j+5]、[a-5,a+5]、[β_5,β+5]、[y-5, Y+5]等等旋转范围内每隔ι度旋转一次预处理后的图像。所述旋转模块50中预先存储有另一旋转角度φ和又一旋转角度φ’,用于当所述条形码检测模块30未在预处理后的图像中检测到条形码,则在全方位360度范围内,每隔一个旋转角度Φ,对预处理后的图像进行旋转。其中旋转角度Φ大于10度,小于30度;或者所述旋转模块50还可以将[0°,360° ]设置成η个子区间,在每个子区间中采用另一个旋转角度φ’,对预处理后的图像进行旋转
[0096]与所述旋转模块50连接的所述文字检测模块60用于检测每一次旋转Θ度后的图像中是否存在文字。所述文字检测模块60还可以为人脸检测模块60’用于检测每一次旋转Θ度后的图像中是否存在人脸。运算模块80’用于计算人脸可靠性指标,校正模块100’用于根据计算得到的人脸可靠性指标校正图像方向。所述文字检测模块60还用于当所述条形码检测模块30未在预处理后的图像中检测到条形码时,每隔一个旋转角度φ/φ’旋
转图像后检测每一次旋转φ#度后的图像中是否存在文字。
[0097]与所述文字检测模块60连接的所述文字识别模块70用于当所述文字检测模块60检测到每一次旋转Θ度后的图像中存在文字时识别每一次旋转Θ度后的图像中所存在的文字。所述文字识别模块70还用于当所述文字检测模块60检测到每一次旋转φ/φ度后的
图像中存在文字时识别每一次旋转φ/φ'度后的图像中所存在的文字。
[0098]与所述文字识别模块70连接的运算模块80用于计算与每一次旋转Θ度后所对应的文字数据与预先设定正确方向文字模板数据的相似程度,获取每一次旋转Θ度后所对应的文字置信度;所述运算模块80还用于计算每一次旋转φ/φ度后所对应的文字数据
与预先设定正确方向文字模板数据的相似程度,获取每一次旋转φ/φ’度后所对应的文字置信度。
[0099]与所述运算模块80连接的所述比较模块90用于判断每一次旋转Θ度后所对应的文字置信度是否存在大于一预设阈值的文字置信度,若不存在,则表示每一次旋转Θ度
后所对应的文字置?目度都不闻, 图像旋转角度从j_i+Q / α -?+ θ / β -?+ θ / y -?+ θ......,
j-1+2 θ / α -?+2 θ / β -?-+2 θ / y -?+2 θ......,......至 j-1+n θ / a -1+n θ / β -1+n θ /y-1+ηθ……都不可信,预处理后的图像无需进行旋转。若存在大于预设阈值的文字置信度,则表示继续将大于预设阈值的,不同图像旋转角度所对应的文字置信度进行比较,选择文字置信度最高的图像旋转角度,将其设定为图像校正角度,在本实施例中,通过利用条码方向和对应旋转范围内文字识别的置信度信息,做交叉验证图像旋转方法,避免了图像旋转方法的误判断。所述比较模块90还用于判断每一次旋转φ ,度或φ’度后所对应的文字置信度是否存在大于一预设阈值的文字置信度,若不存在,则表示每一次旋转φ度或φ’度后所对应的文字置信度都不高,图像旋转角度从φ/φ 2φ/2φ’......ηφ/ηφ’都不可信,图像无
需校正;若存在大于预设阈值的文字置信度,将大于预设阈值的,不同图像旋转角度所对应的文字置信度进行比较,选择文字置信度最高的图像旋转角度,将其设定为图像校正角度。
[0100]与所述比较模块90连接的所述校正模块100用于获取图像校正角度,根据图像校正角度校正图像方向,输出校正好的图像。
[0101]针对包含文字和/或条形码的图像,本发明所述的图像方向校正方法及系统自动依据文字和/或条形码方向的角度和置信度信息检测图像正方向,首先利用条形码方向确定图像旋转方向范围,在该范围内通过对文字的检测和识别确定图像校正角度,这样即可以减少图像旋转误判可能性,同时又可以快速准确判断校正图像方向,给用户在日常生活、商务工作、研究工作等中浏览及其他后期图像处理操作提供了方便。本发明还便于安装在计算机、手机、平板电脑等智能设备中。
[0102]所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0103]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1.一种图像方向校正方法,其特征在于,包括: 预处理读取到的原始图像数据; 判断预处理后的图像中是否检测到条形码, 若是,则以条形码的方向角度为中心角度,在一旋转角度范围内每隔一预设的旋转角度旋转一次图像,检测旋转后图像中是否存在文字,若是,则识别文字,并计算每一次旋转旋转角度后对应的文字置信度,并判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则选择条形码的方向角度,根据条形码方向角度校正图像方向; 若否,则全方 位范围内每隔另一预设旋转角度旋转一次图像,检测是否存在文字,若是,则识别文字,并计算每一次旋转另一旋转角度后对应的文字置信度,判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则图像方向无需校正。
2.根据权利要求1所述的图像方向校正方法,其特征在于:判断预处理后的图像中是否检测到条形码,若否,则将[0°,360° ]设置成若干子区间,在每个子区间中选择又一旋转角度,每隔一个又一旋转角度旋转预处理图像,并在旋转后的图像中检测是否存在文字,若是,则识别文字,并计算每一次旋转又一旋转角度后对应的文字置信度,并判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则图像方向无需校正。
3.根据权利要求1所述的图像方向校正方法,其特征在于:所述图像方向校正方法还包括判断是否预处理后的图像中仅存在一个条形码, 若是,则以条形码的方向角度为中心角度,在一旋转角度范围内每隔一预设的旋转角度旋转一次图像,检测旋转后图像中是否存在文字,若是,则识别文字,并计算每一次旋转旋转角度后对应的文字置信度,并判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则选择条形码的方向角度,根据条形码方向角度校正图像方向; 若否,则分别以每个条形码的方向角度为中心角度,分别在每个条形码对应的一旋转角度范围内每隔一预设的旋转角度旋转一次图像,检测旋转后图像中是否存在文字,若是,则识别文字,并计算每一次旋转旋转角度后对应的文字置信度,并判断是否存在大于一预设阈值的文字置信度,若不存在,则图像方向无需校正,若存在,则选择最高置信度对应的图像旋转角度,根据其校正图像方向;若否,则选择任一条形码的方向角度,根据条形码方向角度校正图像方向。
4.根据权利要求1所述的图像方向校正方法,其特征在于:所述旋转角度范围为[中心角度_i,中心角度+i],其中,所述i大于O度,小于等于10度;所述旋转角度大于O度,小于10度。
5.根据权利要求1所述的图像方向校正方法,其特征在于:判断预处理后的图像中是否检测到条形码的步骤包括: 扫描预处理后图像中的任一像素行; 对所述像素行做像素统计,统计所述像素行中连续的黑色和白色像素,计算像素行的比例序列;将计算到的所述比例序列与预先存储的各类条形码的定位符进行比对,若比例相同,则表示检测到相应条形码;若比例不相同,则表示未检测到条形码,继续执行下一步; 旋转所述图像,返回扫描步骤继续检测。
6.—种图像方向校正系统,其特征在于,包括: 条形码检测模块用于检测预处理后的图像中是否存在条形码; 条形码方向角度确定模块,与所述条形码检测模块连接,用于获取所述条形码检测模块检测到的条形码的方向角度,获取条形码的方向角度后,以方向角度为中心角度,设定与条形码对应的旋转角度范围;所述条形码方向角度确定模块预存一旋转角度; 旋转模块,与所述条形码方向角度确定模块连接,用于当检测到存在条形码时在旋转角度范围内每隔一个预设旋转角度旋转一次图像;所述旋转模块还用于当未检测到条形码时,在全方法360度范围内每隔另一预设旋转角度旋转一次图像。 文字检测模块,与所述旋转模块连接,用于检测每一次旋转旋转角度后的图像中是否存在文字; 文字识别模块,与所述文字检测模块连接,用于当所述文字检测模块检测到每一次旋转旋转角度后的图像中存在文字时识别每一次旋转旋转角度度后的图像中所存在的文字; 运算模块,与所述文字识别模块连接,用于计算和获取与每一次旋转旋转角度后所对应的文字置信度; 比较模块,与所述运算模块连接,用于判断每一次旋转旋转角度后所对应的文字置信度是否存在大于一预设阈值的文字置信度,若否,则表示每一次旋转旋转角度后所对应的文字置信度都不高,图像方·向无需校正;若是,选择文字置信度最高对应的图像旋转角度,根据其校正图像方向。
7.根据权利要求6所述的图像方向校正系统,其特征在于:所述校正系统还包括图像校正模块,所述图像校正模块与所述比较模块连接,用于根据所述图像校正角度校正图像方向。
8.根据权利要求6所述的图像方向校正系统,其特征在于:所述旋转模块还用于预先存储另一旋转角度和又一旋转角度,用于当所述条形码检测模块未在预处理后的图像中检测到条形码时,在全方位360度范围内,每隔一个另一旋转角度,对预处理后的图像进行旋转,其中,另一旋转角度大于10度,小于30度;或者将[0°,360° ]设置成若干子区间,在每个子区间中采用又一个旋转角度,每隔一个又一旋转角度,对预处理后的图像进行旋转。
9.根据权利要求6所述的图像方向校正系统,其特征在于:所述校正系统还包括用于读取原始图像数据的图像读取模块,和预处理所述图像数据的预处理图像模块。
10.根据权利要求6所述的图像方向校正系统,其特征在于:所述条形码探测模块包括: 扫描单元,用于扫描预处理后图像中的任一像素行; 运算单元,与所述扫描单元连接,用于统计所述像素行,统计所述像素行中连续的黑色和白色像素,计算像素行的比例序列; 比较单元,与所述运算单元连接,用于将计算到的所述比例序列与预先存储其中的各类条形码的定位符进行比对,若比例相同,则表示检测到相应条形码;若比例不相同,则表示未检测到条形码; 旋转单元,与所述比较单元连接。用于当所述扫描单元未检测到条形码,则旋转所述图像,重新调用所述扫描单元 继续扫描图像中的任一像素行。
【文档编号】G06T3/60GK103714327SQ201310746613
【公开日】2014年4月9日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】郭丰俊, 罗希平, 王晓立 申请人:上海合合信息科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1