第三讲 车牌识别程序(2).pptVIP

  • 1
  • 0
  • 约1.93千字
  • 约 10页
  • 2021-12-10 发布于湖南
  • 举报
* * 第三讲 车牌识别程序(2) 一、车牌识别流程分析 第一步:识别车牌位置 第二步:提取车牌 第三步:提取车牌上数字 第四步:识别车牌上数字 一、车牌识别流程分析 提取车牌 分析提取车牌过程: 1.可能出现变形 1.确定四个角点坐标 2.将四个坐标内的图像旋转到规整的矩形内 一、车牌识别流程分析 提取车牌 一、车牌识别流程分析 提取车牌 仿射变换:矩形?平行四边形 透射变换:矩形?梯形 一、车牌识别流程分析 提取车牌 仿射变换:矩形?平行四边形 Void cvWarpAffine( Const CvArr* src, CvArr* dst, Const CvMat* map_matrix, 转换矩阵 int flag = CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,插值方式 CvScalar fillval = cvScalarAll(0) 填充点颜色 ); 一、车牌识别流程分析 提取车牌 透射变换:矩形?梯形 Void cvWarpPerspective( Const CvArr* src, CvArr* dst, Const CvMat* map_matrix, 转换矩阵 int flag = CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,插值方式 CvScalar fillval = cvScalarAll(0) 填充点颜色 ); cvWarpPerspective( img_2, fan, mat, CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS, cvScalarAll(0) ); 将img_2按照mat矩阵变换到fan,采用双线性插值 一、车牌识别流程分析 提取车牌 计算旋转矩阵 CvMat* cvGetPerspectiveTransform( const CvPoint2D32f* pts_src, 原图像四个角点坐标(数组) const CvPoint2D32f* pts_dst, 目标图像四个角点坐标(数组) CvMat* map_matrix 生成的矩阵 ); CvMat mat; 建立矩阵 srcTri[0]=cvPointTo32f(pt[0]); srcTri[1]=cvPointTo32f(pt[1]); srcTri[2]=cvPointTo32f(pt[3]); srcTri[3]=cvPointTo32f(pt[2]); 原图像四个角点存入数组 dstTri[0]=cvPoint2D32f(0,0); dstTri[1]=cvPoint2D32f(0,pos_height); dstTri[2]=cvPoint2D32f(pos_width,0); dstTri[3]=cvPoint2D32f(pos_width,pos_height); 目标图像四个角点 double datamat[]={0,0,0,0,0,0,0,0,0}; 初始化矩阵元素 cvInitMatHeader( mat,3,3, CV_64FC1,datamat); 初始化矩阵cvGetPerspectiveTransform(srcTri,dstTri,mat); 计算 一、车牌识别流程分析 第一步:识别车牌位置 第二步:提取车牌 第三步:提取车牌上数字 第四步:识别车牌上数字 一、车牌识别流程分析 提取数字 分析提取数字过程: 1.车牌颜色不同的影响 2.如何判断一个完整的字符 解决方法: 1.判断二值化车牌中黑色的比例,如果黑色大于50%,说明车牌底儿是深色的,需要做反色处理 2.两个相邻字符间的像元应该都是白色 一、车牌识别流程分析 提取数字 轮廓的矩: p对应x维上的矩,q对应y维上的矩,可见m00表示轮廓上点的点数量 综合考虑轮廓大小、位置、旋转角度等因素,所以要对矩进行归一化,最常用的为Hu矩 * *

文档评论(0)

1亿VIP精品文档

相关文档