序列号识别方法、系统、移动终端及存储介质与流程

文档序号:16630993发布日期:2019-01-16 06:34阅读:549来源:国知局
序列号识别方法、系统、移动终端及存储介质与流程

本发明涉及图像识别技术领域,特别涉及一种序列号识别方法、系统、移动终端及存储介质。



背景技术:

目前市场上多种类的仪器以及仪表在出厂时,都有独一无二的序列号来标识产品,通过序列号唯一标识码对产品进行追踪以及后期管理,可以通过序列号,检索到产品的型号、出厂日期、销售地、保修期等信息进行管理和维护,因此,针对序列号的识别步骤尤为重要。

目前,一般均采用人工识别的方式进行序列号信息的识别和输入,进而导致序列号的识别效率低下,且容易由于人工失误导致的错误识别,降低了序列号识别的精准度。



技术实现要素:

基于此,本发明提供一种序列号识别方法、系统、移动终端及存储介质,用于解决现有技术中由于人工识别导致序列号识别效率低下的问题。

第一方面,本发明提供了一种序列号识别方法,所述方法,包括:

获取预设照明条件下待识别设备的照射图像,所述预设照明条件为高亮度背景且采用漫反射光源的光照场景;

对所述照射图像进行滤波处理,以得到滤波图像,所述滤波处理用于对所述照射图像中的有效区域进行过滤获取,所述待识别设备上的待识别序列号对应的光照图像存储在所述有效区域内;

对所述滤波图像进行极坐标变换,并对坐标变换后的所述滤波图像进行字符分割识别,以得到目标序列号。

上述序列号识别方法,通过采用漫反射的光照场景的设计,有效防止了阴影的产生,减少或避免了镜面反射,使得获取到的所述照射图像较为清晰,提高了后续序列号识别的准确性,通过所述滤波处理的设计,以使有效的对所述有效区域进行了分割,方便了后续的序列号识别,上述序列号识别方法通过采用自动识别步骤,以提高序列号的识别效率,且防止了由于人工失误导致的错误识别,提高了序列号识别的精准度。

进一步地,所述对所述照射图像进行滤波处理的步骤包括:

获取所述照射图像中所有像素点的像素值,并对获取到的所述像素值进行中值计算,以得到像素阈值;

依序判断所述像素点对应的所述像素值是否大于所述像素阈值;

若是,则删除所述像素点。

进一步地,所述对所述滤波图像进行极坐标变换的步骤包括:

获取所述滤波图像的边界曲线,并计算所述边界曲线的离散角;

根据所述离散角计算位移变换曲率,并根据所述位移变换曲率对所述滤波图像中的所述像素点进行坐标变换。

进一步地,所述对坐标变换后的所述滤波图像进行字符分割识别的步骤包括:

采用二值化均值滤波对所述滤波图像进行字符分割,以得到分割图像,所述分割图像内包括多个分割区域;

依序对所述分割图像内的所述分割区域进行光学字符识别,以得到所述目标序列号。

进一步地,所述依序对所述分割图像内的所述分割区域进行光学字符识别的步骤之前,所述方法包括:

获取所述分割区域的区域特征,所述区域特征包括区域高度、区域宽度和区域重心坐标;

判断所述区域特征是否满足预设特征条件;

若否,删除所述分割区域。

第二方面,本发明提供了一种序列号识别系统,包括:

照明模块,用于获取预设照明条件下待识别设备的照射图像,所述预设照明条件为高亮度背景且采用漫反射光源的光照场景;

滤波模块,用于对所述照射图像进行滤波处理,以得到滤波图像,所述滤波处理用于对所述照射图像中的有效区域进行过滤获取,所述待识别设备上的待识别序列号对应的光照图像存储在所述有效区域内;

识别模块,用于对所述滤波图像进行极坐标变换,并对坐标变换后的所述滤波图像进行字符分割识别,以得到目标序列号。

上述序列号识别系统,通过所述照明模块采用漫反射的光照场景的设计,有效防止了阴影的产生,减少或避免了镜面反射,使得获取到的所述照射图像较为清晰,提高了后续序列号识别的准确性,通过所述滤波模块中所述滤波处理的设计,以使有效的对所述有效区域进行了分割,方便了后续的序列号识别,上述序列号识别系统通过采用自动识别步骤,以提高序列号的识别效率,且防止了由于人工失误导致的错误识别,提高了序列号识别的精准度。

