数字图像处理研学报告何梦浩小组1《数字图像处理》车牌检测与字符分割研学报告学院:电子信息工程学院专业:电子科学与技术学生姓名:何梦浩董浩孔明李泽润学号:12213010122130341221303912213014任课教师:黄琳琳彭亚辉数字图像处理研学报告何梦浩小组2目录《数字图像处理》.................................................................................1车牌检测与字符分割..............................................................................1研学报告.................................................................................................1摘要.......................................................................................................31车牌识别的研究背景:意义、应用............................................42程序的实现方法:........................................................................52.1预处理:...............................................................................52.2车牌提取:...........................................................................72.3车牌校正:.........................................................................182.4字符分割:.........................................................................213实验结果及分析:......................................................................334本课程收获及建议:..................................................................334.1收获:................................................................................334.2建议:................................................................................335组员贡献率.................................................................................336参考文献.....................................................................................34数字图像处理研学报告何梦浩小组3摘要整个车牌识别系统分为图像采集、车牌定位、字符分割、字符识别四大部分。现有研究算法的理论基础上,在VisualC++平台下,采集到的图像经过一系列预处理;在车牌定位模块中,采用了二值化方法的基础上,利用灰度跳变的特点,检测到车牌的上下边界和左右边界。至此,车牌完全定位出来;在车牌图像的倾斜矫正模块中,通过对图像左右半边目标像素平均高度的统计来进行倾斜的调整;最后字符分割。由于知识和精力有限,本组没有做最后的字符识别部分。关键词:车牌定位,倾斜校正,字符分割数字图像处理研学报告何梦浩小组41车牌识别的研究背景:意义、应用1.1意义车牌识别技术要求能够将运动中的汽车牌照从复杂背景中提取并识别出来,通过车牌提取、图像预处理、特征提取、车牌字符识别等技术,识别车辆牌号,目前的技术水平为字母和数字的识别率可达到96%,汉字的识别率可达到95%。1.2应用车牌识别在高速公路车辆管理中得到广泛应用,电子收费(ETC)系统中,也是结合DSRC技术识别车辆身份的主要手段。在停车场管理中,车牌识别技术也是识别车辆身份的主要手段。在深圳市公安局建设的《停车库(场)车辆图像和号牌信息采集与传输系统技术要求》中,车牌识别技术成为车辆身份识别的主要手段。车牌识别技术结合电子不停车收费系统(ETC)识别车辆,过往车辆通过道口时无须停车,即能够实现车辆身份自动识别、自动收费。在车场管理中,为提高出入口车辆通行效率,车牌识别针对无需收停车费的车辆(如月卡车、内部免费通行车辆),建设无人值守的快速通道,免取卡、不停车的出入体验,正改变出入停车场的管理模式。图1-1数字图像处理研学报告何梦浩小组52程序的实现方法:2.1预处理:2.1.1根据车牌部分的蓝色分量较大的情况,设置阈值,使图像二值化,让车牌部分的底色与其他图像区域区别开来,我组发现:在设置阈值时,用HSV模型比RGB模型更加准确地进行车牌特征提取。2.1.2在二值化图像上在此进行处理,通过形态学处理去除车牌周围噪声,以便准确提取车牌。【程序如下】voidCImgProView::Color(){BYTEr,g,b;inti,j;huiimg=newBYTE[width*height];huiimg1=newBYTE[width*height];BYTEmax,min,delta;flag=1;doubleh,s,v;for(inti=0;iheight;i++){for(intj=0;jwidth;j++){b=rgbimg[i*3*width+j*3];g=rgbimg[i*3*width+j*3+1];r=rgbimg[i*3*width+j*3+2];max=(rg)?r:g;max=(maxb)?max:b;min=(rg)?r:g;min=(minb)?min:b;delta=max-min;if(delta==0)h=0;数字图像处理研学报告何梦浩小组6else{if(max==r&&g=b)h=double(60*(g-b))/delta;if(max==r&&gb)h=double(60*(g-b))/delta+360;if(max==g)h=double(60*(b-r))/delta+120;if(max==b)h=double(60*(r-g))/delta+240;}v=max;if(v==0){s=0;}elses=double(delta)/max;if(h0)h+=360;if((h=270.0&&208.0=h)&&s0.52){huiimg1[i*width+j]=255;//huiimg1[i*width+j]=255;}else{huiimg1[i*width+j]=0;//huiimg1[i*width+j]=0;}if((h=270.0&&205.0=h)&&s0.48){//huiimg[i*width+j]=255;huiimg[i*width+j]=255;}else{//huiimg[i*width+j]=0;huiimg[i*width+j]=0;}}}BYTE*tempOut;tempOut=newBYTE[width*height];数字图像处理研学报告何梦浩小组7//memcpy(temp,image,sizeof(BYTE)*width*height);erosion(huiimg1,width,height,tempOut,1);dilation(huiimg1,width,height,tempOut,1);erosion(huiimg1,width,height,tempOut,2);OnInitialUpdate();}【实验效果示例】图片2.1-12.2车牌提取:在预处理基础上,检测出已经转化为白色的部分,然后划定白色区域的范围,最终检测出车牌的上下左右边界位置,将其提取出来。【程序如下】voidCImgProView::OnDraw(CDC*pDC){CImgProDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);tempOut=newBYTE[width*height];temp=newBYTE[width*height];outImg1=newBYTE[width*height];//TODO:adddrawcodefornativedatahere//BYTEr,g,b;if(image==0)数字图像处理研学报告何梦浩小组8return;inti,j;if(rawflag==1){BYTEgray;for(i=0;iheight;i++){for(j=0;jwidth;j++){gray=image[i*width+j];pDC-SetPixel(j,i,RGB(gray,gray,gray));}}}//////showoutImghere//////////////////////if(bmpflag==1){BYTEr,g,b;for(i=0;iheight;i++)for(j=0;j3*width;j=j+3){b=rgbimg[i*3*width+j];g=rgbimg[i*3*width+j+1];r=rgbimg[i*3*width+j+2];pDC-SetPixelV(j/3,i,RGB(r,g,b));}}if(flag==1){BYTEgray;if(huiimg1){for(i=0;iheight;i++){for(j=0;jwidth;j++){gray=huiimg1[i*width+j];//pDC-SetPixel(j+width,i,RGB(gray,gray,gray));}}}数字图像处理研学报告何梦浩小组9for(i=100;iheight;i++){for(j=100;jwidth-100;j++){if(huiimg1[i*width+j]==255){y1=i+3;break;}}if(huiimg1[i*width+j]==255)break;}for(i=height-20;i0;i--){for(j=20;jwidth-20;j++){if(huiimg1[i*width+j]==255){y2=i+1;break;}}if(huiimg1[i*width+j]==255)break;}for(j=120;jwidth-50;j++){for(i=50;iheight-50;i++){if(huiimg1[i*width+j]==255){x1=j-2;break;}}if(huiimg1[i*width+j]==255)break;}for(j=width-70;j0;j--){for(i=100;iheight-50;i++){if(huiimg1[i*width+j]==255){数字图像处理研学报告何梦浩小组10x2=j+2;break;}}if(huiimg1[i*width+j]==255)break;}CPenNewPen(PS_SOLID,1,RGB(255,0,0));pDC-SelectObject(&NewPen);pDC-MoveTo(x1,y1);pDC-LineTo(x2,y1);pDC-LineTo(x2,y2