CN103488965B - 运单信息录入和彩色色块编码解码系统 - Google Patents

运单信息录入和彩色色块编码解码系统 Download PDF

Info

Publication number
CN103488965B
CN103488965B CN201310364160.XA CN201310364160A CN103488965B CN 103488965 B CN103488965 B CN 103488965B CN 201310364160 A CN201310364160 A CN 201310364160A CN 103488965 B CN103488965 B CN 103488965B
Authority
CN
China
Prior art keywords
color lump
waybill
coding
colored
left corner
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.)
Active
Application number
CN201310364160.XA
Other languages
English (en)
Other versions
CN103488965A (zh
Inventor
补建
罗安
冯少川
杨吟峰
李毅
师改梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fengchao Interactive Media Co ltd
Original Assignee
Chengdu Wolaila Network Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Wolaila Network Information Technology Co Ltd filed Critical Chengdu Wolaila Network Information Technology Co Ltd
Priority to CN201310364160.XA priority Critical patent/CN103488965B/zh
Publication of CN103488965A publication Critical patent/CN103488965A/zh
Application granted granted Critical
Publication of CN103488965B publication Critical patent/CN103488965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Abstract

本发明为运单信息录入和彩色色块编码解码系统,解决巳有系统图像识别码的种类和排列单一,不便运单图片排版,解码时对编码中图像识别码的准确定位相对困难,进而使得对运单图片进行解码和版面识别困难。本发明包括设计版面单元,运单图片采集单元,运单图片彩色色块解码单元以及运单信息生成单元,彩色色块编码是若干彩色色块,横向或纵向按照直线顺序和相同间距进行排列组合,每种排列组合为一种编码,通过设定编码表,将编码和运单类型匹配,确定各种编码对应的运单类型,便于后续在解码后对应确定相应的运单类型。

Description

运单信息录入和彩色色块编码解码系统
技术领域:
本发明涉及图像处理领域,具体涉及运单信息录入和彩色色块编码解码系统。
背景技术:
随着中国物流业总体规模快速增长,物流服务水平也显著得到了提高,但是庞大的运单量也给运单数据的管理带来了很大的难度。运单上的数据包含客户信息,运单信息,费用信息等,传统的信息录入过程是数据录入人员人工讲运单上的数据手动录入到录单管理系统数据库中,即耗时又耗力。
运单信息录入系统需要处理多种业务类型的运单,这些运单中包含的数据字段基本类似,但不同类型的运单的字段布局又有所不同。因此对运单图片进行版面识别是非常关键的一个环节。
在二维直方图数字图像识别码(CN101025785)中公开了一种二维直方图数字图像识别码,其码图是在一种颜色的底板上设计有与底板颜色像素差距明显的10个不重复的直方图单元图块。所述十个单元图块从左到右分别对应阿拉伯数字0~9,其编码方法是对包含有N个阿拉伯数字的编号,用N+3个单元图块编码。该发明的码图相对于数字而言,经过统计分析后,在计算机上更容易识别,而且,每个单元图块经过同一个分析算法后,结果相对于别的单元图块都是唯一的。它的编码信息只包含0~9的阿拉伯数字和一些常用符号;在图像质量较差的情况下也能准确读出码值;使非专业人员容易理解编解码方式。但是CN101025785中提到的图像识别码的种类和排列单一,不便运单图片排版,另外该图像识别码没有统一的形状和大小,解码时对编码中图像识别码的准确定位相对困难,进而使得对运单图片进行解码和版面识别困难。
现在的条码识别方法比较成熟,但是现在运单的条码主要表示运单号,如果将此条码中加入运单类型信息,将会对现有的运单号扫描录入加大工作量。因此需要在现有的运单版面中再打印一个条码上去,但是,如果有两个条码,会对扫描枪扫描造成干扰。
发明内容:
本发明的目的是提供一种便于运单图片排版、识别,解码时对编码中各单元色块进行准确定位,效率高,错误少的运单信息录入和彩色色块编码解码系统。
本发明是这样实现的:
1、运单信息录入和彩色色块编码解码系统,其特征在于包括设计版面单元,运单图片采集单元,运单图片色块解码单元以及运单信息生成单元:
一、设计版面单元
通过彩色色块编码,将版面和彩色色块编码关联,设计票据版面后批量印刷成运单图片,运单图片上有彩色色块编码信息;
彩色色块编码是若干彩色色块,横向或纵向按照直线顺序和相同间距进行排列组合,每种排列组合为一种编码,通过设定编码表,将编码和运单类型匹配,确定各种编码对应的运单类型,便于后续在解码后对应确定相应的运单类型;
在彩色色块编码后,根据运单版面特征,在运单的特定位置加入色块信息,批量印刷;
二、运单图片采集单元
运单图片采集单元的主要功能是通过通用的扫描仪,将各运单图片进行扫描得到的各运单图像储存;
三、运单图片彩色色块编码解码单元
运单图片彩色色块编码解码单元的主要功能是对每种运单图像进行色块解码,确定每个运单图片的运单类型;
彩色色块编码解码包括如下步骤:
1、运单图像获取
读取真实运单图像,得到运单彩色图像。
2、运单图像二值化
首先将运单彩色图像转换为灰度图像,运单图像二值化就是将运单灰度图像转化为黑白二值的运单二值图像,对于读入的运单灰度图像,I[i,j]表示水平位置为i,垂直位置为j像素点处运单图像的灰度值,[i,j]遍历运单灰度图像的所有像素点,i是变量,表示运单灰度图像中像素点的水平位置,取值为i=1,2,...,W0,j是变量,表示运单灰度图像中像素点的垂直位置,取值为j=1,2,...,H0,W0为运单灰度图像宽度,H0为运单灰度图像高度;
对于运单灰度图像的各个像素点,采用阈值分割法,将运单灰度图像中大于分割阈值的像素点置为0,小于分割阈值的像素点置为255,得到运单二值图像,D1[i,j]表示运单二值图像水平位置为i,垂直位置为j像素点处的值,具体计算方法为:
D 1 &lsqb; i , j &rsqb; = 255 , I &lsqb; i , j &rsqb; < th 1 0 , I &lsqb; i , j &rsqb; &GreaterEqual; th 1 , i = 1 , 2 , .. , W 0 , j = 1 , 2 , .. , H 0
其中,th1为分割阈值,th1的选取要使得运单灰度图像的黑色字体和表格信息凸现出来,而去除其他信息的干扰;
3、运单彩色图像和运单二值图像自动纠偏
在运单扫描过程中,由于送纸传送带或滚筒的机械原因导致扫描的运单图像经常会出现倾斜情况,自动纠偏包括两个步骤:计算倾斜角度和倾斜校正;
(1)计算倾斜角度
计算运单二值图像的倾斜角度是在步骤2得到的运单二值图像的基础上进行的,对运单二值图像进行分析,选定运单二值图像左边处做分析,将该位置的二值图像提取出来称为边框二值图像,分别对边框二值图像做-8°到8°的顺时针旋转,旋转间隔为1°,每旋转一次,对该边框二值图像进行水平投影,计算极大投影值,共计算得到17个极大投影值,求这17个极大投影值中的最大值,得到最大值对应的旋转角度,该角度便为运单二值图像逆时针方向的倾斜角度,具体包括以下步骤:
a.将运单二值图像中特定区域的图像提取出来称为子区域二值图像
R[i,j]表示子区域二值图像水平位置为i,垂直位置为j像素点处的值,W1表示子区域二值图像的宽度,H1表示子区域二值图像的高度,W为运单二值图像的宽度,H为运单二值图像的高度,运单子区域二值图像的提取方法为:
R[i,j]=D1[i,j],i=1,2,..,W1,j=1,2,..,H1
其中, W 1 = 1 8 W , H 1 = H ;
b.对子区域二值图像做旋转调整
将子区域二值图像R[i,j]做-8°到8°,间隔为1°的顺时针旋转,用W2k表示第k次旋转后子区域二值图像所占图像的宽度,用H2k表示第k次旋转后子区域二值图像所占图像的高度,计算方法为:
其中,α=|k-9|°表示旋转角度,为向下取整运算符,表示不大于W1×cosα+H1×sinα的最大整数;
用Rk[i,j]表示第k次旋转后,子区域二值图像水平位置为i,垂直位置为j像素点处的值,先做初始化,Rk[i,j]=0,i=1,2,...,W2k,j=1,2,...,H2k,取k=1时,子区域二值图像像素点R[i,j]顺时针旋转-8°,也即逆时针旋转8°,此时α=8°,得到旋转后的子区域二值图像R1[i,j],原子区域二值图像位置[i,j]对应的像素值R[i,j]在逆时针旋转α后子区域二值图像位置[i1,j1]对应的像素值R1[i,j]的计算公式为:
i 1 j 1 1 = c o s &alpha; s i n &alpha; 0 - s i n &alpha; c o s &alpha; W 1 &times; s i n &alpha; 0 0 1 i - 1 j - 1 1 + 1 1 0
其中,[i1,j1]为经过运算后向下取整操作得到的;
k依次加1,取k=2,3,...,8时,依次将子区域二值图像像素点R[i,j]逆时针旋转-7°到-1°,此时,α=|k-9|°,可分别得到R2[i,j],R3[i,j],...,R8[i,j],k=9时,旋转角度为0,此时,R9[i,j]=R[i,j],k=10,11,...,17时,依次将子区域二值图像像素点R[i,j]顺时针旋转1°到7°,此时,α=|k-9|°,原子区域二值图像各像素点的位置[i,j]对应的像素值R[i,j]在顺时针旋转α后子区域二值图像各像素点的位置[i1,j1]对应的像素值Rk[i,j]中的位置的计算公式为:
i 1 j 1 1 = c o s &alpha; - s i n &alpha; H 1 &times; c o s &alpha; s i n &alpha; cos &alpha; 0 0 0 1 i - 1 j - 1 1 + 1 1 0
其中,[i1,j1]为经过运算后向下取整操作得到的,可分别得到R10[i,j],R11[i,j],...,R17[i,j],共得到17个子区域二值图像Rk[i,j];
c.对旋转后的每个子区域二值图像按行进行垂直投影,计算每个旋转后的子区域二值图像的极大投影值m[k]:
m &lsqb; k &rsqb; = m a x ( h k &lsqb; j &rsqb; ) j = 1 , 2 , .. , H 2 k , k = 1 , ... , 17
其中,hk[j]表示旋转后的每个子区域二值图像的垂直投影值,j=1,2,..,H2k
d.计算倾斜角度:
对得到的17个极大投影值m[k]进行判断,找出其中的最大值作为最大投影值,此时对应的角度值为如果(K-9)<0,表明运单图像顺时针方向倾斜了|K-9|°,即倾斜角度为β=|K-9|°,如果(K-9)=0,表示运单图像没有倾斜,β=0,如果(K-9)>0,表明运单图像逆时针方向倾斜了|K-9|°,倾斜角度为β=-|K-9|°;
(2)倾斜校正
根据上述得到的倾斜角度,对运单彩色图像和运单二值图像分别进行倾斜补偿,完成倾斜校正,用W3表示倾斜校正后运单彩色图像和运单二值图像的宽度,用H3表示倾斜校正后运单彩色图像和运单二值图像的高度,计算方法为:
当倾斜角度β>0时,对运单彩色图像和运单二值图像逆时针β校正:
i 1 j 1 1 = c o s &beta; s i n &beta; 0 - sin &beta; c o s &beta; W 1 &times; s i n &beta; 0 0 1 i - 1 j - 1 1 + 1 1 0
其中,[i1,j1]为经过运算后向下取整操作得到的;
当倾斜角度β<0时,对运单彩色图像和运单二值图像做顺时针|β|校正:
i 1 j 1 1 = c o s | &beta; | - s i n | &beta; | H 1 &times; c o s | &beta; | s i n | &beta; | cos | &beta; | 0 0 0 1 i - 1 j - 1 1 + 1 1 0
其中,[i1,j1]为经过运算后向下取整操作得到的;
当倾斜角度β=0时,对运单彩色图像和运单二值图像不做校正;
4.运单二值图像去噪
当扫描过程中由于纸张质量或者扫描镜头的灰尘原因,造成扫描出来的影像存在噪声点,影响彩色色块编码定位的质量,因此针对步骤3自动纠偏后的运单二值图像需要进行噪声点去除;
5.色块定位
在步骤4处理后,由于运单二值图像,相对运单彩色图像更加容易进行彩色色块编码的定位,所以,在运单二值图像上进行彩色色块编码定位在倾斜校正后的运单二值图像中,首先确定各需要定位的彩色色块编码顶点的搜索范围,然后与相应的定位模板进行加权计算,完成对各色块顶点的精确定位,进而确定各色块的位置;
所谓定位模板是指用于定位各顶点,与各顶点进行卷积运算的矩阵,m表示定位模板的列值,n表示定位模板的行值,m=1,2,...,21,n=1,2,...,21,用T1[m,n]表示左上角定位模板第n行第m列的值,用公式表示如下:
用T2[m,n]表示右上角定位模板第n行第m列的值,用公式表示如下:
用T3[m,n]表示左下角定位模板第n行第m列的值,用公式表示如下:
运单二值图像中编码中各色块可以是横向排列或纵向排列;
(1)纵向排列的彩色色块编码定位
在本发明中,编码是由至少两种色块组成的,每个色块为形状和大小相同的方块,对于由七种色块组成的纵向排列的彩色色块编码定位,步骤如下:
1)彩色色块编码第一色块左上角精确定位
由于彩色色块编码总是位于运单图像的某一区域内,运单图像中彩色色块编码左上角的位置为[x00,y00],这个位置同时也是彩色色块编码第一色块的左上角位置,对于左上角给予宽裕,水平偏移量为a,垂直偏移量为b,则运单二值图像彩色色块编码第一色块左上角搜索范围依次为:左上角[x00-a,y00-b],右上角[x00+a,y00-b],左下角[x00-a,y00+b],右下角[x00+a,y00+b];
在搜索范围内,从左上角开始,按自左向右,自上向下的顺序依次平移定位模板,每移动一次定位模板窗口,使定位模板的中心与搜索范围内的相应点重合,计算定位模板与其覆盖下图像的卷积值;
如上所述,定位模板的中心是指定位模板正中间的点,对于左上角定位模板来说,其中心为用T1[11,11]表示,右上角定位模板的中心为T2[11,11],左下角定位模板的中心为T3[11,11];
运单二值图像搜索范围内各像素点与左上角定位模板的卷积值t1[i,j]的计算方法如下:
t 1 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 1 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 1 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x00-a,x00-a+1,..,x00+a,j=y00-b,y00-b+1,..,y00+b;
在计算得到的运单二值图像搜索范围内各像素点的卷积值t1[i,j]中,其最大值对应的位置便为运单二值图像彩色色块编码第一色块左上角的位置,这个位置同时也是彩色色块编码的左上角位置,用[x01,y01]表示;
2)彩色色块编码第一色块右上角精确定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第一色块右上角的搜索范围依次为:左上角[x01,y01-b],右上角[x01+2*a,y01-b],左下角[x01,y01+b],右下角[x01+2*a,y01+b];
按照步骤1)相同的搜索方式,计算定位模板与其覆盖下图像的卷积值,运单二值图像搜索范围内各像素点与右上角定位模板的卷积值t2[i,j]的计算方法如下
t 2 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 2 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 2 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x01,x01+1,..,x01+2*a,j=y01-b,y01-b+1,..,y01+b
t2[i,j]最大值对应的位置便为运单二值图像彩色色块编码第一色块右上角的位置,这个位置同时也是彩色色块编码的右上角位置,用[x02,y02]表示;
3)彩色色块编码第一色块左下角定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第一色块左下角的搜索范围依次为:左上角[x01-a,y01],右上角[x01+a,y01],左下角[x01-a,y01+2*b],右下角[x01+a,y01+2*b],
按照步骤1)相同的搜索方式,计算定位模板与其覆盖下图像的卷积值,
t 3 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 3 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 3 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x01-a,x01-a+1,..,x01+a,j=y01,y01+1,..,y01+2*b,
t3[i,j]最大值对应的位置便为运单二值图像彩色色块编码第一色块左下角的位置,用[x03,y03]表示;
4)彩色色块编码第一色块右下角定位
得到彩色色块编码第一色块的左上角,右上角,左下角位置后,对应可得到彩色色块编码第一色块的右下角位置[x04,y04],其中x04=x02,y04=y03
5)彩色色块编码第二色块左上角定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第二色块左上角的搜索范围依次为:左上角[x01-a,y01],右上角[x01+a,y01],左下角[x01-a,y01+2*b],右下角[x01+a,y01+2*b];
按照步骤1)相同的搜索方式,计算左上角定位模板T1[m,n]与其覆盖下图像的卷积值t4[i,j]:
t 4 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 1 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 2 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x01-a,x01-a+1,..,x01+a,j=y01,y01+1,..,y01+2*b。
t4[i,j]最大值对应的位置便为运单二值图像彩色色块编码第二色块左上角的位置,用[x11,y11]表示;
可以得出第一色块的宽度w等于x02-x01,第一色块的高度h等于y03-y01,第一色块的下边界和第二色块的上边界的垂直距离d等于y11-y03
6)彩色色块编码剩余各色块定位
由于彩色色块编码每一色块的大小是相同的,并且彩色色块编码各色块间的位置是固定的,因此对应可以确定彩色色块编码剩余每一色块的精确位置;
彩色色块编码第二色块的右上角的位置为[x12,y12],其中x12=x11+w,y12=y11,彩色色块编码第二色块左下角的位置为[x13,y13],其中,x13=x11,y13=y11+h,彩色色块编码第二色块右下角的位置为[x14,y14],其中,x14=x12,y14=y13,彩色色块编码第三色块左上角的位置为[x21,y21],其中,x21=x13,y21=y13+d,彩色色块编码第三色块右上角的位置为[x22,y22],其中,x22=x21+w,y22=y21,彩色色块编码第三色块左下角的位置为[x23,y23],其中,x23=x21,y23=y21+h,彩色色块编码第三色块右下角的位置为[x24,y24],其中,x24=x22,y24=y23,彩色色块编码第四色块左上角的位置为[x31,y31],其中,x31=x23,y31=y23+d,彩色色块编码第四色块右上角的位置为[x32,y32],其中,x32=x31+w,y32=y31,彩色色块编码第四色块左下角的位置为[x33,y33],其中,x33=x31,y33=y31+h,彩色色块编码第四色块右下角的位置为[x34,y34],其中,x34=x32,y34=y33,彩色色块编码第五色块左上角的位置为[x41,y41],其中,x41=x33,y41=y33+d,彩色色块编码第五色块右上角的位置为[x42,y42],其中,x42=x41+w,y42=y41,彩色色块编码第五色块左下角的位置为[x43,y43],其中,x43=x41,y43=y41+h,彩色色块编码第五色块右下角的位置为[x44,y44],其中,x44=x42,y44=y43,彩色色块编码第六色块左上角的位置为[x51,y51],其中,x51=x43,y51=y43+d,彩色色块编码第六色块右上角的位置为[x52,y52],其中,x52=x51+w,y52=y51,彩色色块编码第六色块左下角的位置为[x53,y53],其中,x53=x51,y53=y51+h,彩色色块编码第六色块右下角的位置为[x54,y54],其中,x54=x52,y54=y53,彩色色块编码第七色块左上角的位置为[x61,y61],其中,x61=x53,y61=y53+d,彩色色块编码第七色块右上角的位置为[x62,y62],其中,x62=x61+w,y62=y61,彩色色块编码第七色块左下角的位置为[x63,y63],其中,x63=x61,y63=y61+h,彩色色块编码第七色块右下角的位置为[x64,y64],其中,x44=x42,y44=y43
(2)横向排列的彩色色块编码定位
横向排列的彩色色块编码各色块的左上角、右上角位置的纵坐标相同,各色块的左下角、右下角位置的纵坐标相同,各色块的左上角位置的横坐标之间的距离相同,各色块的右上角位置的横坐标的距离相同,各色块的左下角位置的横坐标的距离相同,各色块的右下角位置的横坐标的距离相同;
1)彩色色块编码左上角精确定位
彩色色块编码左上角的定位方法与纵向排列的彩色色块编码左上角定位的方法相同,这个位置同时也是彩色色块编码第一色块的左上角位置,用[x71,y71]表示;
2)彩色色块编码第一色块右上角精确定位
彩色色块编码第一色块的右上角定位方法与纵向排列的彩色色块编码第一色块右上角定位的方法相同,用[x72,y72]表示;
3)彩色色块编码第一色块左下角定位
黑彩色色块编码第一色块的左下角定位方法与纵向排列的彩色色块编码第一色块左下角定位的方法相同,用[x73,y73]表示;
4)彩色色块编码第一色块右下角定位
得到彩色色块编码第一色块的左上角,右上角,左下角位置后,对应可得到彩色色块编码第一色块的右下角位置[x74,y74],其中x64=x62,y64=y63
5)彩色色块编码第二色块左上角定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第二色块左上角的搜索范围依次为:左上角[x71,y71-b],右上角[x71+2*a,y71-b],左下角[x71,y71+b],右下角[x71+2*a,y71+b];
在搜索范围内,从左上角开始,按自左向右,自上向下的顺序依次平移定位模板,每移动一次定位模板窗口,使定位模板的中心与搜索范围内的相应点重合,计算定位模板与其覆盖下图像的卷积值;
左上角定位模板T1[m,n]与其覆盖下图像的卷积值t5[i,j]:
t 5 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 1 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 2 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x71,x71+1,..,x71+2a,j=y71-b,y71-b+1,..,y71+b
t5[i,j]最大值对应的位置便为运单二值图像彩色色块编码第二色块左上角的位置,用[x81,y81]表示;
可以得出第一色块的宽度w1等于x72-x71,第一色块的高度h1等于y73-y71,第一色块的右边界和第二色块的左边界的水平距离d1等于x81-x72
6)彩色色块编码剩余各色块定位
由于彩色色块编码每一色块的大小是相同的,并且彩色色块编码各色块间的位置是固定的,因此对应可以确定彩色色块编码剩余每一色块的精确位置;
彩色色块编码第二色块的右上角的位置为[x82,y82],其中x82=x81+w1,y82=y81,彩色色块编码第二色块左下角的位置为[x83,y83],其中,x83=x81,y83=y81+h1,彩色色块编码第二色块右下角的位置为[x84,y84],其中,x84=x82,y84=y83,彩色色块编码第三色块左上角的位置为[x91,y91],其中,x91=x82+d1,y91=y82,彩色色块编码第三色块右上角的位置为[x92,y92],其中,x92=x91+w1,y92=y91,彩色色块编码第三色块左下角的位置为[x93,y93],其中,x93=x91,y93=y91+h1,彩色色块编码第三色块右下角的位置为[x94,y94],其中,x94=x92,y94=y93,彩色色块编码第四色块左上角的位置为[x101,y101],其中,x101=x92+d1,y101=y92,彩色色块编码第四色块右上角的位置为[x102,y102],其中,x102=x101+w1,y102=y101,彩色色块编码第四色块左下角的位置为[x103,y103],其中,x103=x101,y103=y101+h1,彩色色块编码第四色块右下角的位置为[x104,y104],其中,x104=x102,y104=y103,彩色色块编码第五色块左上角的位置为[x111,y111],其中,x111=x102+d1,y111=y102,彩色色块编码第五色块右上角的位置为[x112,y112],其中,x112=x111+w1,y112=y111,彩色色块编码第五色块左下角的位置为[x113,y113],其中,x113=x111,y113=y111+h1,彩色色块编码第五色块右下角的位置为[x114,y114],其中,x114=x112,y114=y113,彩色色块编码第六色块左上角的位置为[x121,y121],其中,x121=x122+d1,y121=y122,彩色色块编码第六色块右上角的位置为[x122,y122],其中,x122=x121+w1,y122=y121,彩色色块编码第六色块左下角的位置为[x123,y123],其中,x123=x121,y123=y121+h1,彩色色块编码第六色块右下角的位置为[x124,y124],其中,x124=x122,y124=y123,彩色色块编码第七色块左上角的位置为[x131,y131],其中,x131=x122+d1,y131=y122,彩色色块编码第七色块右上角的位置为[x132,y132],其中,x132=x131+w1,y132=y131,彩色色块编码第七色块左下角的位置为[x133,y133],其中,x133=x131,y133=y131+h1,彩色色块编码第七色块右下角的位置为[x134,y134],其中,x134=x132,y134=y133
6.彩色色块编码解码
在得到编码中各色块的位置后,就可以进行彩色色块编码的解码了;
在得到彩色色块编码中每一色块的位置后通过对运单彩色图像中各彩色色块编码各像素点的RGB值进行分析:
当R[i,j]>200,G[i,j]<50且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为红色;
当R[i,j]>200,150<G[i,j]<200且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为橙色;
当R[i,j]>200,G[i,j]>200且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为黄色;
当R[i,j]<50,G[i,j]>200且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为绿色;
当R[i,j]<50,G[i,j]>200且B[i,j]>200时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为青色;
当R[i,j]<50,G[i,j]<50且B[i,j]>200时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为蓝色;
当100<R[i,j]<150,G[i,j]<50且100<B[i,j]<150时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为紫色;
当彩色色块中判断为红色的像素点数大于该色块总像素点数的一半时,该色块判定为红色色块,该色块用‘0’表示,表示为红色块,否则判断为橙色的像素点数大于该色块总像素点数的一半,是则为橙色色块,用“1”表示,判断为黄的像素点数大于该色块总像素点数的一半,是则为黄色色块,用“2”表示,判断为绿的像素点数大于该色块总像素点数的一半,是则为绿色色块,用“3”表示,判断为青的像素点数大于色方块总像素点数的一半,是则为青色色块,用“4”表示,判断为蓝的像素点数大于该色块总像素点数的一半,是则为蓝色色块,用“5”表示,判断为紫的像素点数大于该色块总像素点数的一半,是则为紫色色块,用“6”表示,直到确定各彩色色块的颜色后,将从上到下各或从左到右排列的各彩色色块的信息依次排列,便可得到该彩色色块编码信息;
四、运单信息生成单元
运单信息生成单元的主要功能是将运单图片的运单类型保存下来,这里的运单信息生成单元可以简单的看作一个常用的计算机,将运单图片的运单类型保存在计算机里,用于后续的识别。
本发明通过在现有运单图片中加入彩色色块编码信息,用于区分不同的运单类型,然后利用图像处理技术对运单图片进行色块解码,进而确定运单类型。本发明可以根据运单的特点选择相应数目的彩色色块,进行横向排列或纵向排列,更利于运单图片排版,本发明中的色块有统一的形状和大小,解码时对编码中图像识别码的准确定位更加方便,进而使得对运单图片进行解码和版面识别更加快捷。为信息录入提供了可靠的资料,可实现运单信息录入的自动化,能够满足信息采集的准确性与信息安全管控需求,提高了运单数据录入人员的信息录入效率。
附图说明:
图1所示是本发明的彩色色块编解码的系统结构图;
图2所示是本发明的彩色色块编码中的彩色色块;
图3所示是本发明的彩色色块编码中的横向排列组合;
图4所示是本发明的彩色色块编码中的纵向排列组合;
图5所示是本发明的彩色色块解码流程图
具体实施方式:
在本发明中,提到的色块是指由红橙黄绿青蓝紫色块经过排列组合后组成的,印刷在运单图片中用于区分运单类型的一整块区域。
在本发明中,所指的编码是指将某种运单类型用彩色色块排列组合表示印刷在运单上,所指的解码是指将运单图片印刷的色块组合进行识别,确定编码类型,进而确定属于哪种运单类型,是2个相反的过程。
本发明提供了一种运单信息录入系统彩色色块编码解码方法,该方法的系统结构框图如图1所示,包括设计版面单元,运单图片采集单元,运单图片色块解码单元以及运单信息生成单元。
一、设计版面单元
设计版面单元的主要功能是通过彩色色块编码,将版面和编码信息关联,设计票据版面后批量印刷。
本发明提供的方法中提到的彩色色块编码是通过评估采用几个彩色色块,评估横向还是纵向布局色块组合,将一定数量的彩色方块按照一定顺序进行排列组合,每种排列组合分别代表不同的含义,形成不同的彩色色块编码。根据需要区分的运单类型的数目和版面复杂程度选取不同的色块数目和色块排列方法,作为后续色块解码的依据。
本发明提供的运单信息录入系统中彩色色块编码的方法如下:
1.确定彩色色块数目
当需要识别的运单类型较少时,通过较少的彩色色块的排列组合编码就可以表示所有的运单类型,当需要识别的运单类型越来越多时,需要的彩色色块数目也较多,因此根据需要确定彩色色块的数目是彩色色块编码的关键。彩色色块编码组合如图2所示,其中红色色块表示‘0’,橙色色块表示‘1’,黄色色块表示‘2’,绿色色块表示‘3’,青色色块表示‘4’,蓝色色块表示‘5’,紫色色块表示‘6’。M种单色色块,N个色块排列组合共表示MN个编码。其编码方法是根据信息量大小选取颜色像素值差距明显的M个单色块进行排列组合,对应表示不同的编码内容,同时每一种编码组合对应着特定的应用属性。
2.确定彩色色块排列方式
在确定了彩色色块数目后,结合运单版面分布,确定最佳的彩色色块排列方式,使得彩色色块解码时干扰更少。彩色色块可以横向排列也可以纵向排列,彩色色块横向排列组合如图3所示,彩色色块纵向排列组合如图4所示,根本运单的版面特征,选择更能合理利用运单图片的空间,且不会对其他运单信息造成干扰的彩色色块排列方式。
3.编码信息和运单类型匹配
在确定了彩色色块数目和色块排列方式后,通过设定编码表,将编码信息和运单类型匹配,确定各种编码对应的运单类型,便于后续在解码后对应确定相应的运单类型。
在彩色色块编码后,根据运单版面特征,在运单图片的特定位置加入色块信息,批量印刷。以顺丰快递为例,对于大陆至港澳台,国内件运单,马来西亚运单,美国运单,香港运单和新加坡运单,通过将彩色纵向排列的色块编码打印在运单从最左边起水平0.64倍宽度,从最上边起垂直0.064倍高度开始的位置处,每个彩色色块编码子块的宽度和高度均为18个像素点,色块编码的各子块之间相距5个像素点。当运单图片的宽度为1754个像素点,高度为1240个像素点时,色块编码打印在水平第1122个,垂直第79个像素点开始的位置处。对于其他的运单图片,根据运单版面的特点,选择横向或纵向的色块组合。
在本发明实施例中,采用7个彩色色块纵向排列和7个彩色色块横向排列对彩色色块编解码进行说明。
在本发明中,色块是由很多小方块组成的,对于彩色色块编码,分别用彩色色块的第一色块,彩色色块的第二色块,彩色色块的第三色块,彩色色块的第四色块,彩色色块的第五色块,彩色色块的第六色块,彩色色块的第七色块来表示彩色色块的各个子块。
二、运单图片采集单元
运单图片采集单元的主要功能是通过通用的扫描仪,提前将各运单图片进行扫描并将扫描得到的各银行运单图像数据存储下来,以下该存储图像简称运单图像。
三、运单图片彩色色块编码解码单元
运单图片彩色色块编码解码单元的主要功能是对每种运单图像进行色块解码,确定每个运单图片的运单类型。
本发明提供的运单信息录入系统中彩色色块编码解码的流程如图5所示,具体包括如下步骤:
1、运单图像获取
读取真实运单图像,得到运单彩色图像,以后提到的运单彩色图像,均指运单图像的彩色图。
2、运单图像二值化
在运单扫描过程中,由于送纸传送带或滚筒的机械原因导致扫描的得到的运单彩色图像,经常会出现倾斜情况,所以需要对彩色图像进行二值化,得到相应的二值化图像。通过二值化图像能够比较容易的计算出运单图像的倾斜角度,完成对运单彩色图像和二值图像的倾斜校正,才能进行后续的彩色色块编码定位和彩色色块编码解码操作。
首先将运单彩色图像转换为灰度图像,以后提到的运单灰度图像,均指运单图像的灰度图。
运单图像二值化就是将运单灰度图像转化为黑白二值的运单二值图像,对于读入的运单灰度图像,I[i,j]表示水平位置为i,垂直位置为j像素点处运单图像的灰度值,[i,j]遍历运单灰度图像的所有像素点,i是变量,表示窗口图像中像素点的水平位置,取值为i=1,2,...,W0,j是变量,表示窗口图像中像素点的垂直位置,取值为j=1,2,...,H0,W0为运单灰度图像宽度,H0为运单灰度图像高度。
对于运单灰度图像的各个像素点,采用阈值分割法,将运单灰度图像中大于分割阈值的像素点置为0,小于分割阈值的像素点置为255,得到运单二值图像,D1[i,j]表示运单二值图像水平位置为i,垂直位置为j像素点处的值,具体计算方法为:
D 1 &lsqb; i , j &rsqb; = 255 , I &lsqb; i , j &rsqb; < th 1 0 , I &lsqb; i , j &rsqb; &GreaterEqual; th 1 , i = 1 , 2 , .. , W 0 , j = 1 , 2 , .. , H 0 - - - ( 1 )
其中,th1为分割阈值,th1的选取要使得运单灰度图像的字和表格信息凸现出来,而去除其他信息的干扰,在本发明实施例中,th1=60。
3、运单彩色图像和运单二值图像自动纠偏
自动纠偏功能可以将倾斜的图像自动矫正,使原件调整到整齐的位置。自动纠偏包括两个步骤:计算倾斜角度和倾斜校正。
(1)计算倾斜角度
计算运单二值图像的倾斜角度是在步骤2得到的运单二值图像的基础上进行的,对运单二值图像进行分析,选定运单二值图像左边处做分析,将该位置的二值图像提取出来称为边框二值图像,分别对边框二值图像做-8°到8°的顺时针旋转,旋转间隔为1°,每旋转一次,对该边框二值图像进行水平投影,计算极大投影值,共计算得到17个极大投影值,求这17个极大投影值中的最大值,得到最大值对应的旋转角度,该角度便为运单二值图像逆时针方向的倾斜角度。具体包括以下步骤:
a.将运单二值图像中特定区域的图像提取出来称为子区域二值图像
在本发明实施例,将运单二值图像中左边区域的图像提取出来作为子区域二值图像。R[i,j]表示子区域二值图像水水平位置为i,垂直位置为j像素点处的值,W1表示子区域二值图像的宽度,H1表示子区域二值图像的高度。运单子区域二值图像的提取方法为:
R[i,j]=D1[i,j],i=1,2,..,W1,j=1,2,..,H1(2)
其中, W 1 = 1 8 W , H 1 = H .
b.对子区域二值图像做旋转调整
将子区域二值图像R[i,j]做-8°到8°,间隔为1°的顺时针旋转,用W2k表示第k次旋转后子区域二值图像所占图像的宽度,用H2k表示第k次旋转后子区域二值图像所占图像的高度,计算方法为:
其中,α=|k-9|°表示旋转角度,为向下取整运算符,表示不大于W1×cosα+H1×sinα的最大整数。
用Rk[i,j]表示第k次旋转后,子区域二值图像水平位置为i,垂直位置为j像素点处的值,先做初始化,Rk[i,j]=0,i=1,2,...,W2k,j=1,2,...,H2k,取k=1时,子区域二值图像像素点R[i,j]顺时针旋转-8°,也即逆时针旋转8°,此时α=8°,得到旋转后的子区域二值图像R1[i,j],原子区域二值图像位置[i,j]对应的像素值R[i,j]在逆时针旋转α后子区域二值图像位置[i1,j1]对应的像素值R1[i,j]的计算公式为:
i 1 j 1 1 = c o s &alpha; s i n &alpha; 0 - s i n &alpha; c o s &alpha; W 1 &times; s i n &alpha; 0 0 1 i - 1 j - 1 1 + 1 1 0 - - - ( 4 - 1 )
其中,[i1,j1]为经过运算后向下取整操作得到的。
k依次加1,取k=2,3,...,8时,依次将子区域二值图像像素点R[i,j]逆时针旋转-7°到-1°,此时,α=|k-9|°,可分别得到R2[i,j],R3[i,j],...,R8[i,j],k=9时,旋转角度为0,此时,R9[i,j]=R[i,j],k=10,11,...,17时,依次将子区域二值图像像素点R[i,j]顺时针旋转1°到7°,此时,α=|k-9|°,原子区域二值图像各像素点的位置[i,j]对应的像素值R[i,j]在顺时针旋转α后子区域二值图像各像素点的位置[i1,j1]对应的像素值Rk[i,j]中的位置的计算公式为:
i 1 j 1 1 = c o s &alpha; - s i n &alpha; H 1 &times; c o s &alpha; s i n &alpha; cos &alpha; 0 0 0 1 i - 1 j - 1 1 + 1 1 0 - - - ( 4 - 2 )
其中,[i1,j1]为经过运算后向下取整操作得到的。
可分别得到R10[i,j],R11[i,j],...,R17[i,j],共得到17个子区域二值图像Rk[i,j]。
c.对旋转后的每个子区域二值图像按行进行垂直投影,并计算旋转后的每个子区域二值图像的极大投影值
用hk[j]表示第k次旋转后的每个子区域二值图像第j行的投影值。计算公式为:
h k &lsqb; j &rsqb; = &Sigma; i = 1 W 2 k R k &lsqb; i , j &rsqb; , k = 1 , 2 , .. , 17 , j = 1 , 2 , .. , H 2 k - - - ( 5 )
用m[k]表示第k个旋转图像的极大投影值,共得到17个极大投影值,依次为:m[1],m[2],...,m[17],计算公式为:
m &lsqb; k &rsqb; = m a x ( h k &lsqb; j &rsqb; ) j = 1 , 2 , .. , H 2 k , k = 1 , ... , 17 - - - ( 6 )
d.对上一步骤得到的17个极大投影值进行判断,计算最大投影值对应的角度值,进而计算倾斜角度
对得到的17个极大投影值m[k]进行判断,找出其中的最大值作为最大投影值,此时对应的旋转角度值为如果(K-9)<0,表明运单图像顺时针方向倾斜了|K-9|°,即倾斜角度为β=|K-9|°,如果(K-9)=0,表示运单图像没有倾斜,β=0,如果(K-9)>0,表明运单图像逆时针方向倾斜了|K-9|°,倾斜角度为β=-|K-9|°。
需要说明的是,本发明中计算倾斜角度,只针对倾斜角度<的。
(2).倾斜校正
根据上述得到的倾斜角度,对运单彩色图像和运单二值图像分别进行倾斜补偿,完成倾斜校正,用W3表示倾斜校正后运单彩色图像和运单二值图像的宽度,用H3表示倾斜校正后运单彩色图像和运单二值图像的高度,计算方法为:
当倾斜角度β>0时,对运单彩色图像和运单二值图像按照公式(4-1)做逆时针校正,其中α=β;当倾斜角度β<0时,对运单彩色图像和运单二值图像按照公式(4-2)做顺时针校正,其中α=|β|;当倾斜角度β=0时,对运单彩色图像和运单二值图像不做校正。
4.运单二值图像去噪
当扫描过程中由于纸张质量或者扫描镜头的灰尘原因,造成扫描出来的影像存在噪声点,大大影响彩色色块编码定位的质量,因此针对步骤3自动纠偏后的运单二值图像需要进行噪声点去除。
在本发明实施例中,采用常规的中值滤波算法对运单二值图像去除噪声,中值滤波算法是将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
5.彩色色块编码定位
在步骤4处理后,运单二值图像基本是比较理想的图像,在此二值图像上进行彩色色块编码定位。彩色色块编码定位对于彩色色块编码解码有很重要的作用,彩色色块编码定位的准确与否直接关系到彩色色块编码解码的结果,准确的定位到彩色色块编码的位置后,就能更准确的进行彩色色块编码解码。
在倾斜校正后的二值图像中,首先确定彩色色块编码第一色块左上角的搜索范围,然后与左上角定位模板进行加权计算,完成对彩色色块编码第一色块左上角的精确定位,然后确定彩色色块编码第一色块右上角的搜索范围,然后与右上角定位模板进行加权计算,完成对彩色色块编码第一色块右上角的精确定位,最后依次确定彩色色块编码第一色块的左下角和右下角,根据彩色色块编码编码各子块的大小相同,间距相同,依次确定彩色色块编码的剩余子块的位置。
定位模板是指用于定位各顶点,与各顶点进行卷积运算的矩阵。m表示定位模板的列值,n表示定位模板的行值,m=1,2,...,21,n=1,2,...,21,用T1[m,n]表示左上角定位模板第n行第m列的值,用公式表示如下:
用T2[m,n]表示右上角定位模板第n行第m列的值,用公式表示如下:
用T3[m,n]表示左下角定位模板第n行第m列的值,用公式表示如下:
(1)纵向排列的彩色色块编码定位
纵向排列的彩色色块编码各色块的左上角、左下角位置的横坐标相同,各色块的右上角、右下角位置的横坐标相同,各色块的左上角位置的纵坐标之间的距离相同,各色块的右上角位置的纵坐标的距离相同,各色块的左下角位置的纵坐标的距离相同,各色块的右下角位置的纵坐标的距离相同。
1)彩色色块编码第一色块左上角精确定位
由于彩色色块编码总是位于运单图像的某一区域内,运单图像中彩色色块编码左上角的大概位置为[x00,y00],这个位置同时也是彩色色块编码第一色块的左上角位置,对于左上角给予一定的宽裕,水平偏移量为a,垂直偏移量为b,则运单二值图像彩色色块编码第一色块左上角搜索范围依次为:左上角[x00-a,y00-b],右上角[x00+a,y00-b],左下角[x00-a,y00+b],右下角[x00+a,y00+b],在本发明实施例中,a=15,b=15。
在搜索范围内,从左上角开始,按自左向右,自上向下的顺序依次平移定位模板,每移动一次定位模板,使定位模板的中心与搜索范围内的相应点重合,计算定位模板与其覆盖下图像的卷积值。如上所述,定位模板的中心是指定位模板正中间的点,对于左上角定位模板来说,其中心为用T1[11,11]表示,右上角定位模板的中心为T2[11,11],左下角定位模板的中心为T3[11,11]。
运单二值图像搜索范围内各像素点与左上角定位模板的卷积值t1[i,j]的计算方法如下:
t 1 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 1 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 1 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb; - - - ( 11 )
其中,i=x00-a,x00-a+1,..,x00+a,j=y00-b,y00-b+1,..,y00+b。
在计算得到的运单二值图像搜索范围内各像素点的卷积值t1[i,j]中,其最大值对应的位置便为运单二值图像彩色色块编码第一色块的左上角位置,这个位置同时也是彩色色块编码左上角的位置,用[x01,y01]表示。
2)彩色色块编码第一色块右上角精确定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第一色块右上角的搜索范围依次为:左上角[x01,y01-b],右上角[x01+2*a,y01-b],左下角[x01,y01+b],右下角[x01+2*a,y01+b]。
按照步骤1)相同的搜索方式,计算定位模板与其覆盖下图像的卷积值,运单二值图像搜索范围内各像素点与右上角定位模板的卷积值t2[i,j]的计算方法如下:
t 2 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 2 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 2 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb; - - - ( 12 )
其中,i=x01,x01+1,..,x01+2*a,j=y01-b,y01-b+1,..,y01+b。
t2[i,j]最大值对应的位置便为运单二值图像彩色色块编码第一色块右上角的位置。这个位置同时也是彩色色块编码的右上角位置,用[x02,y02]表示。
3)彩色色块编码第一色块左下角定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第一色块左下角的搜索范围依次为:左上角[x01-a,y01],右上角[x01+a,y01],左下角[x01-a,y01+2*b],右下角[x01+a,y01+2*b]。
按照步骤1)相同的搜索方式,计算定位模板与其覆盖下图像的卷积值,运单二值图像搜索范围内各像素点与左下角角定位模板的卷积值t3[i,j]的计算方法如下
t 3 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 3 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 3 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb; - - - ( 13 )
其中,i=x01-a,x01-a+1,..,x01+a,j=y01,y01+1,..,y01+2*b。
t3[i,j]最大值对应的位置便为运单二值图像彩色色块编码第一色块左下角的位置,用[x03,y03]表示。
4)彩色色块编码第一色块右下角定位
得到彩色色块编码第一色块的左上角,右上角,左下角位置后,对应可得到彩色色块编码第一色块的右下角位置[x04,y04],其中x04=x02,y04=y03
5)彩色色块编码第二色块左上角定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第二色块左上角的搜索范围依次为:左上角[x01-a,y01],右上角[x01+a,y01],左下角[x01-a,y01+2*b],右下角[x01+a,y01+2*b]。
按照步骤1)相同的搜索方式,计算左上角定位模板T1[m,n]与其覆盖下图像的卷积值t4[i,j]:
t 4 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 1 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 2 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb; - - - ( 14 )
其中,i=x01-a,x01-a+1,..,x01+a,j=y01,y01+1,..,y01+2*b。
t4[i,j]最大值对应的位置便为运单二值图像彩色色块编码第二色块左上角的位置,用[x11,y11]表示。
可以得出第一色块的宽度w等于x02-x01,第一色块的高度h等于y03-y01,第一色块的下边界和第二色块的上边界的垂直距离d等于y11-y03
6)彩色色块编码剩余各色块定位
由于彩色色块编码每一色块的大小是相同的,并且彩色色块编码各色块间的位置是固定的,因此对应可以确定彩色色块编码剩余每一色块的精确位置。
彩色色块编码第二色块的右上角的位置为[x12,y12],其中x12=x11+w,y12=y11,彩色色块编码第二色块左下角的位置为[x13,y13],其中,x13=x11,y13=y11+h,彩色色块编码第二色块右下角的位置为[x14,y14],其中,x14=x12,y14=y13,彩色色块编码第三色块左上角的位置为[x21,y21],其中,x21=x13,y21=y13+d,彩色色块编码第三色块右上角的位置为[x22,y22],其中,x22=x21+w,y22=y21,彩色色块编码第三色块左下角的位置为[x23,y23],其中,x23=x21,y23=y21+h,彩色色块编码第三色块右下角的位置为[x24,y24],其中,x24=x22,y24=y23,彩色色块编码第四色块左上角的位置为[x31,y31],其中,x31=x23,y31=y23+d,彩色色块编码第四色块右上角的位置为[x32,y32],其中,x32=x31+w,y32=y31,彩色色块编码第四色块左下角的位置为[x33,y33],其中,x33=x31,y33=y31+h,彩色色块编码第四色块右下角的位置为[x34,y34],其中,x34=x32,y34=y33,彩色色块编码第五色块左上角的位置为[x41,y41],其中,x41=x33,y41=y33+d,彩色色块编码第五色块右上角的位置为[x42,y42],其中,x42=x41+w,y42=y41,彩色色块编码第五色块左下角的位置为[x43,y43],其中,x43=x41,y43=y41+h,彩色色块编码第五色块右下角的位置为[x44,y44],其中,x44=x42,y44=y43,彩色色块编码第六色块左上角的位置为[x51,y51],其中,x51=x43,y51=y43+d,彩色色块编码第六色块右上角的位置为[x52,y52],其中,x52=x51+w,y52=y51,彩色色块编码第六色块左下角的位置为[x53,y53],其中,x53=x51,y53=y51+h,彩色色块编码第六色块右下角的位置为[x54,y54],其中,x54=x52,y54=y53,彩色色块编码第七色块左上角的位置为[x61,y61],其中,x61=x53,y61=y53+d,彩色色块编码第七色块右上角的位置为[x62,y62],其中,x62=x61+w,y62=y61,彩色色块编码第七色块左下角的位置为[x63,y63],其中,x63=x61,y63=y61+h,彩色色块编码第七色块右下角的位置为[x64,y64],其中,x64=x62,y64=y63
(2)横向排列的彩色色块编码定位
横向排列的彩色色块编码各色块的左上角、右上角位置的纵坐标相同,各色块的左下角、右下角位置的纵坐标相同,各色块的左上角位置的横坐标之间的距离相同,各色块的右上角位置的横坐标的距离相同,各色块的左下角位置的横坐标的距离相同,各色块的右下角位置的横坐标的距离相同。
1)彩色色块编码左上角精确定位
彩色色块编码左上角的定位方法与纵向排列的彩色色块编码左上角定位的方法相同,这个位置同时也是彩色色块编码第一色块的左上角位置,用[x71,y71]表示。
2)彩色色块编码第一色块右上角精确定位
彩色色块编码第一色块的右上角定位方法与纵向排列的彩色色块编码第一色块右上角定位的方法相同,用[x72,y72]表示。
3)彩色色块编码第一色块左下角定位
彩色色块编码第一色块的左下角定位方法与纵向排列的彩色色块编码第一色块左下角定位的方法相同,用[x73,y73]表示。
4)彩色色块编码第一色块右下角定位
得到彩色色块编码第一色块的左上角,右上角,左下角位置后,对应可得到彩色色块编码第一色块的右下角位置[x64,y64],其中x64=x62,y64=y63
5)彩色色块编码第二色块左上角定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第二色块左上角的搜索范围依次为:左上角[x61,y61-b],右上角[x61+2*a,y61-b],左下角[x61,y61+b],右下角[x61+2*a,y61+b],在本发明实施例中,a=15,b=15。
在搜索范围内,从左上角开始,按自左向右,自上向下的顺序依次平移定位模板,每移动一次定位模板窗口,使定位模板的中心与搜索范围内的相应点重合,计算定位模板与其覆盖下图像的卷积值。
左上角定位模板T1[m,n]与其覆盖下图像的卷积值t5[i,j]:
t 5 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 1 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 2 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb; - - - ( 15 )
其中,i=x71,x71+1,..,x71+2a,j=y71-b,y71-b+1,..,y71+b。
t5[i,j]最大值对应的位置便为运单二值图像黑白色块第二色块左上角的位置,用[x71,y71]表示。
可以得出第一色块的宽度w1等于x72-x71,第一色块的高度h1等于y73-y71,第一色块的右边界和第二色块的左边界的水平距离d1等于x81-x72
6)彩色色块编码剩余各色块定位
由于彩色色块编码每一色块的大小是相同的,并且彩色色块编码各色块间的位置是固定的,因此对应可以确定彩色色块编码剩余每一色块的精确位置;
彩色色块编码第二色块的右上角的位置为[x82,y82],其中x82=x81+w1,y82=y81,彩色色块编码第二色块左下角的位置为[x83,y83],其中,x83=x81,y83=y81+h1,彩色色块编码第二色块右下角的位置为[x84,y84],其中,x84=x82,y84=y83,彩色色块编码第三色块左上角的位置为[x91,y91],其中,x91=x82+d1,y91=y82,彩色色块编码第三色块右上角的位置为[x92,y92],其中,x92=x91+w1,y92=y91,彩色色块编码第三色块左下角的位置为[x93,y93],其中,x93=x91,y93=y91+h1,彩色色块编码第三色块右下角的位置为[x94,y94],其中,x94=x92,y94=y93,彩色色块编码第四色块左上角的位置为[x101,y101],其中,x101=x92+d1,y101=y92,彩色色块编码第四色块右上角的位置为[x102,y102],其中,x102=x101+w1,y102=y101,彩色色块编码第四色块左下角的位置为[x103,y103],其中,x103=x101,y103=y101+h1,彩色色块编码第四色块右下角的位置为[x104,y104],其中,x104=x102,y104=y103,彩色色块编码第五色块左上角的位置为[x111,y111],其中,x111=x102+d1,y111=y102,彩色色块编码第五色块右上角的位置为[x112,y112],其中,x112=x111+w1,y112=y111,彩色色块编码第五色块左下角的位置为[x113,y113],其中,x113=x111,y113=y111+h1,彩色色块编码第五色块右下角的位置为[x114,y114],其中,x114=x112,y114=y113,彩色色块编码第六色块左上角的位置为[x121,y121],其中,x121=x122+d1,y121=y122,彩色色块编码第六色块右上角的位置为[x122,y122],其中,x122=x121+w1,y122=y121,彩色色块编码第六色块左下角的位置为[x123,y123],其中,x123=x121,y123=y121+h1,彩色色块编码第六色块右下角的位置为[x124,y124],其中,x124=x122,y124=y123,彩色色块编码第七色块左上角的位置为[x131,y131],其中,x131=x122+d1,y131=y122,彩色色块编码第七色块右上角的位置为[x132,y132],其中,x132=x131+w1,y132=y131,彩色色块编码第七色块左下角的位置为[x133,y133],其中,x133=x131,y133=y131+h1,彩色色块编码第七色块右下角的位置为[x134,y134],其中,x134=x132,y134=y133
6.彩色色块编码解码
在得到编码中各色块的位置后,就可以进行彩色色块编码的解码了;
在得到彩色色块编码中每一色块的位置后通过对运单彩色图像中各彩色色块编码各像素点的RGB值进行分析:
当R[i,j]>200,G[i,j]<50且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为红色;
当R[i,j]>200,150<G[i,j]<200且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为橙色;
当R[i,j]>200,G[i,j]>200且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为黄色;
当R[i,j]<50,G[i,j]>200且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为绿色;
当R[i,j]<50,G[i,j]>200且B[i,j]>200时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为青色;
当R[i,j]<50,G[i,j]<50且B[i,j]>200时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为蓝色;
当100<R[i,j]<150,G[i,j]<50且100<B[i,j]<150时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为紫色;
当彩色色块中判断为红色的像素点数大于该色块总像素点数的一半时,该色块判定为红色色块,该色块用‘0’表示,表示为红色块,否则判断为橙色的像素点数大于该色块总像素点数的一半,是则为橙色色块,用“1”表示,判断为黄的像素点数大于该色块总像素点数的一半,是则为黄色色块,用“2”表示,判断为绿的像素点数大于该色块总像素点数的一半,是则为绿色色块,用“3”表示,判断为青的像素点数大于该色块总像素点数的一半,是则为青色色块,用“4”表示,判断为蓝的像素点数大于该色块总像素点数的一半,是则为蓝色色块,用“5”表示,判断为紫的像素点数大于该色块总像素点数的一半,是则为紫色色块,用“6”表示,直到确定各彩色色块的颜色后,将从上到下各或从左到右排列的各彩色色块的信息依次排列,便可得到该彩色色块编码信息。在本发明实施例中,如果检测得到的结果为“6134245”,则对应表示的色块信息为“紫色、橙色、绿色、青色、黄色、青色、蓝色”。根据“6134245”对应的编码表确定该运单类型。
在确定了运单类型后,对应进行后续的版面切割和识别任务,运单数据的电子化有很大帮助。
四、运单信息生成单元
运单信息生成单元的主要功能是将运单图片的运单类型保存下来。这里的运单信息生成单元可以简单的看作一个常用的计算机,将运单图片的运单类型保存在计算机里,用于后续的识别。