进一步地,所述滤波模块包括:

第一获取单元,用于获取所述照射图像中所有像素点的像素值,并对获取到的所述像素值进行中值计算,以得到像素阈值;

判断单元,用于依序判断所述像素点对应的所述像素值是否大于所述像素阈值;若是,则删除所述像素点。

进一步地,所述识别模块包括:

第二获取单元,用于获取所述滤波图像的边界曲线,并计算所述边界曲线的离散角;

偏移控制单元,用于根据所述离散角计算位移变换曲率,并根据所述位移变换曲率对所述滤波图像中的所述像素点进行坐标变换。

第三方面,本发明提供了一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器运行所述计算机程序以使所述移动终端执行上述的序列号识别方法。

第四方面,本发明提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的序列号识别方法的步骤。

附图说明

图1为本发明第一实施例提供的序列号识别方法的流程图;

图2为本发明第二实施例提供的序列号识别方法的流程图;

图3为本发明第三实施例提供的序列号识别系统的结构示意图。

具体实施方式

为了便于更好地理解本发明,下面将结合相关实施例附图对本发明进行进一步地解释。附图中给出了本发明的实施例,但本发明并不仅限于上述的优选实施例。相反,提供这些实施例的目的是为了使本发明的公开面更加得充分。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

请参阅图1,为本发明第一实施例提供的序列号识别方法的流程图,包括步骤s10至s30。

步骤s10,获取预设照明条件下待识别设备的照射图像;

其中,所述预设照明条件为高亮度背景且采用漫反射光源的光照场景,由于照明是影响图像数据采集输入的重要因素,因为它直接影响输入数据的质量至少30%的应用效,因此,本实施例通过所述预设照明条件的设计,以提高图像识别速度和精准度,具体的,照射时入射光仅投射在所述待识别设备上,且仅需要在led平板端添加漫射板即可,使得将带有序列号的所述照射图像通过一个透镜聚焦在敏感显示元件上,使得目标与背景图像明暗对比度增强,进而有效方便了后期的识别速度和精准度。

步骤s20,对所述照射图像进行滤波处理,以得到滤波图像;

其中,所述滤波处理用于对所述照射图像中的有效区域进行过滤获取,所述待识别设备上的待识别序列号对应的光照图像存储在所述有效区域内,本实施例中通过采用动态自适应方式进行所述有效区域的分割过滤,利用序列号外端边界与其相邻像素亮度差异,应用中值滤波来估计局部区域的灰度值,提供动态阈值,进行目标区域的分割,以得到所述滤波图像。

步骤s30,对所述滤波图像进行极坐标变换,并对坐标变换后的所述滤波图像进行字符分割识别,以得到目标序列号;

其中,通过计算图像中字符轮廓尺寸,实用窗口为字符两倍大小的均值滤波来将序列号从背景中独立分割识别出来,确保整个分割的鲁棒性,对于部分误分离出来的噪音,使用联通区域特征值的来进行剔除,该步骤中通过采用流水线结构和sram和flashrom结构,分别用来存放采集序列号数据和ocr光学字符识别k最近邻识别算法knn,优选的,由于是灰度图像,首先直接采用二值化均值滤波分割字符,然后采用标准的ocr对分割出的字符进行分类标识。

本实施例中,通过采用漫反射的光照场景的设计,有效防止了阴影的产生,减少或避免了镜面反射,使得获取到的所述照射图像较为清晰,提高了后续序列号识别的准确性,通过所述滤波处理的设计,以使有效的对所述有效区域进行了分割,方便了后续的序列号识别,上述序列号识别方法通过采用自动识别步骤,以提高序列号的识别效率,且防止了由于人工失误导致的错误识别,提高了序列号识别的精准度。

请参阅图2,为本发明第二实施例提供的序列号识别方法的流程图,所述方法包括步骤s11至s81。

步骤s11,获取预设照明条件下待识别设备的照射图像;

