发明名称 基于压缩域的车牌定位方法
摘要 本发明公开了一种车牌定位方法,通过部分解压提取被检测图像压缩域DCT变换系数矩阵参数构建纹理垂直频率矩阵和纹理水平频率矩阵,通过阈值法将纹理垂直频率矩阵转换成车牌二值模板矩阵,再通过形态学计算,纹理垂直、水平频率矩阵的频率密度值判断法以及波峰波谷阈值法对车牌二值模板矩阵进行校正,进而确认其对应的被检测图像上的车牌区域;本发明简化了DCT变换矩阵的特征量,提高了运算速度;通过构建车牌二值模板矩阵来判断车牌区域,简化了车牌检测判断方法的复杂度;利用形态学计算实现了多车牌区域的检测,通过纹理垂直、水平频率矩阵的频率密度值判断法以及波峰波谷阈值法引入车牌二值模板校正机制,提高了检测精度。
申请公布号 CN101976340B 申请公布日期 2013.04.24
申请号 CN201010504875.7 申请日期 2010.10.13
申请人 重庆大学 发明人 张太平;尚赵伟;袁博;唐远炎;葛垚;胡胜雄
分类号 G06K9/54(2006.01)I;G06T7/00(2006.01)I;G08G1/017(2006.01)I 主分类号 G06K9/54(2006.01)I
代理机构 北京同恒源知识产权代理有限公司 11275 代理人 杨明
主权项 1.基于压缩域的车牌定位方法,其特征在于:包括以下步骤:1)将被检测JPEG格式图像经哈夫曼编码解码、DCT逆量化获得一组DCT变换系数矩阵;具体包括以下步骤:11)对被检测JPEG格式图像的压缩数据进行哈夫曼编码解码,得到游程编码码流;12)对游程编码码流进行DCT逆量化,得到一组大小为w×w的DCT变换系数矩阵,其中w为正整数,每一DCT变换系数矩阵对应于被检测图像中大小为w×w的一个分割块,该系数矩阵的元素满足:C<sub>h,k</sub>(i,j);其中,i=1,...,n;j=1,...,m;n对应于被检测JPEG格式的图像进行DCT变换时纵向分割的块数,m对应于被检测JPEG格式的图像进行DCT变换时横向分割的块数;n×m为DCT变换系数矩阵的个数;(i,j)表示该组DCT变换系数矩阵中的第i行与第j列标识的一个DCT变换系数矩阵,h,k分别表示第(i,j)个DCT变换系数矩阵中的第h行,k列的元素;2)选取各DCT变换系数矩阵中的横向、纵向和对角线方向上的参数,构建被检测图像的纹理垂直频率矩阵和纹理水平频率矩阵;具体包括以下步骤:21)对各个DCT变换系数矩阵进行横向参数和对角线参数提取,求得图像的纹理垂直频率矩阵D<sub>C</sub>,该矩阵元素满足:<maths num="0001"><![CDATA[<math><mrow><msub><mi>D</mi><mi>C</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>v</mi><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub></mrow><msubsup><mi>w</mi><mn>1</mn><mo>&prime;</mo></msubsup></munderover><mo>|</mo><msub><mi>C</mi><mrow><mn>0</mn><mi>v</mi></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><msub><mi>C</mi><mn>11</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><msub><mi>C</mi><mn>22</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>;</mo></mrow></math>]]></maths>其中,w<sub>1</sub>,w′<sub>1</sub>∈[0,w-1]且w<sub>1</sub><w′<sub>1</sub>;22)对各个DCT变换系数矩阵进行纵向参数和对角参数提取,求得图像的纹理水平频率矩阵DC′,该矩阵元素满足:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>D</mi><mi>C</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>u</mi><mo>=</mo><msub><mi>w</mi><mn>2</mn></msub></mrow><msubsup><mi>w</mi><mn>2</mn><mo>&prime;</mo></msubsup></munderover><mo>|</mo><msub><mi>C</mi><mrow><mi>u</mi><mn>0</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><msub><mi>C</mi><mn>11</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><msub><mi>C</mi><mn>22</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>;</mo></mrow></math>]]></maths>其中,w<sub>2</sub>,w′<sub>2</sub>∈[0,w-1]且w<sub>2</sub><w′<sub>2</sub>;3)对纹理垂直频率矩阵D<sub>C</sub>进行平滑处理获得相同大小平滑后的纹理垂直频率矩阵FD<sub>C</sub>;4)对平滑后的纹理垂直频率矩阵利用平均值阈值法构建车牌二值模板矩阵,取值为1的矩阵元素聚集区为车牌候选区,具体包括以下步骤:41)求取平滑后的纹理垂直频率矩阵FD<sub>C</sub>的平均值:<maths num="0003"><![CDATA[<math><mrow><mi>mean</mi><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>FD</mi><mi>c</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><mi>n</mi><mo>&times;</mo><mi>m</mi></mrow></mfrac><mo>;</mo></mrow></math>]]></maths>42)求取车牌二值模板矩阵MD<sub>C</sub>,其元素满足:<maths num="0004"><![CDATA[<math><mrow><msub><mi>MD</mi><mi>C</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><mi>if</mi><msub><mi>FD</mi><mi>C</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>></mo><mi>thr</mi><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths>其中:thr1=3*mean,将MD<sub>C</sub>中连续取值为1的元素聚集区划分为车牌候选区;步骤4)之后,还包括如下步骤:5)对各车牌候选区利用形态学算子去噪,对去噪后的各车牌候选区进行水平校正,具体包括以下步骤:51)运用一个2×2方形算子对步骤4)确认的车牌候选区进行开运算;运用2×4矩形算子对开运算后的车牌候选区进行闭运算;采用一个长为4的线性算子对闭运算后的车牌候选区再次进行开运算;52)求取平滑后的纹理垂直频率矩阵映射于步骤51)确认的各车牌候选区的水平投影频率密度为:<maths num="0005"><![CDATA[<math><mrow><msup><mi>Horpor</mi><mi>t</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mi>l</mi></munder><msub><mi>FD</mi><mi>C</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow></mrow><mrow><mi>Hor</mi><msup><mi>Num</mi><mi>t</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mfrac><mo>;</mo></mrow></math>]]></maths>其中,HorNum<sup>t</sup>(k)=∑<sub>l</sub>MD<sub>C</sub>(k,l),FD<sub>C</sub>(k,l)∈Rb<sup>t</sup>,k≤Row≤n,l≤Col≤m,Rb<sup>t</sup>表示第t个车牌候选区,Row为该区域行数,Col为该区域列数;Horpro<sup>t</sup>代表第t个候选车牌区域的水平投影频率密度;53)求取相邻水平投影频率密度的差为:ΔHorpro<sup>t</sup>(k)=Horpro<sup>t</sup>(k)-Horpro<sup>t</sup>(k-1);其中,当差为正代表波峰,否则为波谷,将波谷对应的车牌二值模板矩阵MD<sub>C</sub>行置零,分割开各车牌区域;步骤5)之后,还包括以下步骤:6)利用矩形框匹配车牌候选区,将匹配失败的车牌候选区元素置零,具体包括以下步骤:61)利用位置和大小变化的移动矩形框对车牌候选区进行匹配,匹配公式如下:<maths num="0006"><![CDATA[<math><mrow><msub><mi>PerMD</mi><mi>C</mi></msub><mo>=</mo><mfrac><mn>2</mn><mrow><mi>Row</mi><mo>&times;</mo><mi>Col</mi></mrow></mfrac><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>Row</mi></msubsup><msubsup><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>Col</mi></msubsup><msub><mi>MD</mi><mi>C</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>其中,MD<sub>C</sub>(k,l)∈Fb<sup>t</sup>,k≤Row≤n,l≤Col≤m,Fb<sup>t</sup>表示与车牌候选区对应的第t个矩形框,Row为该矩形框行数,Col为该矩形框列数,PerMD<sub>C</sub>表示车牌候选区域映射到该矩形框中的取值为1的元素的密度;62)当PerMD<sub>C</sub>大于预设定阈值thr2时,该移动矩形框所对应的车牌候选区为真;否则,该车牌候选区为假,将该车牌候选区元素置零;步骤6)之后,还包括以下步骤:7)分别求取纹理水平频率矩阵和纹理垂直频率矩阵映射于步骤6)获得的车牌候选区中的水平频率密度值和垂直频率密度值,通过判断各频率密度值是否在设定阈值范围内,再次确认车牌候选区,具体包括以下步骤;71)将纹理水平频率矩阵和纹理垂直频率矩阵分别映射于步骤6)确认的车牌候选区,映射公式如下:<maths num="0007"><![CDATA[<math><mrow><msubsup><mi>HorD</mi><mi>C</mi><mi>t</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>Row</mi><mo>*</mo><mi>Col</mi></mrow></mfrac><msubsup><mi>&Sigma;</mi><mn>0</mn><mi>Row</mi></msubsup><msubsup><mi>&Sigma;</mi><mn>0</mn><mi>Col</mi></msubsup><msub><mi>D</mi><mi>C</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><msubsup><mi>VerD</mi><mi>C</mi><mi>t</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>Row</mi><mo>*</mo><mi>Col</mi></mrow></mfrac><msubsup><mi>&Sigma;</mi><mn>0</mn><mi>Row</mi></msubsup><msubsup><mi>&Sigma;</mi><mn>0</mn><mi>Col</mi></msubsup><msup><msub><mi>D</mi><mi>C</mi></msub><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>其中,D<sub>C</sub>(k,l),D′<sub>C</sub>(k,l)∈Rb<sup>t</sup>,k≤Row≤n,l≤Col≤m,Rb<sup>t</sup>为第t个车牌候选区,Row和col分别为该车牌候选区的行数和列数,<img file="FSB00000894851000034.GIF" wi="136" he="73" />为D<sub>C</sub>映射于该车牌候选区的水平频率密度,<img file="FSB00000894851000041.GIF" wi="124" he="56" />为D′<sub>C</sub>映射于该车牌候选区的垂直频率密度;72)当<img file="FSB00000894851000042.GIF" wi="137" he="66" />和<img file="FSB00000894851000043.GIF" wi="123" he="54" />均落入预设定的阈值范围thr3时,判断该车牌候选区为真,否则为假,将为假的车牌候选区域的元素置零;预备设定的阈值范围thr3为[0.7,2];步骤7)之后,还包括以下步骤:8)根据纹理垂直频率矩阵映射到步骤7)确认的车牌候选区中的垂直投影频率密度的分布情况,再次确认车牌候选区:具体包括以下步骤:81)求取纹理垂直频率矩阵映射到步骤7)确认的车牌候选区中的垂直投影频率密度:<maths num="0009"><![CDATA[<math><mrow><msup><mi>Verpro</mi><mi>t</mi></msup><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mi>k</mi></munder><msubsup><mi>D</mi><mi>C</mi><mi>t</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow></mrow><mrow><mi>VerNum</mi><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow></mfrac><mo>;</mo></mrow></math>]]></maths>其中,VerNum(l)=∑<sub>k</sub>MD<sub>C</sub>(k,l),<img file="FSB00000894851000045.GIF" wi="530" he="76" />k≤Row≤n,l≤Col≤m,Rb<sup>t</sup>为第t个车牌候选区,Row为该区域行数,Col为该区域列数,Verpro<sup>t</sup>(l)为垂直投影频率密度;82)求取相邻垂直投影频率密度的差为:ΔHorpro<sup>t</sup>(k)=Horpro<sup>t</sup>(k)-Horpro<sup>t</sup>(k-1);其中,当差为正代表波峰,否则为波谷,当车牌候选区内的波峰与波谷个数和大于等于2时,判断该车牌候选区为真,否则为假。
地址 400044 重庆市沙坪坝区沙坪坝正街174号