数字信号处理小实验:粗略定位车牌位置

适用于车牌在图像中的比例较大的情况。

车牌区域的字符颜色与底色在灰度上变化剧烈,导致这部分有丰富的边缘。因此,对图像进行边缘检测时可以有效凸显车牌区域。

首先,通过对图像进行灰度处理后利用sobel算子提取图像垂直边缘(车牌的垂直边缘比水平边缘更丰富,车身的水平边缘比垂直边缘更丰富),使车牌的区域在图片中的特征变得明显。然后对图像进行二值化处理,之后再对图像进行膨胀操作。根据预知知识(我国普通车牌宽度为:440mm,高度为:140mm),通过对膨胀后的图像进行连通域分析(MATLAB:bwboundaries函数),找到符合车牌特征的连通域后便可定位出车牌的位置。

连通域分析:原理:https://blog.csdn.net/qq_37059483/article/details/78018539

clc;clear;
A1=imread('car.jpg');
A=rgb2gray(A1);%灰度处理
%进行垂直边缘检测
B1=[-1 0 1;-2 0 2;-1 0 1];   %vertical
A=double(A);
B1=double(B1);
C1=conv2(A,B1);
C1=uint8(C1);
[m,n]=size(C1);
%膨胀处理(strel函数的参数可根据处理图像调节);
se=strel('square',30);
D1=imdilate(C1,se);
%计算联通域
for i=1:m
    for j=1:n
        if D1(i,j)~=255
            D1(i,j)=0;        
        end
    end
end
B = bwboundaries(D1,4);
%找到车牌所在的位置;
num=length(B);
for k=1:num
    [data1,loc1]=max(B{k,1}(:,1));
    [data2,loc2]=min(B{k,1}(:,1));
    [data3,loc3]=max(B{k,1}(:,2));
    [data4,loc4]=min(B{k,1}(:,2));
    x1(k,1)=data2;
    x1(k,2)=data4;
    wid(k)=data1-data2;
    high(k)=data3-data4;
end
%在原图中圈出车牌
figure
imshow(A1);hold on;
for k=1:num
    if high(k)/wid(k)>=440/140*0.8
        if high(k)/wid(k)<=440/140*1.2            
            rectangle('Position',[x1(k,2),x1(k,1),high(k),wid(k)],...
              'LineWidth',1,'EdgeColor','r');hold on;
            z=k;             
        end
    end
end
%将车牌分割出来
for i=x1(z,1):x1(z,1)+wid(z)
    for j=x1(z,2):x1(z,2)+high(z)
        new(i-x1(z,1)+1,j-x1(z,2)+1,1)=A1(i,j,1);
        new(i-x1(z,1)+1,j-x1(z,2)+1,2)=A1(i,j,2);
        new(i-x1(z,1)+1,j-x1(z,2)+1,3)=A1(i,j,3);
    end
end
figure
imshow(new);

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
汽车车牌定位与字符识别 一、 实验目的: 1、巩固理论课上所学的知识。 2、锻炼动手能力、激发研究潜能,增强理论联系实际的能力。 二、 设计原理与步骤: 定位汽车车牌并识别其中的字符,采用Matlab平台提供的一些图像处理函数,以傅立叶变换通过字符模板与待处理的图像匹配为核心思想。基本方法如下: 1、读取待处理的图像,将其转化为二值图像。 2、去除图像中不是车牌的区域。 3、为定位车牌,将白色区域膨胀,腐蚀去无关的小物件,包括车牌字符。 4、此时车牌所在白色连通域已清晰可见,但一个更大的连通域将车牌所在连通域包围了,需将其填充。 5、查找连通域边界。同时保留此图形,以备后面在它上面做标记。 6、找出所有连通域中最可能是车牌的那一个。 判断的标准是:测得该车牌的长宽比约为X:1,其面积和周长存在关系:(X×L×L)/(2×(X+1)×L)2≈1/Y,以此为特征,取metric=Y*area/perimeter^2作为连通域的匹配度,它越接近1,说明对应的连通域越有可能是X:1的矩形。 7、将车牌图像反白处理,并扩充为256×256的方阵,以便傅立叶变换中矩阵旋转运算的进行。 8、从文件读取一个字符模板。对图像计算傅立叶描述子,用预先定义好的决策函数对描述子进行计算。变换后的图像中,亮度的高低指示相应区域与模板的匹配程度。 9、确定一个合适的门限,显示亮度大于该门限的点,也就是与模板的匹配程度最高的位置。 10、对照图片,可以说明相应字符被识别和定位了。 三、 实验记录及分析: 待处理的图像如下所示。图像整体比较清晰干净,车牌方向端正,字体清楚,与周围颜色的反差较大。读取待处理的图像,将其转化为二值图像。 经试验,采用门限值为0.2附近时车牌字符最为清楚,杂点最少。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值