matlab图片中找字,基于MATLAB的图片中字符的提取(源代码)

更新时间:2023-12-11 19:01:27 阅读: 评论:0

2023年12月11日发(作者:议论抒情)

-

matlab图片中找字,基于MATLAB的图片中字符的提取(源代码)

matlab图片中找字,基于MATLAB的图片中字符的提取(源代

码)

基于MATLAB的图片中字符的提取(源代码)

function getPicChar %%建立字符提取函数,在MATLAB平台上直接运行即可

%运用MATLAB的UI,直接打牌需要提取的字符图片即可

[filename,

pathname,~]=uigetfile({'*.jpg';'*.bmp';'*.png'},'Ch o a picture');

picstr=[pathname filename];

if ~ischar(picstr)

return;

end

pic=imread(picstr); %打开图片

if length(size(pic))==3 %判断图片的维数,统一为灰度图片

pic=rgb2gray(pic);

end

pic=(pic<127); %转化为二值图片

pic=xylimit(pic); %图片区域的第一次边界限定

%%%%%%%第一阶段%%%%%%

m=size(pic,1);

Ycount=zeros(1,m);

for i=1:m

Ycount(i)=sum(pic(i,:));

end

lenYcount=length(Ycount);

Yflag=zeros(1,lenYcount);

for k=1:lenYcount-2

if Ycount(k)<3 && Ycount(k+1)<3 && Ycount(k+2)<3

Yflag(k)=1;

end

end

for k=lenYcount:1+2

if Ycount(k)<3 && Ycount(k-1)<3 && Ycount(k-2)<3

Yflag(k)=1;end

end

Yflag2=[0 Yflag(1:end-1)];

Yflag3=abs(Yflag-Yflag2); %做差分运算[~,row]=find(Yflag3==1); %找突变位置

row=[1 row m]; %调整突变位置点row1=zeros(1,length(row)/2); %截取图像的起始位置向量

row2=row1; %截取图像的终止位置向量

for k=1:length(row)

if mod(k,2)==1; %奇数为起始

row1((k+1)/2)=row(k);

el%偶数为终止

row2(k/2)=row(k);

end

end

pic2=pic(row1(1):row2(1),:); %截取第一列字符alpha=1024/size(pic2,2); %计算放缩比例

pic2=imresize(pic2,alpha); %调整第一列字符图片大小,作为基准

for k=2:length(row)/2

pictemp=imresize(pic(row1(k):row2(k),:),[size(pic 2,1) size(pic2,2)]);

pic2=cat(2,pic2,pictemp); %横向连接图像块end

pic=xylimit(pic2); %限定图像区域%%%%%%%第二阶段%%%%%%

[~,n]=size(pic);

Xcount=zeros(1,n);

for j=1:n

Xcount(j)=sum(pic(:,j));

-

matlab图片中找字,基于MATLAB的图片中字符的提取(源代码)

本文发布于:2023-12-11 19:01:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1702292487243247.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:matlab图片中找字,基于MATLAB的图片中字符的提取(源代码).doc

本文 PDF 下载地址:matlab图片中找字,基于MATLAB的图片中字符的提取(源代码).pdf

下一篇:返回列表
标签:字符   图片   提取   图像   位置   截取   向量   起始
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|