Claims (1)

1.运单信息录入和彩色色块编码解码系统,其特征在于包括设计版面单元,运单图片采集单元,运单图片色块解码单元以及运单信息生成单元:
一、设计版面单元
通过彩色色块编码,将版面和彩色色块编码关联,设计票据版面后批量印刷成运单图片,运单图片上有彩色色块编码信息;
彩色色块编码是若干彩色色块,横向或纵向按照直线顺序和相同间距进行排列组合,每种排列组合为一种编码,通过设定编码表,将编码和运单类型匹配,确定各种编码对应的运单类型,便于后续在解码后对应确定相应的运单类型;
在彩色色块编码后,根据运单版面特征,在运单的特定位置加入色块信息,批量印刷;
二、运单图片采集单元
运单图片采集单元的主要功能是通过通用的扫描仪,将各运单图片进行扫描得到的各运单图像储存;
三、运单图片彩色色块编码解码单元
运单图片彩色色块编码解码单元的主要功能是对每种运单图像进行色块解码,确定每个运单图片的运单类型;
彩色色块编码解码包括如下步骤:
1、运单图像获取
读取真实运单图像,得到运单彩色图像,
2、运单图像二值化
首先将运单彩色图像转换为灰度图像,运单图像二值化就是将运单灰度图像转化为黑白二值的运单二值图像,对于读入的运单灰度图像,I[i,j]表示水平位置为i,垂直位置为j像素点处运单图像的灰度值,[i,j]遍历运单灰度图像的所有像素点,i是变量,表示运单灰度图像中像素点的水平位置,取值为i=1,2,...,W0,j是变量,表示运单灰度图像中像素点的垂直位置,取值为j=1,2,...,H0,W0为运单灰度图像宽度,H0为运单灰度图像高度;
对于运单灰度图像的各个像素点,采用阈值分割法,将运单灰度图像中大于分割阈值的像素点置为0,小于分割阈值的像素点置为255,得到运单二值图像,D1[i,j]表示运单二值图像水平位置为i,垂直位置为j像素点处的值,具体计算方法为:
D 1 &lsqb; i , j &rsqb; = 255 , I &lsqb; i , j &rsqb; < th 1 0 , I &lsqb; i , j &rsqb; &GreaterEqual; th 1 , i = 1 , 2 , .. , W 0 , j = 1 , 2 , .. , H 0
其中,th1为分割阈值,th1的选取要使得运单灰度图像的黑色字体和表格信息凸现出来,而去除其他信息的干扰;
3、运单彩色图像和运单二值图像自动纠偏
在运单扫描过程中,由于送纸传送带或滚筒的机械原因导致扫描的运单图像经常会出现倾斜情况,自动纠偏包括两个步骤:计算倾斜角度和倾斜校正;
(1)计算倾斜角度
计算运单二值图像的倾斜角度是在步骤2得到的运单二值图像的基础上进行的,对运单二值图像进行分析,选定运单二值图像左边处做分析,将该位置的二值图像提取出来称为边框二值图像,分别对边框二值图像做-8°到8°的顺时针旋转,旋转间隔为1°,每旋转一次,对该边框二值图像进行水平投影,计算极大投影值,共计算得到17个极大投影值,求这17个极大投影值中的最大值,得到最大值对应的旋转角度,该角度便为运单二值图像逆时针方向的倾斜角度,具体包括以下步骤:
a.将运单二值图像中特定区域的图像提取出来称为子区域二值图像R[i,j]表示子区域二值图像水平位置为i,垂直位置为j像素点处的值,W1表示子区域二值图像的宽度,H1表示子区域二值图像的高度,W为运单二值图像的宽度,H为运单二值图像的高度,运单子区域二值图像的提取方法为:
R[i,j]=D1[i,j],i=1,2,..,W1,j=1,2,..,H1
其中,H1=H;
b.对子区域二值图像做旋转调整
将子区域二值图像R[i,j]做-8°到8°,间隔为1°的顺时针旋转,用W2k表示第k次旋转后子区域二值图像所占图像的宽度,用H2k表示第k次旋转后子区域二值图像所占图像的高度,计算方法为:
其中,α=|k-9|°表示旋转角度,为向下取整运算符,表示不大于W1×cosα+H1×sinα的最大整数;
用Rk[i,j]表示第k次旋转后,子区域二值图像水平位置为i,垂直位置为j像素点处的值,先做初始化,Rk[i,j]=0,i=1,2,...,W2k,j=1,2,...,H2k,取k=1时,子区域二值图像像素点R[i,j]顺时针旋转-8°,也即逆时针旋转8°,此时α=8°,得到旋转后的子区域二值图像R1[i,j],原子区域二值图像位置[i,j]对应的像素值R[i,j]在逆时针旋转α后子区域二值图像位置[i1,j1]对应的像素值R1[i,j]的计算公式为:
i 1 j 1 1 = c o s &alpha; s i n &alpha; 0 - s i n &alpha; c o s &alpha; W 1 &times; s i n &alpha; 0 0 1 i - 1 j - 1 1 + 1 1 0
其中,[i1,j1]为经过运算后向下取整操作得到的;
k依次加1,取k=2,3,...,8时,依次将子区域二值图像像素点R[i,j]逆时针旋转-7°到-1°,此时,α=|k-9|°,可分别得到R2[i,j],R3[i,j],...,R8[i,j],k=9时,旋转角度为0,此时,R9[i,j]=R[i,j],k=10,11,...,17时,依次将子区域二值图像像素点R[i,j]顺时针旋转1°到7°,此时,α=|k-9|°,原子区域二值图像各像素点的位置[i,j]对应的像素值R[i,j]在顺时针旋转α后子区域二值图像各像素点的位置[i1,j1]对应的像素值Rk[i,j]中的位置的计算公式为:
i 1 j 1 1 = c o s &alpha; - s i n &alpha; H 1 &times; c o s &alpha; sin &alpha; cos &alpha; 0 0 0 1 i - 1 j - 1 1 + 1 1 0
其中,[i1,j1]为经过运算后向下取整操作得到的,可分别得到R10[i,j],R11[i,j],...,R17[i,j],共得到17个子区域二值图像Rk[i,j];
c.对旋转后的每个子区域二值图像按行进行垂直投影,计算每个旋转后的子区域二值图像的极大投影值m[k]:
m &lsqb; k &rsqb; = m a x ( h k &lsqb; j &rsqb; ) j = 1 , 2 , .. , H 2 k , k = 1 , ... , 17
其中,hk[j]表示旋转后的每个子区域二值图像的垂直投影值,j=1,2,..,H2k
d.计算倾斜角度:
对得到的17个极大投影值m[k]进行判断,找出其中的最大值作为最大投影值,此时对应的角度值为如果(K-9)<0,表明运单图像顺时针方向倾斜了|K-9|°,即倾斜角度为β=|K-9|°,如果(K-9)=0,表示运单图像没有倾斜,β=0,如果(K-9)>0,表明运单图像逆时针方向倾斜了|K-9|°,倾斜角度为β=-|K-9|°;
(2)倾斜校正
根据上述得到的倾斜角度,对运单彩色图像和运单二值图像分别进行倾斜补偿,完成倾斜校正,用W3表示倾斜校正后运单彩色图像和运单二值图像的宽度,用H3表示倾斜校正后运单彩色图像和运单二值图像的高度,计算方法为:
当倾斜角度β>0时,对运单彩色图像和运单二值图像逆时针β校正:
i 1 j 1 1 = c o s &beta; s i n &beta; 0 - s i n &beta; cos &beta; W 1 &times; s i n &beta; 0 0 1 i - 1 j - 1 1 + 1 1 0
其中,[i1,j1]为经过运算后向下取整操作得到的;
当倾斜角度β<0时,对运单彩色图像和运单二值图像做顺时针|β|校正:
i 1 j 1 1 = c o s | &beta; | - s i n | &beta; | H 1 &times; c o s | &beta; | s i n | &beta; | cos | &beta; | 0 0 0 1 i - 1 j - 1 1 + 1 1 0
其中,[i1,j1]为经过运算后向下取整操作得到的;
当倾斜角度β=0时,对运单彩色图像和运单二值图像不做校正;
4.运单二值图像去噪
当扫描过程中由于纸张质量或者扫描镜头的灰尘原因,造成扫描出来的影像存在噪声点,影响彩色色块编码定位的质量,因此针对步骤3自动纠偏后的运单二值图像需要进行噪声点去除;
5.色块定位
在步骤4处理后,由于运单二值图像,相对运单彩色图像更加容易进行彩色色块编码的定位,所以,在运单二值图像上进行彩色色块编码定位在倾斜校正后的运单二值图像中,首先确定各需要定位的彩色色块编码顶点的搜索范围,然后与相应的定位模板进行加权计算,完成对各色块顶点的精确定位,进而确定各色块的位置;所谓定位模板是指用于定位各顶点,与各顶点进行卷积运算的矩阵,m表示定位模板的列值,n表示定位模板的行值,m=1,2,...,21,n=1,2,...,21,用T1[m,n]表示左上角定位模板第n行第m列的值,用公式表示如下:
用T2[m,n]表示右上角定位模板第n行第m列的值,用公式表示如下:
用T3[m,n]表示左下角定位模板第n行第m列的值,用公式表示如下:
运单二值图像中编码中各色块可以是横向排列或纵向排列;
(1)纵向排列的彩色色块编码定位
在本发明中,编码是由至少两种色块组成的,每个色块为形状和大小相同的方块,对于由七种色块组成的纵向排列的彩色色块编码定位,步骤如下:
1)彩色色块编码第一色块左上角精确定位
由于彩色色块编码总是位于运单图像的某一区域内,运单图像中彩色色块编码左上角的位置为[x00,y00],这个位置同时也是彩色色块编码第一色块的左上角位置,对于左上角给予宽裕,水平偏移量为a,垂直偏移量为b,则运单二值图像彩色色块编码第一色块左上角搜索范围依次为:左上角[x00-a,y00-b],右上角[x00+a,y00-b],左下角[x00-a,y00+b],右下角[x00+a,y00+b];
在搜索范围内,从左上角开始,按自左向右,自上向下的顺序依次平移定位模板,每移动一次定位模板窗口,使定位模板的中心与搜索范围内的相应点重合,计算定位模板与其覆盖下图像的卷积值;
如上所述,定位模板的中心是指定位模板正中间的点,对于左上角定位模板来说,其中心为用T1[11,11]表示,右上角定位模板的中心为T2[11,11],左下角定位模板的中心为T3[11,11];
运单二值图像搜索范围内各像素点与左上角定位模板的卷积值t1[i,j]的计算方法如下:
t 1 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 1 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 1 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x00-a,x00-a+1,..,x00+a,j=y00-b,y00-b+1,..,y00+b;
在计算得到的运单二值图像搜索范围内各像素点的卷积值t1[i,j]中,其最大值对应的位置便为运单二值图像彩色色块编码第一色块左上角的位置,这个位置同时也是彩色色块编码的左上角位置,用[x01,y01]表示;
2)彩色色块编码第一色块右上角精确定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第一色块右上角的搜索范围依次为:左上角[x01,y01-b],右上角[x01+2*a,y01-b],左下角[x01,y01+b],右下角[x01+2*a,y01+b];
按照步骤1)相同的搜索方式,计算定位模板与其覆盖下图像的卷积值,运单二值图像搜索范围内各像素点与右上角定位模板的卷积值t2[i,j]的计算方法如下
t 2 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 2 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 2 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x01,x01+1,..,x01+2*a,j=y01-b,y01-b+1,..,y01+b
t2[i,j]最大值对应的位置便为运单二值图像彩色色块编码第一色块右上角的位置,这个位置同时也是彩色色块编码的右上角位置,用[x02,y02]表示;
3)彩色色块编码第一色块左下角定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第一色块左下角的搜索范围依次为:左上角[x01-a,y01],右上角[x01+a,y01],左下角[x01-a,y01+2*b],右下角[x01+a,y01+2*b],
按照步骤1)相同的搜索方式,计算定位模板与其覆盖下图像的卷积值,
t 3 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 3 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 3 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x01-a,x01-a+1,..,x01+a,j=y01,y01+1,..,y01+2*b,t3[i,j]最大值对应的位置便为运单二值图像彩色色块编码第一色块左下角的位置,用[x03,y03]表示;
4)彩色色块编码第一色块右下角定位
得到彩色色块编码第一色块的左上角,右上角,左下角位置后,对应可得到彩色色块编码第一色块的右下角位置[x04,y04],其中x04=x02,y04=y03
5)彩色色块编码第二色块左上角定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第二色块左上角的搜索范围依次为:左上角[x01-a,y01],右上角[x01+a,y01],左下角[x01-a,y01+2*b],右下角[x01+a,y01+2*b];
按照步骤1)相同的搜索方式,计算左上角定位模板T1[m,n]与其覆盖下图像的卷积值t4[i,j]:
t 4 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 1 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 2 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x01-a,x01-a+1,..,x01+a,j=y01,y01+1,..,y01+2*b,t4[i,j]最大值对应的位置便为运单二值图像彩色色块编码第二色块左上角的位置,用[x11,y11]表示;
可以得出第一色块的宽度w等于x02-x01,第一色块的高度h等于y03-y01,第一色块的下边界和第二色块的上边界的垂直距离d等于y11-y03
6)彩色色块编码剩余各色块定位
由于彩色色块编码每一色块的大小是相同的,并且彩色色块编码各色块间的位置是固定的,因此对应可以确定彩色色块编码剩余每一色块的精确位置;
彩色色块编码第二色块的右上角的位置为[x12,y12],其中x12=x11+w,y12=y11,彩色色块编码第二色块左下角的位置为[x13,y13],其中,x13=x11,y13=y11+h,彩色色块编码第二色块右下角的位置为[x14,y14],其中,x14=x12,y14=y13,彩色色块编码第三色块左上角的位置为[x21,y21],其中,x21=x13,y21=y13+d,彩色色块编码第三色块右上角的位置为[x22,y22],其中,x22=x21+w,y22=y21,彩色色块编码第三色块左下角的位置为[x23,y23],其中,x23=x21,y23=y21+h,彩色色块编码第三色块右下角的位置为[x24,y24],其中,x24=x22,y24=y23,彩色色块编码第四色块左上角的位置为[x31,y31],其中,x31=x23,y31=y23+d,彩色色块编码第四色块右上角的位置为[x32,y32],其中,x32=x31+w,y32=y31,彩色色块编码第四色块左下角的位置为[x33,y33],其中,x33=x31,y33=y31+h,彩色色块编码第四色块右下角的位置为[x34,y34],其中,x34=x32,y34=y33,彩色色块编码第五色块左上角的位置为[x41,y41],其中,x41=x33,y41=y33+d,彩色色块编码第五色块右上角的位置为[x42,y42],其中,x42=x41+w,y42=y41,彩色色块编码第五色块左下角的位置为[x43,y43],其中,x43=x41,y43=y41+h,彩色色块编码第五色块右下角的位置为[x44,y44],其中,x44=x42,y44=y43,彩色色块编码第六色块左上角的位置为[x51,y51],其中,x51=x43,y51=y43+d,彩色色块编码第六色块右上角的位置为[x52,y52],其中,x52=x51+w,y52=y51,彩色色块编码第六色块左下角的位置为[x53,y53],其中,x53=x51,y53=y51+h,彩色色块编码第六色块右下角的位置为[x54,y54],其中,x54=x52,y54=y53,彩色色块编码第七色块左上角的位置为[x61,y61],其中,x61=x53,y61=y53+d,彩色色块编码第七色块右上角的位置为[x62,y62],其中,x62=x61+w,y62=y61,彩色色块编码第七色块左下角的位置为[x63,y63],其中,x63=x61,y63=y61+h,彩色色块编码第七色块右下角的位置为[x64,y64],其中,x44=x42,y44=y43
(2)横向排列的彩色色块编码定位
横向排列的彩色色块编码各色块的左上角、右上角位置的纵坐标相同,各色块的左下角、右下角位置的纵坐标相同,各色块的左上角位置的横坐标之间的距离相同,各色块的右上角位置的横坐标的距离相同,各色块的左下角位置的横坐标的距离相同,各色块的右下角位置的横坐标的距离相同;
1)彩色色块编码左上角精确定位
彩色色块编码左上角的定位方法与纵向排列的彩色色块编码左上角定位的方法相同,这个位置同时也是彩色色块编码第一色块的左上角位置,用[x71,y71]表示;
2)彩色色块编码第一色块右上角精确定位
彩色色块编码第一色块的右上角定位方法与纵向排列的彩色色块编码第一色块右上角定位的方法相同,用[x72,y72]表示;
3)彩色色块编码第一色块左下角定位
黑彩色色块编码第一色块的左下角定位方法与纵向排列的彩色色块编码第一色块左下角定位的方法相同,用[x73,y73]表示;
4)彩色色块编码第一色块右下角定位
得到彩色色块编码第一色块的左上角,右上角,左下角位置后,对应可得到彩色色块编码第一色块的右下角位置[x74,y74],其中x64=x62,y64=y63
5)彩色色块编码第二色块左上角定位
以彩色色块编码第一色块左上角为基础,确定彩色色块编码第二色块左上角的搜索范围依次为:左上角[x71,y71-b],右上角[x71+2*a,y71-b],左下角[x71,y71+b],右下角[x71+2*a,y71+b];
在搜索范围内,从左上角开始,按自左向右,自上向下的顺序依次平移定位模板,每移动一次定位模板窗口,使定位模板的中心与搜索范围内的相应点重合,计算定位模板与其覆盖下图像的卷积值;
左上角定位模板T1[m,n]与其覆盖下图像的卷积值t5[i,j]:
t 5 &lsqb; i , j &rsqb; = &Sigma; n = 1 21 T 1 &lsqb; 11 , n &rsqb; &CenterDot; D 1 &lsqb; i , n + j - 11 &rsqb; + &Sigma; m = 1 21 T 2 &lsqb; m , 11 &rsqb; &CenterDot; D 1 &lsqb; m + i - 11 , j &rsqb; - D 1 &lsqb; i , j &rsqb;
其中,i=x71,x71+1,..,x71+2a,j=y71-b,y71-b+1,..,y71+b;
t5[i,j]最大值对应的位置便为运单二值图像彩色色块编码第二色块左上角的位置,用[x81,y81]表示;
可以得出第一色块的宽度w1等于x72-x71,第一色块的高度h1等于y73-y71
其一色块的右边界和第二色块的左边界的水平距离d1等于x81-x72
6)彩色色块编码剩余各色块定位
由于彩色色块编码每一色块的大小是相同的,并且彩色色块编码各色块间的位置是固定的,因此对应可以确定彩色色块编码剩余每一色块的精确位置;
彩色色块编码第二色块的右上角的位置为[x82,y82],其中x82=x81+w1,y82=y81,彩色色块编码第二色块左下角的位置为[x83,y83],其中,x83=x81,y83=y81+h1,彩色色块编码第二色块右下角的位置为[x84,y84],其中,x84=x82,y84=y83,彩色色块编码第三色块左上角的位置为[x91,y91],其中,x91=x82+d1,y91=y82,彩色色块编码第三色块右上角的位置为[x92,y92],其中,x92=x91+w1,y92=y91,彩色色块编码第三色块左下角的位置为[x93,y93],其中,x93=x91,y93=y91+h1,彩色色块编码第三色块右下角的位置为[x94,y94],其中,x94=x92,y94=y93,彩色色块编码第四色块左上角的位置为[x101,y101],其中,x101=x92+d1,y101=y92,彩色色块编码第四色块右上角的位置为[x102,y102],其中,x102=x101+w1,y102=y101,彩色色块编码第四色块左下角的位置为[x103,y103],其中,x103=x101,y103=y101+h1,彩色色块编码第四色块右下角的位置为[x104,y104],其中,x104=x102,y104=y103,彩色色块编码第五色块左上角的位置为[x111,y111],其中,x111=x102+d1,y111=y102,彩色色块编码第五色块右上角的位置为[x112,y112],其中,x112=x111+w1,y112=y111,彩色色块编码第五色块左下角的位置为[x113,y113],其中,x113=x111,y113=y111+h1,彩色色块编码第五色块右下角的位置为[x114,y114],其中,x114=x112,y114=y113,彩色色块编码第六色块左上角的位置为[x121,y121],其中,x121=x122+d1,y121=y122,彩色色块编码第六色块右上角的位置为[x122,y122],其中,x122=x121+w1,y122=y121,彩色色块编码第六色块左下角的位置为[x123,y123],其中,x123=x121,y123=y121+h1,彩色色块编码第六色块右下角的位置为[x124,y124],其中,x124=x122,y124=y123,彩色色块编码第七色块左上角的位置为[x131,y131],其中,x131=x122+d1,y131=y122,彩色色块编码第七色块右上角的位置为[x132,y132],其中,x132=x131+w1,y132=y131,彩色色块编码第七色块左下角的位置为[x133,y133],其中,x133=x131,y133=y131+h1,彩色色块编码第七色块右下角的位置为[x134,y134],其中,x134=x132,y134=y133
6.彩色色块编码解码
在得到编码中各色块的位置后,就可以进行彩色色块编码的解码了;
在得到彩色色块编码中每一色块的位置后通过对运单彩色图像中各彩色色块编码各像素点的RGB值进行分析:
当R[i,j]>200,G[i,j]<50且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为红色;
当R[i,j]>200,150<G[i,j]<200且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为橙色;
当R[i,j]>200,G[i,j]>200且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为黄色;
当R[i,j]<50,G[i,j]>200且B[i,j]<50时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为绿色;
当R[i,j]<50,G[i,j]>200且B[i,j]>200时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为青色;
当R[i,j]<50,G[i,j]<50且B[i,j]>200时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为蓝色;
当100<R[i,j]<150,G[i,j]<50且100<B[i,j]<150时,表示运单彩色图像水平位置为i,垂直位置为j的像素点处为紫色;
当彩色色块中判断为红色的像素点数大于该色块总像素点数的一半时,该色块判定为红色色块,该色块用‘0’表示,表示为红色块,否则判断为橙色的像素点数大于该色块总像素点数的一半,是则为橙色色块,用“1”表示,判断为黄的像素点数大于该色块总像素点数的一半,是则为黄色色块,用“2”表示,判断为绿的像素点数大于该色块总像素点数的一半,是则为绿色色块,用“3”表示,判断为青的像素点数大于该色块总像素点数的一半,是则为青色色块,用“4”表示,判断为蓝的像素点数大于该色块总像素点数的一半,是则为蓝色色块,用“5”表示,判断为紫的像素点数大于该色块总像素点数的一半,是则为紫色色块,用“6”表示,直到确定各彩色色块的颜色后,将从上到下各或从左到右排列的各彩色色块的信息依次排列,便可得到该彩色色块编码信息;
四、运单信息生成单元
运单信息生成单元的主要功能是将运单图片的运单类型保存下来,这里的运单信息生成单元可以简单的看作一个常用的计算机,将运单图片的运单类型保存在计算机里,用于后续的识别。
CN201310364160.XA 2013-08-20 2013-08-20 运单信息录入和彩色色块编码解码系统 Active CN103488965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310364160.XA CN103488965B (zh) 2013-08-20 2013-08-20 运单信息录入和彩色色块编码解码系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310364160.XA CN103488965B (zh) 2013-08-20 2013-08-20 运单信息录入和彩色色块编码解码系统

