数字图像处理之matlab大作业:车牌识别 |
您所在的位置:网站首页 › 图像车牌识别 › 数字图像处理之matlab大作业:车牌识别 |
1、基于模板的车牌识别,带GUI GitHub - joeyos/LicensePlateRecognition: License plate recognition 2、基于模板的车牌识别,注释详细 https://github.com/hangxyz/License-Plate-Recognition-by-MATLAB 3、其他优秀作品 1)董同学:带语音播报的车牌识别 车牌识别-基于模板匹配_勇敢歪歪的博客-CSDN博客_车牌识别模板匹配 2)李同学: 基于Matlab实现车牌识别-CSDN博客 下面我们将详细解释第二个例子的代码: 1、代码文件说明1)图像预处理 将彩色图转灰度图;canny算子边缘检测;用[1;1;1]三行一列的垂直线结构腐蚀边缘图像,因为腐蚀具有标记结构元素的作用,因此边缘图中包含丰富垂直线的部分被保留下来(即车牌);利用矩形结构元素对辅食后图像进行闭运算,即先膨胀后腐蚀,闭运算有填充内部孔洞的作用,因此将上一步腐蚀后图像的车牌区域变成一个连通域;利用bwareaopen函数删除二值图像中面积小于2000的对象2)车牌定位 车牌粗定位之一确定行的起始位置和终止位置 车牌粗定位之二确定列的起始位置和终止位置 车牌精定位之一预处理 车牌精定位之二去除边框干扰(分别去除左侧和右侧干扰) %%%%%%%%%%2、车牌定位%%%%%%%%%%% [y,x]=size(YuanShiLvBo);%size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量 YuCuDingWei=double(YuanShiLvBo); %%%%%%%%%%2.1、车牌粗定位之一确定行的起始位置和终止位置%%%%%%%%%%% Y1=zeros(y,1);%产生y行1列全零数组 for i=1:y for j=1:x if(YuCuDingWei(i,j)==1) Y1(i,1)= Y1(i,1)+1;%白色像素点统计 end end end [temp,MaxY]=max(Y1);%Y方向车牌区域确定。返回行向量temp和MaxY,temp向量记录Y1的每列的最大值,MaxY向量记录Y1每列最大值的行号 subplot(2,2,2),plot(0:y-1,Y1),title('原图行方向像素点值累计和'),xlabel('行值'),ylabel('像素'); %% 找到上边界 PY1=MaxY; while ((Y1(PY1,1)>=50)&&(PY1>1)) PY1=PY1-1; end %%找到下边界 PY2=MaxY; while ((Y1(PY2,1)>=50)&&(PY2 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |