您的位置:首页 > 编程语言 > MATLAB

matlab的车牌识别——根据easyprr学习记录(一)

2017-06-21 11:18 417 查看
开始进行一个easypr的一个学习过程

运用的软件是 vs2017 opencv3.2.0 matlab2014b

我慢慢的将自己的想法给写出来 然后可以给自己的一个记录

我使用的车牌库是easypr中的车牌库

第一部分

有关于车牌中的定位的一个过程

对于车牌的定位的方法  我现在会使用的是 基于灰度图的边缘检测 还有一个基于HSV的颜色定位

(一)、基于灰度图的一个车牌定位

首先对原始图片进行一个高斯变换

获得一个稍微模糊的一个图片

然后既然是对于灰度图 还有边缘检测来进行定位的话自然是需要进行一个灰度化的处理

我这里用的灰度化的公式是

[x,y,z] = size(plate1);

plate2 = zeros(x,y,1);

for i=1:x

    for j=1:y

        plate2(i,j,1)=0.2989.*plate1(i,j,1)+0.5870.*plate1(i,j,2)+0.114.*plate1(i,j,3);       

    end

end

就是0.2989的R加上0.5870的G加上0.114的B然后合成一个灰度图

灰度话以后可以使用matlab自带的各种边缘检测的一个处理

也就是edge函数,具体函数可以使用 help edge可以看具体的边缘检侧的函数

我们这里使用的是sobel算子来进行垂直边缘检测

因为车牌中有很丰富的纹理特征,其中垂直纹理一般较其他区域丰富,所以使用垂直边缘检测

而后就可以使用形态学中的开闭运算就可以清楚的出现出纹理丰富的区域。

然后可以过滤一些小的区域

然后就可以剩下几个区域出来

然后我们可以用最小矩形区域将齐框出来可以进行一个svm训练来确定车牌所在的区域位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: