五值化

void ShowBlueImage2()
{
int i=0,j=0,k=0;
int R=0,G=0,B=0;
int width=640,height=360;
int H=0,S=0,V=0;
BYTE *fRGB=NULL;
float coff=0.1;
unsigned char nYellow,nBlue,nGray,nBlue0,nYellow0,nBlue1,nYellow1,nGray0,nGray1;
fRGB=(BYTE *)malloc(640*360*sizeof(BYTE));
      memset(fRGB,0,640*360*sizeof(BYTE));

for (i=0;i<height;i++)
{

for (j=0;j<width;j++)
{
B=*(gPlateSearch_all.m_OrgRGBdata+(height-i-1)* gPlateSearch_all.m_nIWidth*3+j*3);
G=*(gPlateSearch_all.m_OrgRGBdata+(height-i-1)* gPlateSearch_all.m_nIWidth*3+j*3+1);
R=*(gPlateSearch_all.m_OrgRGBdata+(height-i-1)* gPlateSearch_all.m_nIWidth*3+j*3+2);
// R=30;G=39;B=96;
// R=96;G=110;B=137;
// R=115;G=106;B=130;
nYellow0=(R+G)/2;
nGray0=(nYellow0+B)/2;
nBlue0=B;
if(nYellow0>=180&&nBlue0>180)
{
fRGB[i*width+j]=255;
}
else if (nYellow0<=150&&nBlue0<150)
{
fRGB[i*width+j]=0;
}
else 
{
if (nYellow0<0.9*nBlue0)
{
coff=0.7;
if (nYellow0<coff*nBlue0)
{
fRGB[i*width+j]=0;

}
else if(nGray0<180)
{
fRGB[i*width+j]=0;

}
else
{
if (nGray0<=150)
{

fRGB[i*width+j]=0;
}
else if(nGray0>=180)
fRGB[i*width+j]=255;
else
fRGB[i*width+j]=128;


}


}
else if (nBlue0<0.9*nYellow0)
{


coff=0.7;
if (nBlue0<coff*nYellow0)
{
fRGB[i*width+j]=255;

}
else if(nGray0>150)
{
fRGB[i*width+j]=255;

}
else
{
 if (nGray0<=150)
 {


  fRGB[i*width+j]=0;
 }
else if(nGray0>=180)
  fRGB[i*width+j]=255;
else
fRGB[i*width+j]=128;
}
}
else
{


if (nGray0<=150)
{

fRGB[i*width+j]=0;
}
else if(nGray0>=180)
  fRGB[i*width+j]=255;
else
fRGB[i*width+j]=128;
}
}


RGB2HSV(R,G,B,&H,&S,&V);
            k=2*B-G-R;
// k=G+R-0.8*abs(R-G)-2*B;
if (k<0)
{
k=0;

}
if (k>255)
{
k=255;
}
if (k<150&&k>70&&(B>G&&B>R&&B>45&&B<130)||((R>48&&R<60))&&B<55&&B>45&&G<55&&G>45)// if (k<250&&k>70&&(B<G&&B<R)||((R>48&&R<60))&&B<55&&B>45&&G<55&&G>45)
{ // if (k<50&&k>10&&G<50&&(R<G&&B<G)||((R>48&&R<60))&&B<55&&B>45&&G<55&&G>45)

if (B>110&&G>100)
{
k=0;
}
else
k=255;
}
else
k=0;

if (H>=190&&H<=245&&S<100&&S>35&&V>10&&V<100/*||H>25&&H<70&&S<100&&S>35&&V>10&&V<100*/) // if (H>=190&&H<=245&&S<100&&S>35&&V>20&&V<100||H>=25&&H<=60&&S<100&&S>35&&V>20&&V<100)
{
k=255;
}
else
k=0;
// fRGB[i*width+j]=k;
// if (H>190&&H<245&&S>35&&S<100&&V>12&&V<100&&R<200)
// {
// fRGB[i*width+j]=255;
//
// }
//    else if (H<25&&H<55&&S>35&&S<100&&V>30&&V<100)
// {
//   fRGB[i*width+j]=120;
// }
// if (H>70&&H<180)
// {
// fRGB[i*width+j]=255;
// }
// else
// fRGB[i*width+j]=0;
// k=Color_Recognize_INT_2(R,G,B);
// if (k==7)
// {
// 
// fRGB[i*width+j]=255;
//
// }
// else if (k==4)
// {
// fRGB[i*width+j]=120;
// }
// else
// fRGB[i*width+j]=0;
}
}

    
free(fRGB);

}


公开号CN101625795 B
发布类型授权
专利申请号CN 200910104557
公开日2011年2月9日
申请日期2009年8月7日
优先权日2009年8月7日
公告号CN101625795A
公开号200910104557.9, CN 101625795 B, CN 101625795B, CN 200910104557, CN-B-101625795, CN101625795 B, CN101625795B, CN200910104557, CN200910104557.9
发明者张忠义
申请人张忠义
导出引文BiBTeXEndNoteRefMan
外部链接:  中国国家知识产权局欧洲专利数据库 (Espacenet)
图像五值化简化方法
CN 101625795 B
摘要
对车牌图像的图像 五值化简化方法,属于图像处理领域,涉及车牌识别过程中的图像二值化问题,其特征是通过公式:黄色=(红色+绿色)/2,依此将红色、绿色、蓝色三原色构成的 色彩空间映射到由黄色、蓝色两种颜色构成的 色彩空间,映射后的色彩值有黑色、蓝色、灰色、黄色和白色五种。该方法回避了图像在灰度化基础上进行二值化常常面临的阈值选取问题,克服了直接基于彩色图像二值化所面临的计算复杂性问题。另一方面,该方法保留的中间灰色可根据识别的车牌颜色视同车牌号字符识别所需的黑色或白色,从而能弥补因曝光偏差或图像污损按传统阈值选取进行图像二值化可能导致的图像信息缺失,进一步提高车牌识别正确率。
权利要求(2)
  1. 对车牌图像的图像 五值化简化方法,其特征是通过公式:黄色=(红色+绿色)/2,依此将红色、绿色、蓝色三原色构成的 色彩空间映射到由黄色、蓝色两种颜色构成的 色彩空间;映射后的色彩值有黑色、蓝色、灰色、黄色和白色五种。
  2. 2.根据权利要求1所述对车牌图像的图像 五值化简化方法,其具体的简化过程是:(1)、建立公式:黄色=(红色+绿色)/2,取值0. · 255 ;(2)、建立公式:灰度=(黄色+蓝色)/2,取值0. · 255 ;(3)、将黄色和蓝色都大于187的视同白色; (4)、将黄色和蓝色都小于153的视同黑色;(5)、去除白色和黑色剩下的中间色中,如果黄色< 0.9X蓝色,则需进一步进行蓝色 细分,如果蓝色< 0.9X黄色,则需进一步进行黄色细分,否则则需进一步进行灰色细分;(6)、蓝色细分:如果黄色<0.8X蓝色,视同蓝色,否则,如果灰度< 187,视同蓝色,反 之视同灰色;(7)、黄色细分:如果蓝色<0.8X黄色,视同黄色,否则,如果灰度> 153,视同黄色,反 之视同灰色;(8)、灰色细分:如果灰度< 153,视同黑色,如果灰度> 187,视同白色,否则视同灰色。
说明

图像五值化简化方法

技术领域

[0001] 本发明属于图像处理领域,涉及车牌识别过程中的图像二值化问题。 背景技术

[0002] 车牌识别是目前图像处理领域的重要方面。车牌识别技术产生于20世纪90年 代,尽管经过近20年的发展,车牌识别仍然只能针对成像条件较好的图像进行,对“曝光偏 差或图像污损”的图像识别率仍低。

[0003] 一般而言,车牌识别的最后环节是字符识别。字符识别的基础是图像二值化。而 图像二值化的困难在于阈值选取。阈值属于图像处理领域内的经典难题,迄今为止,没有一 个方法可以得到一个通用的阈值,也没有一个方法可以评估阈值对于要处理的图像是否适 当。对于“曝光偏差或图像污损”的图像,其本质是或类似光照不均匀。受其影响,图像部 分像素的灰度值往往不是分布在灰度的两端,经选取的阈值作用后表现为“黑”或“白”,而 是分布在灰度中间,呈现为“中间灰”。对于这部分像素,通常不能找到一个适当的阈值将其 正确地分类为“黑”或“白”,也就是说,“中间灰”有可能被错误分类到“黑”中,也有可能被 错误分类到“白”中,表现为图像信息缺失,从而导致字符识别失败。

