数字图形处理的结课论文老师要求做车牌识别 ,所以趁机会试试
开始之前必须明确,工程应用基本都是基于一定的先验知识的
im2bw 输入:灰度图、索引图、RGB图,先灰度化,在二值化,如果不指定阀值,会自动使用graythresh确定二值化时的阀值level,车牌识别最好自己定指定level,
即硬阀值。
graythresh OSTU算法,常用来确定确定二值化的阀值,不过车牌识别这用OSTU算法来自动确定阀值应该不合理的
bwlabel或者bwlabeln 输入:多维度的逻辑矩阵; 标记二值图像(0、1图像)的连通域
edge 输入:二值图像或者灰度图像 [BW,thresh] = edge(I,'sobel',thresh,direction) ;使用不同算子找图像的边缘
imresize 输入:任意矩阵 ; B = imresize(A, [numrows numcols],'bicubic');
regionprops 输入:多维的逻辑类矩阵;找图像的某些特征
先验知识:
1、中国车牌用到的汉字
2、车牌“蓝底白字”、“紫底白字”、“黑底白字”、“黄底白字“等等
3、因机动车号牌字体是全国统一标准
4、数字特征 周长,面积,空心
5、汉字特征 连通域数目,左右结构、上下结构、
车牌图像的二值化代码:
de=size(im);
si=de;
de=length(de);
if de==3
im=rgb2gray(im);
end
su=sum(im);
su=sum(su);
si=si(1)*si(2);
le=su/si;
if le>=90
im=im2bw(im,le/255);
else im=im2bw(im,1-le/255);
end
figure,imshow(im);