其中,所述预设照明条件为高亮度背景且采用漫反射光源的光照场景,由于照明是影响图像数据采集输入的重要因素,因为它直接影响输入数据的质量至少30%的应用效,因此,本实施例通过所述预设照明条件的设计,以提高图像识别速度和精准度,具体的,照射时入射光仅投射在所述待识别设备上,且仅需要在led平板端添加漫射板即可,使得将带有序列号的所述照射图像通过一个透镜聚焦在敏感显示元件上,使得目标与背景图像明暗对比度增强,进而有效方便了后期的识别速度和精准度。

步骤s21,获取所述照射图像中所有像素点的像素值,并对获取到的所述像素值进行中值计算,以得到像素阈值;

其中,该步骤通过采用动态自适应方式进行所述有效区域的分割过滤,利用序列号外端边界与其相邻像素亮度差异,应用中值滤波来估计局部区域的灰度值,提供动态阈值。

步骤s31,依序判断所述像素点对应的所述像素值是否大于所述像素阈值;

当步骤s31判断到所述像素点对应的所述像素值大于所述像素阈值时,执行步骤s41。

步骤s41,删除所述像素点,以得到滤波图像;

其中,由于所述滤波图像最外端边界的的像素灰度值相对较大,无法与序列号的像素形成对比,容易将其误处理为序列号所在的像素。这里采用中值滤波器来抑制此类噪声。中值滤波器是一种非线性图像平滑方法,可以很好地剔除这类边界脉冲噪声,同时可以有效保存图像边缘目标信息。基本原理是用一固定模板窗选定图像区域,对该区域的像素进行排序,取其中值取代该模板中心像素的值。这里采用51×51大小的模板窗,由于边界不可能其它被测物,不必担心最大滤波器大小。这样可以过滤掉边界,同时保持序列号目标信息不丢失。

具体的,本实施例中首先通过51*51的中值滤波器对图像进行动态阈值的处理,将序列还最外端的边界与邻近像素进行分割,具体代码实现如下:

mean_image(image,imagemean,51,51)

dyn_threshold(image,imagemean,regiondynthresh,15,'dark')

fill_up(regiondynthresh,regionfillup)

gen_contour_region_xld(regionfillup,contourborder,'border')

fit_circle_contour_xld(contourborder,'ahuber',-1,0,0,3,2,centerrow,centercolumn,radius,startphi,endphi,pointorder)

将所有比背景低于15个灰度信息的像素分割出来。通过得到边界的拟合轮廓圆contourborder。得到序列号所在位置的圆的内外环半径。

步骤s51,获取所述滤波图像的边界曲线,并计算所述边界曲线的离散角;

其中,对于在曲面型介质上的序列号,需要进行极坐标变换。这里需要注意的是,对曲面进行极坐标变换时,避免变换后的第一列和最后一列相同,变换时不包含最后一个离散角度。

步骤s61,根据所述离散角计算位移变换曲率,并根据所述位移变换曲率对所述滤波图像中的所述像素点进行坐标变换;

其中,依据具体实际情况,设定内外环半径的比值范[0,9,0,99]之间,由环面的径向范围和角度来决定变换的弧。内外半径分别对应换面的环面的内外边界,为坐标变换后是字符向上的,整个变换时逆时针进行,起始角度大于终止角度,具体代码实现如下:

annulusinner:=0.90

annulusouter:=0.99

charwidthfraction:=0.01

widthpolar:=2*pi*radius*annulusouter

heightpolar:=radius*(annulusouter-annulusinner)

radiusstart:=radius*annulusouter

radiusend:=radius*annulusinner

anglestart:=2*pi-2*pi/widthpolar

angleend:=0

polar_trans_image_ext(image,polartransimage,centerrow,centercolumn,anglestart,angleend,radiusstart,radiusend,widthpolar,heightpolar,'bilinear')。

步骤s71,采用二值化均值滤波对所述滤波图像进行字符分割,以得到分割图像;

其中,所述分割图像内包括多个分割区域,该步骤中应用动态阈值进行字符分割,计算字符宽度时,将其作为整个圆周也就是极坐标的宽度比,来确保变换的尺度不变性,阈值使用字符宽度的2倍确定,具体代码实现如下:

mean_image(polartransimage,imagemean,2*charwidth,2*charheight)