Publications (2)

Publication Number Publication Date
CN103488965A CN103488965A (zh) 2014-01-01
CN103488965B true CN103488965B (zh) 2016-06-15

Family

ID=49829175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310364160.XA Active CN103488965B (zh) 2013-08-20 2013-08-20 运单信息录入和彩色色块编码解码系统

Country Status (1)

Country Link
CN (1) CN103488965B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103824373B (zh) * 2014-01-27 2016-06-08 深圳辰通智能股份有限公司 一种票据图像金额分类方法及系统
CN107180413B (zh) * 2017-05-05 2019-03-15 平安科技(深圳)有限公司 车损图片角度纠正方法、电子装置及可读存储介质
CN107679442A (zh) * 2017-06-23 2018-02-09 平安科技(深圳)有限公司 单证信息录入的方法、装置、计算机设备及存储介质
CN108875737B (zh) * 2018-06-11 2022-06-21 四川骏逸富顿科技有限公司 一种纸质处方单据中检测复选框是否勾选的方法及系统
CN108830968B (zh) * 2018-06-22 2020-11-10 南华大学 径赛自动计时系统及计时方法
CN109117814B (zh) * 2018-08-27 2020-11-03 京东数字科技控股有限公司 图像处理方法、装置、电子设备及介质
CN113537911B (zh) * 2020-04-16 2024-06-18 北京京东振世信息技术有限公司 一种包裹面单生成方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0779351A (ja) * 1993-09-08 1995-03-20 Fuji Xerox Co Ltd 画像符号化復号装置
CN101794435A (zh) * 2010-03-04 2010-08-04 成都三泰电子实业股份有限公司 基于积分图的二值图像降噪方法以及二值图像处理系统
CN102789658A (zh) * 2012-03-02 2012-11-21 成都三泰电子实业股份有限公司 紫外防伪支票真伪验证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4529828B2 (ja) * 2005-07-19 2010-08-25 富士ゼロックス株式会社 文書改ざん防止装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0779351A (ja) * 1993-09-08 1995-03-20 Fuji Xerox Co Ltd 画像符号化復号装置
CN101794435A (zh) * 2010-03-04 2010-08-04 成都三泰电子实业股份有限公司 基于积分图的二值图像降噪方法以及二值图像处理系统
CN102789658A (zh) * 2012-03-02 2012-11-21 成都三泰电子实业股份有限公司 紫外防伪支票真伪验证方法

