基于MATLAB的图像处理字母识别

上传人:闪**** 文档编号:290687261 上传时间:2022-05-10 格式:DOCX 页数:5 大小:17.04KB
返回 下载 相关 举报
基于MATLAB的图像处理字母识别_第1页
第1页 / 共5页
基于MATLAB的图像处理字母识别_第2页
第2页 / 共5页
基于MATLAB的图像处理字母识别_第3页
第3页 / 共5页
基于MATLAB的图像处理字母识别_第4页
第4页 / 共5页
基于MATLAB的图像处理字母识别_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于MATLAB的图像处理字母识别》由会员分享,可在线阅读,更多相关《基于MATLAB的图像处理字母识别(5页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑基于MATLAB的图像处理字母识别 数字图像处理 报告名称:学 院:专 业:学 号:学生姓名:指导教师:日 期: 字母识别 信息工程与自动化学院 物联网工程 202210410149 廖成武 王 剑 2022年12月28日 教 务 处 制 目次 字母识别 1.-测试图像预处理及连通区域提取 2.-样本库的建立采集feature 3.-选择算法输入测试图像举行测试 4.-总结 字母识别 1.imgPreProcess(联通区域提取)目次下 conn.m:连通区域提取分割(在原图的根基上举行了膨胀、腐蚀、膨胀的操作使截取的图像更加接近字母) %提取数字的边界,生

2、成新的图 clear; clc; f=imread(5.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

3、(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

4、),con(i,2)=0; end imwrite(seg,strcat(seg,int2str(k),.bmp); %seg=zeros(size(seg); clear seg; end 截取后的图像 2. digitalRec目次下举行样本库的的建立并采集feature 在对截取出来的图像举行识别之前要先输入样本并提取特征进入templet.mat: 我自己通过WORLD打出字母后截屏下来获得字母样本并各自命名 .jpg放入digitalRec目次下用以建立样本库获取特征。 对每个字母都举行下面代码的的执行得到新的1x14的pattern得到各个字母(前9个为数字 19)每个cell内的

5、feature信息,由于样本有限在此每个字母只提取一次feature。 运行digRec01.m clear all;clc; load templet; % A 被分成5*5=25个cell %留神A的size(长和宽都需被定义成5的倍数,由于后面要被5除) A=imread(a.jpg); A=imresize(A,25 25) %将输入图像转化为25*25的尺寸 figure(1),imshow(A) B=zeros(1,25); %初始化一个B用于存放25个cell的feature row col = size(A); %得到图像的长宽 cellRow = row/5 cellCol

6、= col/5 count = 0; currentCell = 1; for currentRow = 0:4 %遍历25个cell获取feature for currentCol = 0:4 for i = 1:cellRow for j = 1:cellCol if(A(currentRow*cellRow+i,currentCol*cellCol+j)=0) count=count+1; end end end ratio = count/(cellRow*cellCol); B(1,currentCell) = ratio; %将feature信息存入B中 currentCell = currentCell+1; count = 0; end end pattern(11).num=1; %每个字母只有一个样本 pattern(11).feature(:,1)=B; %将B置入pattern save templet pattern 5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号