基于MATLAB的字母识别系统

本文介绍了基于MATLAB的字母识别系统,包括图像预处理、样本库建立与特征提取、以及使用最小距离算法进行测试图像识别。通过连通区域提取分割、样本库建立和测试图像的特征匹配,实现了对字母的识别。
摘要由CSDN通过智能技术生成

一、算法步骤

1.测试图像预处理及连通区域提取

2.样本库的建立采集feature

3.选择算法输入测试图像进行测试

二、识别过程+源码

1.连通区域提取分割(在原图的基础上进行了膨胀、腐蚀、膨胀的操作使截取的图像更加接近字母)

%%提取数字的边界,生成新的图

clear;

clc;

f=imread('识别图片.jpg');

f=imadjust(f,[0 1],[1 0]);

SE=strel('square',5); %%膨胀、腐蚀、膨胀

A2=imdilate(f,SE);

SE=strel('disk',3)

f=imerode(A2,SE)

SE=strel('square',3);

f=imdilate(f,SE);

gray_level=graythresh(f);

f=im2bw(f,gray_level);

[l,n]=bwlabel(f,8) %%8连接的连接分量标注

imshow(f)

hold on

for k=1:n %%分割字符子句

[r,c]=find(l==k);

rbar=mean(r);

cbar=mean(c);

plot(cbar,rbar,'Marker','o','MarkerEdgeColor','g','MarkerFaceColor','y','MarkerSize',10);

% plot(cbar,rbar,'Marker','*','MarkerEdgecolor','w');

row=max(r)-min(r)

col=max(c)-min(c)

for i=1:row

for j=1:col

seg(i,j)=1;

end

end

con=[r-min(r)+1,c-min(c)+1];

[a,b]=size(con);

for i=1:a

seg(con(i,1),con(i,2))=0;

end

imwrite(seg,strcat('seg',int2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值