Also Published As

Publication number Publication date
CN103488965A (zh) 2014-01-01

Similar Documents

Publication Publication Date Title
CN103488965B (zh) 运单信息录入和彩色色块编码解码系统
CN106156761B (zh) 面向移动终端拍摄的图像表格检测与识别方法
CN102184378B (zh) 一种pdf417标准二维条码图像切割的办法
US10311322B2 (en) Character information recognition method based on image processing
RU2678485C1 (ru) Способ сегментации и распознавания символов
CN104112128B (zh) 应用于票据影像字符识别的数字图像处理系统及方法
EP2849115B1 (en) Method for decoding matrix-type two-dimensional code
CN105654072A (zh) 一种低分辨率医疗票据图像的文字自动提取和识别系统与方法
CN100377167C (zh) 一种用于二维码识别的二维码区域精确定位方法
US7106904B2 (en) Form identification method
CN103177279A (zh) 用于高容量数据编解码的四维彩色条形码
US9430726B2 (en) High capacity 2D color barcode and method for decoding the same
US10528781B2 (en) Detection method and system for characteristic patterns of Han Xin codes
US8864033B2 (en) Robust decoding of color barcode printed with extremely small data cells
CN103473518B (zh) 运单信息录入和黑白色块编码解码系统
CN102855232A (zh) 一种表格分析编改加工方法
CN110659634A (zh) 一种基于颜色定位和字符分割的集装箱箱号定位方法
US7564587B2 (en) Method of scoring a printed form having targets to be marked
CN102663380A (zh) 一种钢铁板坯编码图像中的字符识别方法
JP2013084071A (ja) 帳票認識方法および帳票認識装置
CN109978110A (zh) 一种用于agv定位与导航的二维码及解码方法
CN112241730A (zh) 一种基于机器学习的表格提取方法和系统
CN105095937A (zh) 一种基于直线聚类的圆形阵列图形码的视觉识别方法
CN109190434A (zh) 一种基于亚像素级角点检测的条码识别算法
US8249364B2 (en) Method for resolving contradicting output data from an optical character recognition (OCR) system, wherein the output data comprises more than one recognition alternative for an image of a character

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: CHENGDU WOLAILA GRID INFORMATION TECHNOLOGY CO., L

