一种二维码初步定位方法及系统的制作方法_3

文档序号:9433027阅读:来源:国知局
之前的网格区域标记为非行目标区域;若当前网格区域的前一个网格区域被标记为行目标区域,且当前网格区域的数值为1,则将当前网格区域标记为行目标区域,否则标记为非行目标区域;
[0083]对图3中的非目标区域120从左到右进行逐列扫描,将每个列中第一次遇到的数值连续为I的网格区域标记为目标区域:
[0084]将每个列中遇到的第I个数值为I的网格区域标记为列目标区域,第I个数值为I的网格区域之前的网格区域标记为非列目标区域;若当前网格区域的前一个网格区域被标记为列目标区域,且当前网格区域的数值为1,则将当前网格区域标记为列目标区域,否则标记为非列目标区域;
[0085]将所述的行目标区域和所述的列目标区域的并集组合成目标区域111,请参见4所示,则得到的目标区域111的长度为整个包含二维码的图像的总长,宽度为整个包含二维码的图像的总宽;
[0086]S6统计图4中目标区域111的长度和宽度上包含的网格区域的个数、像素点的个数以及目标区域111中包含的数值为I的网格区域的个数,判断目标区域111是否为二维码所在区域,具体为:
[0087]统计目标区域111中数值为I的网格区域的个数N ;
[0088]统计目标区域111的长度上包含的网格区域的个数W,及像素点个数W*n ;
[0089]统计目标区域111的宽度上包含的网格区域的个数H,及像素点个数H*m ;
[0090]预设像素点差值阀值d为16,即一个网格区域的边长上包含的网格区域的个数,若N*2〈W*H或者I (W*n)-(H*m) I >d,则所述目标区域不是二维码所在区域;否则所述目标区域为二维码所在区域;
[0091]此时很明显,图4中的目标区域111满足I (W*n)-(H*m) I >d的条件,因此所述目标区域111不是二维码所在区域;则重新执行步骤S5 ;
[0092]S5对图4中的非目标区域121从上到下进行逐行扫描,并且从左到右进行逐列扫描,将每个行中第一次遇到的数值连续为I的网格区域与每个列中第一次遇到的数值连续为I的网格区域的并集标记为目标区112,其余标记为非目标区域122,请参见图5,具体为:
[0093]对图4中的非目标区域121从上到下进行逐行扫描,将每个行中第一次遇到的数值连续为I的网格区域标记为目标区域:
[0094]将每个行中遇到的第I个数值为I的网格区域标记为行目标区域,第I个数值为I的网格区域之前的网格区域标记为非行目标区域;若当前网格区域的前一个网格区域被标记为行目标区域,且当前网格区域的数值为1,则将当前网格区域标记为行目标区域,否则标记为非行目标区域;
[0095]对图4中的非目标区域121从左到右进行逐列扫描,将每个列中第一次遇到的数值连续为I的网格区域标记为目标区域:
[0096]将每个列中遇到的第I个数值为I的网格区域标记为列目标区域,第I个数值为I的网格区域之前的网格区域标记为非列目标区域;若当前网格区域的前一个网格区域被标记为列目标区域,且当前网格区域的数值为1,则将当前网格区域标记为列目标区域,否则标记为非列目标区域;
[0097]将所述的行目标区域和所述的列目标区域的并集组合成目标区域112,其与为非目标区域122,请参见5所示;
[0098]S6统计图5中目标区域112的长度和宽度上包含的像素点的个数以及目标区域112中包含的数值为I的网格区域的个数,判断目标区域112是否为二维码所在区域,具体为:
[0099]统计目标区域112中数值为I的网格区域的个数N ;
[0100]统计目标区域112的长度上包含的网格区域的个数W为13,及像素点个数W*n ;
[0101]统计目标区域112的宽度上包含的网格区域的个数H为13,及像素点个数H*m ;
[0102]预设像素点差值阀值d为16,即一个网格区域的边长上包含的网格区域的个数,若N*2〈W*H或者I (W*n)-(H*m) I >d,则所述目标区域不是二维码所在区域;否则所述目标区域为二维码所在区域;
[0103]很明显,图5中的目标区域112不满足N*2〈W*H或者| (W*n)-(H*m) >d的条件,因此图5中的目标区域112是二维码所在区域13 ;
[0104]若所述目标区域112为二维码所在区域13,则输出目标区域的边界所对应的像素点的行号和列号,具体为:
[0105]统计目标区域112所包含的网格区域所在的行号与列号;
[0106]根据目标区域112所包含的网格区域所在的行号与列号以及每个网格区域包含的m行*n列个像素点,计算得到目标区域112的四条边界线所对应的像素点的行号和列号,分别为左边界线对应的像素点在第16*16列,右边界线对应的像素点在第29*16列、上边界线对应的像素点在第20*16行、下边界线对应的像素点在第7*16行,则二维码所在区域被初步定位出来,请参见图6所示。
[0107]步骤S6中,还包括:
[0108]若所述目标区域112为二维码所在区域13,则判断目标区域112的大小是否满足解码条件,具体为:
[0109]预设最小像素点阀值等于21,若目标区域112的长度上包含的像素点的个数小于最小像素点阀值,或者目标区域112的宽度上包含的像素点的个数小于最小像素点阀值,则目标区域112太小,不能满足解码条件。
[0110]请参见图7,一种二维码初步定位系统,包括二值化模块1、划分模块2、第一统计模块3、赋值模块4、第一标记模块5、扫描模块6、第二标记模块7、第二统计模块8、判断模块9、输出模块10。
[0111]二值化模块1,用于对接收到的包含二维码的图像的像素点进行二值化;
[0112]划分模块2,用于将接收到的包含二维码的图像划分为至少一个的包含m行*n列个像素点的网格区域;
[0113]第一统计模块3,用于统计每个网格区域中像素点为黑点的个数;
[0114]赋值模块4,用于将所述网格区域赋值为I或O ;
[0115]第一标记模块5,用于将对网格区域赋值后的包含二维码的图像标记为非目标区域;
[0116]扫描模块6,用于对非目标区域从上到下进行逐行扫描,并且从左到右进行逐列扫描;
[0117]标记模块7,用于将每个行中第一次遇到的数值连续为I的网格区域与每个列中第一次遇到的数值连续为I的网格区域的并集标记为目标区域,其余标记为非目标区域;
[0118]第二统计模块8,用于统计目标区域的长度和宽度上包含的网格区域的个数、像素点的个数以及目标区域中包含的数值为I的网格区域的个数;
[0119]判断模块9,用于判断目标区域是否为二维码所在区域;
[0120]输出模块10,用于输出目标区域的边界所对应的像素点的行号和列号。
[0121]请参照图7,本发明的实施例二为:
[0122]—种二维码初步定位系统,包括二值化模块1、划分模块2、第一统计模块3、赋值模块4、第一标记模块5、扫描模块6、第二标记模块7、第二统计模块8、判断模块9、输出模块10,
[0123]二值化模块1,用于对接收到的包含二维码的图像的像素点进行二值化;
[0124]划分模块2,用于将接收到的包含二维码的图像划分为至少一个的包含m行*n列个像素点的网格区域;
[0125]第一统计模块3,用于统计每个网格区域中像素点为黑点的个数;
[0126]赋值模块4,用于将所述网格
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1