发明内容
为了提高在票据影像中检测矩形印章影像的效率与准确率,本发明提出了一种针对印章影像的矩形检测方法,包括:
S1、依次判断原图像中各像素点的颜色是否为指定印章的颜色,生成原图像的二值图;
S2、依据所述二值图生成边缘二值图;
S3、对所述边缘二值图进行Hough投票提取两条峰值直线,判断是否满足:所述两条峰值直线平行并且极轴之差与印章矩形的短边相等,若是则判定所述两条峰值直线为印章的两条长边;
S4、在所述两条长边之间,对所述两条长边的垂直方向再进行Hough投票再提取两条峰值直线,判断是否满足:所述再提取的两条峰值直线极轴之差与印章矩形的长边相等,若是则判定所述再提取的两条峰值直线为印章的短边。
进一步地,所述步骤S1中判断原图像中各像素点的颜色是否为指定印章的颜色包括:取当前像素点的RGB值,计算颜色方差值,判断所述方差值是否小于预设的方差阈值,若是则判定所述像素点为背景点,否则判定所述像素点的色度值是否在预设的色度范围之内,若是则判定所述像素为前景点,否则判定所述像素点为背景点。
进一步地,所述指定的印章颜色为红色;所述方差阈值为30;所述预设的色度范围包括:0至40或200至240。
进一步地,所述步骤S2之后还包括S21,设置一个正方形窗口,所述窗口大小小于所述边缘二值图且大于所述印章影像矩形,判断所述边缘二值图中所述窗口内前景点总数是否小于预设的噪声阈值,若是则在所述边缘二值图中移动所述窗口重新判断,否则计算所述前景点的重心,判定所述重心是否在预设区域内,若是则定位成功,记录所述窗口内的边缘二值图,否则在所述边缘二值图中移动所述窗口重新判断。进一步地,所述噪声阈值为50;所述窗口边长为印章矩形长边的2.1倍;所述窗口移动的水平步长为所述窗口边长的三分之一,所述窗口移动的竖直步长为所述窗口边长的三分之一;所述预设区域为所述窗口的同心正方形,所述同心正方形边长为所述窗口长度二分之一。
本发明还提出了一种针对印章影像的矩形检测装置,包括:
二值图生成模块,依次判断原图像中各像素点的颜色是否为指定印章的颜色,生成原图像的二值图;
边缘二值图生成模块,与所述二值图生成模块相连,依据所述二值图生成边缘二值图;
印章长边检测模块,与所述边缘二值图生成模块相连,对所述边缘二值图进行Hough投票提取两条峰值直线,判断是否满足:所述两条峰值直线平行并且极轴之差与印章矩形的短边相等,若是则判定所述两条峰值直线为印章的两条长边;
印章短边检测模块,与所述印章长边检测模块相连,在所述两条长边之间,对所述两条长边的垂直方向再进行Hough投票再提取两条峰值直线,判断是否满足:所述再提取的两条峰值直线极轴之差与印章矩形的长边相等,若是则判定所述再提取的两条峰值直线为印章的短边。
进一步地,所述判断原图像中各像素点的颜色是否为指定印章的颜色包括:取当前像素点的RGB值,计算颜色方差值,判断所述方差值是否小于预设的方差阈值,若是则判定所述像素点为背景点,否则判定所述像素点的色度值是否在预设的色度范围之内,若是则判定所述像素为前景点,否则判定所述像素点为背景点。
进一步地,所述指定的印章颜色为红色;所述方差阈值为30;所述预设的色度范围包括:0至40或200至240。
进一步地,所述针对印章影像的矩形检测装置还包括印章定位模块,所述印章定位模块与所述边缘二值图生成模块相连,用于在所述边缘二值图上对印章影像进行定位,条件为:设置一个窗口,所述窗口大小小于所述边缘二值图且大于所述印章影像矩形,判断所述边缘二值图中所述窗口内前景点总数是否小于预设的噪声阈值,若是则在所述边缘二值图中移动所述窗口重新判断,否则计算所述前景点的重心,判定所述重心是否在预设区域内,若是则定位成功,记录所述窗口内的边缘二值图,否则在所述边缘二值图中移动所述窗口重新判断。
进一步地,所述噪声阈值为50;所述窗口边长为印章影像矩形长度的2.1倍;所述窗口移动的水平步长为所述窗口边长的三分之一,所述窗口移动的竖直步长为所述窗口边长的三分之一;所述预设区域为所述窗口的同心正方形,所述同心正方形边长为所述窗口长度二分之一。
本发明还提出了一种针对凭证影像的矩形印章定位方法,包括:
S1、依次判断原图像中各像素点的颜色是否为指定印章的颜色,生成原图像的二值图;
S2、依据所述二值图生成边缘二值图;
S3、设置一个窗口,所述窗口大小小于所述边缘二值图且大于所述印章影像矩形,判断所述边缘二值图中所述窗口内前景点总数是否小于预设的噪声阈值,若是则在所述边缘二值图中移动所述窗口重新判断,否则计算所述前景点的重心,判定所述重心是否在预设区域内,若是则定位成功,记录所述窗口内的边缘二值图,否则在所述边缘二值图中移动所述窗口重新判断。
进一步地,所述步骤S3包括:
S31、初始化一个窗口,所述窗口大小小于所述边缘二值图且大于所述印章影像矩形,初始位置为所述边缘图像的左上角;
S32、在所述边缘二值图中截取所述窗口覆盖的窗口的二值图,计算所述窗口的二值图的前景点总数;
S33、判断所述前景点总数是否大于噪声阈值,若是则执行S34,否则执行步骤S35;
S34、对所述窗口的二值图进行重心检测判断所述重心是否在预设区域内,若是则表示定位成功,结束定位,否则执行步骤S35;
S35、判断所述窗口是否已遍历所述边缘二值图,若是则表示定位失败,结束定位,否则在所述边缘二值图中移动所述窗口,返回步骤S32。
进一步地,所述步骤S1中判断原图像中各像素点的颜色是否为指定印章的颜色包括:取当前像素点的RGB值,计算颜色方差值,判断所述方差值是否小于预设的方差阈值,若是则判定所述像素点为背景点,否则判定所述像素点的色度值是否在预设的色度范围之内,若是则判定所述像素为前景点,否则判定所述像素点为背景点。
进一步地,所述指定印章的颜色为红色;所述方差阈值为30。
进一步地,所述噪声阈值为50;所述窗口边长为印章影像矩形长度的2.1倍;所述窗口移动的水平步长为所述窗口边长的三分之一,所述窗口移动的竖直步长为所述窗口边长的三分之一;所述预设区域为所述窗口的同心正方形,所述同心正方形边长为所述窗口长度二分之一。
本发明还提出了一种针对凭证影像的矩形印章定位装置,其特征在于,包括:
二值图生成模块,用于依次判断原图像中各像素点的颜色是否为指定印章的颜色,生成原图像的二值图;
边缘二值图生成模块,与所述二值图生成模块相连,用于依据所述二值图生成边缘二值图;
印章定位模块,所述印章定位模块与所述边缘二值图生成模块相连,用于在所述边缘二值图上对印章影像进行定位,条件为:设置一个窗口,所述窗口大小小于所述边缘二值图且大于所述印章影像矩形,判断所述边缘二值图中所述窗口内前景点总数是否小于预设的噪声阈值,若是则在所述边缘二值图中移动所述窗口重新判断,否则计算所述前景点的重心,判定所述重心是否在预设区域内,若是则定位成功,记录所述窗口内的边缘二值图,否则在所述边缘二值图中移动所述窗口重新判断。
进一步地,所述印章定位模块在所述边缘二值图上对印章影像进行定位条件为:
S31、初始化一个窗口,所述窗口大小小于所述边缘二值图且大于所述印章影像矩形,初始位置为所述边缘图像的左上角;
S32、在所述边缘二值图中截取所述窗口覆盖的窗口的二值图,计算所述窗口的二值图的前景点总数;
S33、判断所述前景点总数是否大于噪声阈值,若是则执行S34,否则执行步骤S35;
S34、对所述窗口的二值图进行重心检测判断所述重心是否在预设区域内,若是则表示定位成功,结束定位,否则执行步骤S35;
S35、判断所述窗口是否已遍历所述边缘二值图,若是则表示定位失败,结束定位,否则在所述边缘二值图中移动所述窗口,返回步骤S32。
进一步地,所述二值图生成模块中判断原图像中各像素点的颜色是否为指定印章的颜色条件为:取当前像素点的RGB值,计算颜色方差值,判断所述方差值是否小于预设的方差阈值,若是则判定所述像素点为背景点,否则判定所述像素点的色度值是否在预设的色度范围之内,若是则判定所述像素为前景点,否则判定所述像素点为背景点。
进一步地,所述指定印章的颜色为红色;所述方差阈值为30。
进一步地,所述噪声阈值为50;所述窗口边长为印章影像矩形长度的2.1倍;所述窗口移动的水平步长为所述窗口边长的三分之一,所述窗口移动的竖直步长为所述窗口边长的三分之一;所述预设区域为所述窗口的同心正方形,所述同心正方形边长为所述窗口长度二分之一。
本发明通过提取指定颜色的前景图,直接避免了其他颜色的干扰,另外,因为提取后的前景图是二值图,相比在灰度图上做边缘图提取,二值图的边缘提取处理更加简单,计算量更小;通过设置一个窗口,在全图中滑动截取矩形,初步判断矩形的位置,使得Hough投票在一个小范围内进行,减小了误检的几率,同时减小了Hough投票的计算量;将Hough投票与直线逻辑判断步骤分为两次投票两次判断,避免单次Hough投票误检或漏检矩形短边,从而提高了矩形的检测准确率。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
本实施例提供了一种针对印章影像的矩形检测方法,图1本实施例所述针对印章影像的矩形检测方法流程图,如图1所示,本实施提供的所述针对印章影像的矩形检测方法主要包括以下几个步骤:
S101、依次判断原图像中各像素点的颜色是否为指定印章的颜色,生成原图像的二值图;
首先,提取指定的印章颜色,例如红色,定义一张与原图像大小相等的图ForegroundImage(i,j),遍历原图像,取当前像素点的RGB值r、g、b,求平均值:
计算此像素点的颜色方差值:
设定一个颜色方差的阈值,根据实验得到此阈值的经验值为30。若varval>30,认为当前像素点是彩色的,进一步判断颜色范围,否则直接认定边缘图中此像素点为背景点,令ForegroundImage(i,j)=0。
在确定当前像素点是彩色后,由r、g、b计算得到色度值(Hue值),并判断Hue值的取值范围,确定当前像素点的颜色属性。例如,已知印章颜色为红色,若当前像素点Hue值h满足:
0<h<40或200<h<240
则此像素点是红色,设为前景点,令ForegroundImage(i,j)=1;否则,此像素点是其他颜色的店,设为背景点,令ForegroundImage(i,j)=0。
本步骤得到一张二值图ForegroundImage(i,j),以1表示前景点,以0表示背景点。
S102、依据二值图生成边缘二值图;
提取指定颜色后,得到一张二值图像,即前景图ForegroundImage(i,j)。本步骤将提取此二值图像的边缘点(即前景点和背景点交界处的点)的集合,生成一张边缘图。按照以下算法在ForegroundImage(i,j)上提取边缘点:
首先定义一张与原图大小相等的单通道边缘图EdgeImage(i,j),初始化所有像素值为0。
按行遍历前景图,当ForegroundImage(i,j-1)≠ForegroundImage(i,j)时,进行如下操作:
若ForegroundImage(i,j-1)=1,则EdgeImage(i,j-1)=1;
若ForegroundImage(i,j-1)=0,则EdgeImage(i,j)=1。
同理,按列遍历前景图,当ForegroundImage(i-1,j)≠ForegroundImage(i,j)时,进行如下操作:
若ForegroundImage(i-1,j)=1,则EdgeImage(i-1,j)=1;
若ForegroundImage(i-1,j)=0,则EdgeImage(i,j)=1。
本步骤得到一张二值图EdgeImage(i,j),以1表示前景点,以0表示背景点。
S103、进行印章定位重新生成较小范围的边缘二值图;
所述印章定位方法如下:
设置一个边长为M的方形窗口,M的值以矩形印章大小的先验值确定,可以设置为印章矩形长边长度的2.1倍。设置窗口初始位置为上述边缘图像中左上角,使窗口以M/3为步长水平移动,以M/3为步长竖直移动。
定义一张边长为M的方形窗口图像WindowImage(i,j),由以下算法移动窗口截取EdgeImage(i,j):
设Mstep=M/3,Nstep=M/3分别为窗口水平和竖直移动的步长;
设X=0,Y=0分别是窗口水平和竖直移动的次数,初始值为0;
截取窗口影像:
WindowImage(i,j)=EdgeImage(i+Mstep×X,j+Nstep×Y)
(0<=i<=M,0<=j<=M)
计算WindowImage(i,j)前景点总数,若大于噪声阈值,进行下一步重心检测,否则认为窗口未截取到前景,返回步骤3),根据经验,噪声阈值一般设置为50;
计算WindowImage(i,j)前景重心,重心位于居中位置则进行下步矩形检测,否则认为窗口未截取到完整矩形,返回步骤3),根据经验,居中位置的范围是窗口影像中心边长为M/2的方形区域,即WindowImage(i,j)(M/4<i<=3M/4,M/4<j<=3M/4);
窗口水平移动,令X=X+1,重复步骤3);
窗口移动到EdgeImage(i,j)最右边时,换行,令X=0,Y=Y+1,重复步骤3);
窗口移动到EdgeImage(i,j)右下角时终止。
但是,窗口定位后进行矩形检测,若实际应用中已知检测影像中只有唯一的矩形,则在检测到矩形后终止移动窗口。
S104、对边缘二值图进行Hough投票提取两条峰值直线;
经过印章定位后的窗口影像(即WindowImage(i,j))中,作Hough变换投票,提取直线并判断直线逻辑是否能够构成矩形。
由矩形的几何特征可知,Hough变换的投票结果应该出现四个峰值,其中以θ分类可以分为两组,两组的θ值差值近似为90°。但是如果出现印章磨损影像质量等问题,此处的四个峰值中,对应矩形短边的峰值往往不能得到。因此,此时取Hough变换得到的两个峰值。
图2是本实施例所述针对印章影像的矩形Hough投票示意图,参见图2,H1=(ρ1,θ1)和H2=(ρ2,θ2),对应的直线L1和L2应为矩形的两条长边。
S105、判断是否满足:两条峰值直线平行并且极轴之差与印章矩形的短边相等;
若H1和H2满足θ1≈θ2,可断定这两条直线是平行的。
若已知w为矩形的短边边长,H1和H2满足|ρ1-ρ2|≈w,则可以断定对应两条直线是矩形的长边。
S106、结束检测;
S107、确认两条峰值直线为矩形印章的长边;
S108、在两条长边之间对两条长边的垂直方向再进行Hough投票再提取两条峰值直线;
令θN1和θN2分别在θ1和θ2的垂直方向上取值
θMAX=max(θN1,θN2)
θMIN=min(θN1,θN2)
令θN在θMIN<θN<θMAX范围内遍历,在θN方向上做第二轮Hough投票,并将参与投票的点限定在L1和L2之间,若得到峰值H3=(ρ3,θ3)和H4=(ρ4,θ4)。
S109、判断是否满足:再提取的两条峰值直线极轴之差与印章矩形的长边相等;若已知的矩形长边的边长l,H3和H4满足|ρ3-ρ4|≈l,则可以断定所述峰值直线为印章影像矩形的短边,此窗口中检测到矩形。
S110、结束检测;
S111、确认后提取的两条峰值直线为矩形印章的短边。
实施例二
本实施例提供了一种针对印章影像的矩形检测装置,图3是本实施例所述针对印章影像的矩形检测装置结构框图,参见图3,本实施提供的所述针对印章影像的矩形检测装置包括:
二值图生成模块301,依次判断原图像中各像素点的颜色是否为指定印章的颜色,生成原图像的二值图;
所述判断原图像中各像素点的颜色是否为指定印章的颜色包括:取当前像素点的RGB值,计算颜色方差值,判断所述方差值是否小于预设的方差阈值,若是则判定所述像素点为背景点,否则判定所述像素点的色度值是否在预设的色度范围之内,若是则判定所述像素为前景点,否则判定所述像素点为背景点。
当指定的印章颜色为红色;所述方差阈值为30;所述预设的色度范围包括:0至40或200至240。
所述二值图的具体生成方式参见本发明实施例一,在此不作赘述。
边缘二值图生成模块302,与所述二值图生成模块相连,依据所述二值图生成边缘二值图,所述边缘二值图的具体生成方式参见本发明实施例一,在此不作赘述。
本实施例所述装置还可包括印章定位模块303,与所述边缘二值图生成模块相连,用于在所述边缘二值图上对印章影像进行印章定位,将所述边缘二值图裁减到一个合理大小。所述印章定位模块在所述边缘二值图上对印章影像进行印章定位条件参见实施例一中印章定位方法,在此不作赘述。
所述噪声阈值为50;所述窗口边长为印章矩形长边的2.1倍;所述窗口移动的水平步长为所述窗口边长的三分之一,所述窗口移动的竖直步长为所述窗口边长的三分之一;所述预设区域为所述窗口的同心正方形,所述同心正方形边长为所述窗口长度二分之一。
印章长边检测模块304,与所述边缘二值图生成模块303相连,对所述边缘二值图进行Hough投票提取两条峰值直线,判断是否满足:所述两条峰值直线平行并且极轴之差与印章矩形的短边相等,若是则判定所述两条峰值直线为印章的两条长边;印章短边检测模块305,与所述印章长边检测模块304相连,在所述两条长边之间,对所述两条长边的垂直方向再进行Hough投票再提取两条峰值直线,判断是否满足:所述再提取的两条峰值直线极轴之差与印章矩形的长边相等,若是则判定所述再提取的两条峰值直线为印章的短边。
实施例三
本实施例提供了一种针对凭证影像的矩形印章定位方法,图4是本实施例所述针对凭证影像的矩形印章定位方法流程图,如图4所示,本实施提供的所述针对凭证影像的矩形印章定位方法如下:
S401、依次判断原图像中各像素点的颜色是否为指定印章的颜色,生成原图像的二值图;
本步骤与实施例一所述步骤S101相同,在此不作赘述。
S402、依据二值图生成边缘二值图EdgeImage(i,j);
本步骤与实施例一所述步骤S102相同,在此不作赘述。
S403、设置一个边长为M的方形窗口,所述窗口的初始位置为边缘图像的左上角,定义一张M*M窗口图像WindowImage(i,j),初始化水平方向移动的次数X=0,初始化垂直方向移动的次数Y=0;
设置一个边长为M的方形窗口,M的值以矩形印章大小的先验值确定,可以设置为印章矩形长边长度的2.1倍。设置窗口初始位置为上述边缘图像中左上角,使窗口以M/3为步长水平移动,以M/3为步长竖直移动。
定义一张M*M的窗口图像WindowImage(i,j)。
S404、在原图像中截取所述窗口的影像WindowImage(i,j)=EdgeImage(i+MStep*X,j+NStep*Y)(0<=i<=M,0<=j<=M);
所述MStep为所述窗口水平方向移动的步长,所述NStep为所述窗口垂直方向移动的步长,所述X为水平方向移动的次数,所述Y为垂直方向移动的次数,由以下算法移动窗口截取EdgeImage(i,j):
设MStep=M/3,NStep=M/3
WindowImage(i,j)=EdgeImage(i+MStep*X,j+NStep*Y)(0<=i<=M,0<=j<=M)。
S405、计算WindowImage(i,j)前景点总数;
S406、判断前景点总数是否大于噪声阈值,若是则执行步骤S407,否则执行步骤S410;
S407、对WindowImage(i,j)前景点进行重心检测,找到所述窗口前景点的重心;
S408、判定所述重心是否位于预设同心矩形内,若是则执行步骤S409,否则执行步骤S410;
所述预设同心方形预设的范围是窗口影像中心的方形区域,依据印章影像的大小和窗口大小设定,所述预设同心方形优选为位于所述窗口影像中心的边长为M/2的方形区域,即WindowImage(i,j)(M/4<i<3M/4,M/4<j<3M/4)。
S409、定位成功,结束定位;
S410、判定X是否等于水平移动次数最大值Xmax,若是则执行步骤S412,否则执行步骤S411;
S411、使X等于X+1,返回步骤S404;
S412、使X等于0;
S413、判断Y是否等于竖直移动次数最大值Ymax,若是则执行步骤S415,否则执行步骤S314;
S414、使Y等于Y+1,返回步骤S404;
S415、定位不成功,结束定位。
实施例四
本实施例提供了一种针对凭证影像的矩形印章定位装置,图5是本实施例所述针对凭证影像的矩形印章定位装置结构框图,如图5所示,本实施提供的所述针对凭证影像的矩形印章定位装置包括:
二值图生成模块501,依次判断原图像中各像素点的颜色是否为指定印章的颜色,生成原图像的二值图;
所述二值图生成模块501与本发明实施例二所述二值图生成模块301相同,在此不作赘述。
边缘二值图生成模块502,与所述二值图生成模块501相连,依据所述二值图生成边缘二值图;
所述边缘二值图生成模块502与本发明实施例二所述边缘二值图生成模块302相同,在此不作赘述。
印章定位模块503,与所述边缘二值图生成模块502相连,用于在所述边缘二值图上对印章影像进行印章定位。
所述印章定位模块503的定位方法参见本发明实施例三,在此不作赘述。
本发明实施例一所述的针对印章影像的矩形检测方法、本发明实施例二所述的针对印章影像的矩形检测装置、本发明实施例三所述的针对凭证影像的矩形印章定位方法和本发明实施例三所述的针对凭证影像的矩形印章定位装置,通过提取指定颜色的前景图,直接避免了其他颜色的干扰,另外,因为提取后的前景图是二值图,相比在灰度图上做边缘图提取,二值图的边缘提取处理更加简单,计算量更小;通过设置一个窗口,在全图中滑动截取矩形,初步判断矩形的位置,使得Hough投票在一个小范围内进行,减小了误检的几率,同时减小了Hough投票的计算量;将Hough投票与直线逻辑判断步骤分为两次投票两次判断,避免单次Hough投票误检或漏检矩形短边,从而提高了矩形的检测准确率。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。