Free format text: FORMER OWNER: CHENGDU SANTAI ELECTRONIC INDUSTRY CO., LTD.

Effective date: 20150522

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150522

Address after: High tech Zone Renhe street Chengdu city Sichuan province 610091 No. 39 1 1 storey building No. 1

Applicant after: Chengdu Wolaila Network Information Technology Co., Ltd.

Address before: 610091 No. 42 Shu West Road, Chengdu, Sichuan, Jinniu District

Applicant before: Chengdu Santai Electronic Industry Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: High tech Zone Renhe street Chengdu city Sichuan province 610091 No. 39 1 1 storey building No. 1

Patentee after: CHENGDU WOLAILA GRID INFORMATION TECHNOLOGY CO., LTD.

Address before: High tech Zone Renhe street Chengdu city Sichuan province 610091 No. 39 1 1 storey building No. 1

Patentee before: Chengdu Wolaila Network Information Technology Co., Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 610000 No. 1, 1st floor, No. 39 Renhe Street, Chengdu High-tech Zone, Sichuan Province

Patentee after: CHINA POST TECHNOLOGY Co.,Ltd.

Address before: 610091 No. 1, 1st floor, No. 39 Renhe Street, Chengdu High-tech Zone, Sichuan Province

Patentee before: CHENGDU WOLAILA GRID INFORMATION TECHNOLOGY CO., LTD.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 610000 No. 1, 1st floor, No. 39 Renhe Street, Chengdu High-tech Zone, Sichuan Province

Patentee after: Zhidi Technology Co.,Ltd.

Address before: 610000 No. 1, 1st floor, No. 39 Renhe Street, Chengdu High-tech Zone, Sichuan Province

Patentee before: CHINA POST TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 610000 No. 1, 1st floor, No. 39 Renhe Street, Chengdu High-tech Zone, Sichuan Province

Patentee after: Fengchao Interactive Media Co.,Ltd.

Address before: 610000 No. 1, 1st floor, No. 39 Renhe Street, Chengdu High-tech Zone, Sichuan Province

Patentee before: Zhidi Technology Co.,Ltd.