matlab图像字符分割,matlab字符分割方法
该楼层疑似违规已被系统折叠隐藏此楼查看此楼以下是我编的,您给看一下,往下我就不会了。。。。。希望您能帮帮我clear allclose alli=imread('C:\Users\lenovo\Desktop\验证码.bmp')j=rgb2gray(i)figure(1),imshow(i),title('原始彩色图像')figure,imshow(j),title('灰度化后图像')level.
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以下是我编的,您给看一下,往下我就不会了。。。。。希望您能帮帮我
clear all
close all
i=imread('C:\Users\lenovo\Desktop\验证码.bmp')
j=rgb2gray(i)
figure(1),imshow(i),title('原始彩色图像')
figure,imshow(j),title('灰度化后图像')
level=graythresh(j)bw=im2bw(j,level)
figure,imshow(bw),title('二值化后图像')
y=medfilt2(bw,[3,3])figure,imshow(y),title('去除噪点后图像')
[m,n]=size(bw)
z=double(bw)
x1=zeros(1,n)
for h=1:n
for k=1:m
if(z(k,h)==0)
x1(1,h)=x1(1,h)+1
end end
end
figure, plot(0:n-1,x1)
x2 = x1;
x1(x1<=1)=0;
x1(x1>1) = 20;
figure, plot(0:n-1,x1)
nTotalUp = 0;
nTotalBottom = 0;
for i=1:n-1
if (x1(i) == 0 && x1(i+1) == 20)
nTotalUp = nTotalUp + 1;
PosUp(nTotalUp) = i+1;
end
if (x1(i) == 20 && x1(i+1) == 0)
nTotalBottom = nTotalBottom + 1;
PosBottom(nTotalBottom) = i;
end
end
%合并小区域
if (nTotalUp > 5)
for i = 1:nTotalUp
PosWidth(i) = PosBottom(i) - PosUp(i);
end
for i = 1:nTotalUp-1
PosDis(i) = PosUp(i+1) - PosBottom(i);
end
[PosSort, posn] = sort(PosWidth);
end
bw(1:m, PosUp(i)) = 0;
bw(1:m, PosBottom(i)) = 0;
figure, imshow(bw);px0=1px1=1
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)