手机版

用matlab编程实现的车牌字符图像十三点网格特征

发布时间:2021-06-05   来源:未知    
字号:

%功能:十三点网格特征提取
%输入:二值化图像0—1矩阵(M×N)
%输出:13维的行特征向量
%算法如下:
%①把字符水平分成四份,垂直分成两份,分别统计这8个区域的白像素的个数,得到8个特征。
%②水平和垂直各划两条线把水平和垂直分割成三分, 统计这四条线穿过的白像素个数,得到4个特征。
%③字符图像全部白像素数目作为1个特征, 总共得到13个特征。
%编写时间:2012.5.28
function e=getfeature1(d)
count=13;%选取特征个数
feature=zeros(1,count);%特征
[m,n]=size(d);
%B=blkproc(Image,[m n])
%水平分成四份,垂直分成两份,分别统计这8个区域的白像素的个数,得到8个特征
low = 4; % 水平块数
row=2;%垂直块数
ch = m/low; cw = n/row;
t1 = (0:low-1)*ch + 1; t2 = (1:low)*ch;
t3 = (0:row-1)*cw + 1; t4 = (1:row)*cw;
for i = 1 : low
for j = 1 : row
temp = d(t1(i):t2(i), t3(j):t4(j));
%subplot(low, row, (i-1)*row+j);
%imshow(temp, 'border', 'tight');
feature((i-1)*row+j)=sum(sum(temp));%统计这8个区域的白像素的个数,得到8个特征
end
end
%水平和垂直各划两条线把水平和垂直分割成三分, 统计这四条线穿过的白像素个数,得到4个特征
num=2;%划分数
for k=1:num
feature(low*row+k)=sum(d(round(k*m/(num+1)),:));%水平线白像素和
end
for k=
1:num
feature(low*row+num+k)=sum(d(:,round(k*n/(num+1))));%垂直线白像素和
end
feature(count)=sum(sum(d));%图像全像素和
e=feature;












用matlab编程实现的车牌字符图像十三点网格特征.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)