dyn_threshold(polartransimage,imagemean,regionthreshold,10,'dark')

connection(regionthreshold,connectedregions)。

步骤s81,依序对所述分割图像内的所述分割区域进行光学字符识别,以得到所述目标序列号;

其中,该步骤中将分割出来的字符进行分类,这里直接应用ocr分类器来训练字体,训练的字体使用industrial字体,具体代码实现如下:

read_ocr_class_mlp('industrial_0-9a-z_norej',‘’industrial’)

do_ocr_multi_class_mlp(regioncharsort,polartransimage,ocrhandle,class,confidence)

将所有的字符连接成字符串:snstring:=sum(class)。

优选的,在步骤s81之前,所述方法还包括:

获取所述分割区域的区域特征,所述区域特征包括区域高度、区域宽度和区域重心坐标;

判断所述区域特征是否满足预设特征条件;

若否,删除所述分割区域。

本实施例中,通过采用漫反射的光照场景的设计,有效防止了阴影的产生,减少或避免了镜面反射,使得获取到的所述照射图像较为清晰,提高了后续序列号识别的准确性,通过所述滤波处理的设计,以使有效的对所述有效区域进行了分割,方便了后续的序列号识别,上述序列号识别方法通过采用自动识别步骤,以提高序列号的识别效率,且防止了由于人工失误导致的错误识别,提高了序列号识别的精准度。

请参阅图3,为本发明第三实施例提供的序列号识别系统100的结构示意图,包括:

照明模块10,用于获取预设照明条件下待识别设备的照射图像,其中,所述预设照明条件为高亮度背景且采用漫反射光源的光照场景,由于照明是影响图像数据采集输入的重要因素,因为它直接影响输入数据的质量至少30%的应用效,因此,本实施例通过所述预设照明条件的设计,以提高图像识别速度和精准度,具体的,照射时入射光仅投射在所述待识别设备上,且仅需要在led平板端添加漫射板即可,使得将带有序列号的所述照射图像通过一个透镜聚焦在敏感显示元件上,使得目标与背景图像明暗对比度增强,进而有效方便了后期的识别速度和精准度。

滤波模块20,用于对所述照射图像进行滤波处理,以得到滤波图像,所述滤波处理用于对所述照射图像中的有效区域进行过滤获取,所述待识别设备上的待识别序列号对应的光照图像存储在所述有效区域内,其中,所述滤波处理用于对所述照射图像中的有效区域进行过滤获取,所述待识别设备上的待识别序列号对应的光照图像存储在所述有效区域内,本实施例中通过采用动态自适应方式进行所述有效区域的分割过滤,利用序列号外端边界与其相邻像素亮度差异,应用中值滤波来估计局部区域的灰度值,提供动态阈值,进行目标区域的分割,以得到所述滤波图像。

识别模块30,用于对所述滤波图像进行极坐标变换,并对坐标变换后的所述滤波图像进行字符分割识别,以得到目标序列号,其中,所述识别模块30采用ocr识别器制成,且所述ocr识别器上设有多个存储设备35,该存储设备35可以为sdram、nandflash或闪存等设备,其中,通过计算图像中字符轮廓尺寸,实用窗口为字符两倍大小的均值滤波来将序列号从背景中独立分割识别出来,确保整个分割的鲁棒性,对于部分误分离出来的噪音,使用联通区域特征值的来进行剔除,该步骤中通过采用流水线结构和sram和flashrom结构,分别用来存放采集序列号数据和ocr光学字符识别k最近邻识别算法knn,优选的,由于是灰度图像,首先直接采用二值化均值滤波分割字符,然后采用标准的ocr对分割出的字符进行分类标识。

获取模块40,用于获取所述分割区域的区域特征,所述区域特征包括区域高度、区域宽度和区域重心坐标;

判断模块41,用于判断所述区域特征是否满足预设特征条件;若否,删除所述分割区域。

具体的,所述滤波模块20包括:

第一获取单元21,用于获取所述照射图像中所有像素点的像素值,并对获取到的所述像素值进行中值计算,以得到像素阈值,其中,该步骤通过采用动态自适应方式进行所述有效区域的分割过滤,利用序列号外端边界与其相邻像素亮度差异,应用中值滤波来估计局部区域的灰度值,提供动态阈值。

判断单元22,用于依序判断所述像素点对应的所述像素值是否大于所述像素阈值;若是,则删除所述像素点,其中,由于所述滤波图像最外端边界的的像素灰度值相对较大,无法与序列号的像素形成对比,容易将其误处理为序列号所在的像素。这里采用中值滤波器来抑制此类噪声。中值滤波器是一种非线性图像平滑方法,可以很好地剔除这类边界脉冲噪声,同时可以有效保存图像边缘目标信息。基本原理是用一固定模板窗选定图像区域,对该区域的像素进行排序,取其中值取代该模板中心像素的值。这里采用51×51大小的模板窗,由于边界不可能其它被测物,不必担心最大滤波器大小。这样可以过滤掉边界,同时保持序列号目标信息不丢失。具体的,本实施例中首先通过51*51的中值滤波器对图像进行动态阈值的处理,将序列还最外端的边界与邻近像素进行分割。

所述识别模块30包括:

第二获取单元31,用于获取所述滤波图像的边界曲线,并计算所述边界曲线的离散角,其中,对于在曲面型介质上的序列号,需要进行极坐标变换。这里需要注意的是,对曲面进行极坐标变换时,避免变换后的第一列和最后一列相同,变换时不包含最后一个离散角度。

偏移控制单元32,用于根据所述离散角计算位移变换曲率,并根据所述位移变换曲率对所述滤波图像中的所述像素点进行坐标变换,其中,依据具体实际情况,设定内外环半径的比值范[0,9,0,99]之间,由环面的径向范围和角度来决定变换的弧。内外半径分别对应换面的环面的内外边界,为坐标变换后是字符向上的,整个变换时逆时针进行,起始角度大于终止角度。

分割单元33,用于采用二值化均值滤波对所述滤波图像进行字符分割,以得到分割图像,所述分割图像内包括多个分割区域;

识别单元34,用于依序对所述分割图像内的所述分割区域进行光学字符识别,以得到所述目标序列号,其中,所述识别单元34中应用动态阈值进行字符分割,计算字符宽度时,将其作为整个圆周也就是极坐标的宽度比,来确保变换的尺度不变性,阈值使用字符宽度的2倍确定。

优选的,所述序列号识别系统100还包括:

控制模块50,用于根据用户的控制指令,对应控制所述识别模块10的工作状态,具体的,所述控制模块50采用msp430f149型号单片机制成,且该单片机上还连接有快捷控制器51和液晶控制终端52,具体的,快捷控制器51和液晶控制终端52由单片机msp430f149来控制。其中,通过提供统一的液晶终端操作平台,便于完整显示来自服务器端相关序列号产品的信息。同时可将键盘操作转换为控制信号再传送给所述识别模块30进行交互控制,这样可以将识别结果上传到服务器端,进行更近一步处理。

上述序列号识别系统100,通过所述照明模块10采用漫反射的光照场景的设计,有效防止了阴影的产生,减少或避免了镜面反射,使得获取到的所述照射图像较为清晰,提高了后续序列号识别的准确性,通过所述滤波模块20中所述滤波处理的设计,以使有效的对所述有效区域进行了分割,方便了后续的序列号识别,上述序列号识别系统100通过采用自动识别步骤,以提高序列号的识别效率,且防止了由于人工失误导致的错误识别,提高了序列号识别的精准度。

本实施例还提供了一种存储介质,其上存储有计算机程序,该程序在执行时,包括如下步骤:

获取预设照明条件下待识别设备的照射图像,所述预设照明条件为高亮度背景且采用漫反射光源的光照场景;

对所述照射图像进行滤波处理,以得到滤波图像,所述滤波处理用于对所述照射图像中的有效区域进行过滤获取,所述待识别设备上的待识别序列号对应的光照图像存储在所述有效区域内;

对所述滤波图像进行极坐标变换,并对坐标变换后的所述滤波图像进行字符分割识别,以得到目标序列号。所述的存储介质,如:rom/ram、磁碟、光盘等。

上述实施例描述了本发明的技术原理,这些描述只是为了解释本发明的原理,而不能以任何方式解释为本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其他具体实施方式,这些方式都将落入本发明的保护范围内。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1