[0004] 图像二值化,必然涉及阈值问题。由此,很多技术人员都试图绕开图像二值化,探 讨直接基于彩色模式的车牌识别方法。不过,迄今为止直接基于彩色模式进行车牌识别的 各种方法都没有针对彩色模式的计算复杂性找到好的解决办法。为什么呢?所谓彩色空 间,不论是通过红色、绿色、蓝色三原色表示,还是通过其他方式表示,都是三维空间。因此, 另一个难题随之而来,如果不能降维,其计算复杂性就不能降低。而客观上,车牌识别往往 需要在一个较短的时间内完成。因此,在本发明所述图像五值化简化方法以前的基于彩色 空间的图像二值化都停留在理论上,因为耗时太长而没有实际深入下去。长期以来通过彩 色模式解决车牌识别一直进展不大,或者说,一直没有可以进入工程意义上的实用的成果 出现。

发明内容

[0005] 针对上述图像二值化问题,本发明所述图像五值化简化方法回避了阈值选取问 题,克服了直接基于彩色图像的计算复杂性问题,从而使直接基于彩色图像的图像二值化 具有了实际的工程意义,能应用到实际工程中,解决实际的工程问题。按照本发明所述图像 五值化简化方法,“曝光偏差或图像污损”类图像,其车牌识别问题就迎刃而解。

[0006] 本发明所采用的技术方案是:

[0007] 图像五值化简化方法是通过公式:黄色=(红色+绿色)/2,依此将红色、绿色、蓝 色三原色构成的色彩空间映射到由黄色、蓝色两种颜色构成的色彩空间,映射后的色彩值 有黑色、蓝色、灰色、黄色和白色五种。

[0008] 图像五值化简化方法,其具体的简化过程是:

[0009] 1、建立公式:黄色=(红色+绿色)/2,取值0..255 ;立公式:灰度=(黄色+蓝色)/2,取值0..255 ;

[0011] 3、将黄色和蓝色都大于187的视同白色;

[0012] 4、将黄色和蓝色都小于153的视同黑色;

[0013] 5、去除白色和黑色剩下的中间色中,如果黄色< 0.9X蓝色,则需进一步进行蓝 色细分,如果蓝色< 0. 9X黄色,则需进一步进行黄色细分,否则则需进一步进行灰色细 分;

[0014] 6、蓝色细分:如果黄色<0.8X蓝色,视同蓝色,否则,如果灰度< 187,视同蓝色, 反之视同灰色;

[0015] 7、黄色细分:如果蓝色<0.8X黄色,视同黄色,否则,如果灰度> 153,视同黄色, 反之视同灰色;

[0016] 8、灰色细分:如果灰度< 153,视同黑色,如果灰度> 187,视同白色,否则视同灰 色。

[0017] 本发明的有益效果是:

[0018] 基于本发明所述图像五值化简化方法后图像仍然是“彩色图像”,只是图像各像素 的色彩值由256X256X256种减少到五种,色彩信息大幅下降,从而极大地简化了直接基 于“彩色图像”识别的计算量。基于本发明所述图像五值化简化方法将红色、绿色、蓝色三 原色构成的色彩空间映射到由黄色、蓝色两种颜色构成的色彩空间,其实质是降维,将三维 降低成二维。再进一步,由黄色、蓝色两种颜色构成的二维空间被继续简化成黑色、蓝色、 灰色、黄色和白色五值,这进一步做法的实质更是将二维降低成了一维,降低成了五个离散 值,其计算复杂性大幅降低。

[0019] 本发明所述图像五值化简化方法与目前车牌识别普遍采用二值化方法的另一个 重要区别还在于,本发明所述图像的五值化简化方法保留了中间灰色,而目前车牌识别普 遍采用的二值化方法丢掉了中间灰色。在本发明所述图像五值化简化方法里,保留的中间 灰色可根据识别的车牌颜色视同车牌号字符识别所需的黑色或白色,从而能弥补曝光偏差 或图像污损按传统阈值选取进行图像二值化可能导致的图像信息缺失,提高车牌识别正确 率。就是说,本发明所述图像五值化简化方法不仅保留了图像的中间灰色,且明确了一种机 制,使保留的中间灰色可以根据已识别的车牌颜色正确地动态分类为黑色或白色。

[0020] 本发明回避了图像二值化所面临的阈值问题,解决了直接基于彩色模式进行车牌 识别的计算复杂性问题,可以适应曝光偏差或图像污损类图像,能进一步提高车牌识别率。 本发明有别于目前只能在图像灰度化基础上二值化的传统方法,是对车牌图像识别技术的 创新。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值