⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fenlitiqu.asv

📁 提取图片中数字的MATLAB程序
💻 ASV
字号:
bw0=imread('D:\MATLAB701\work\sxt5.bmp');
flag=islogical(bw0);
    if(flag==0),bw=im2bw(bw0,0.5);
        else bw=bw0;
    end
bw1=bw;
[B,L]=bwboundaries(bw,4);

gs=0;
c1=zeros(1,100);
c2=zeros(1,100);
c3=zeros(1,100);
c4=zeros(1,100);                        %找到每个连通域的质心
stats=regionprops(L,'Area','Centroid'); %循环历遍每个连通域的边界
    for k=1:length(B)                   %获取一条边界上的所有点
        boundary=B{k};
        h=boundary(1,1);
        w=boundary(1,2);                %获取边界所围面积
area=stats(k).Area;
    if(bw(h,w)==0&area>6)               %提取该连通域所对应在二值图像中的矩形区域
        goalboundary=boundary;
        s=min(goalboundary,[],1);
        e=max(goalboundary,[],1);
            for i=0:(e(2)-s(2)),bw1(s(1),s(2)+i)=0;bw1(e(1),s(2)+i)=0;
            end
                for i=0:(e(1)-s(1)),bw1(s(1)+i,s(2))=0;bw1(s(1)+i,e(2))=0;
                end
        gs=gs+1;
        c1(gs)=s(1);c2(gs)=s(2);c3(gs)=e(1);c4(gs)=e(2);
    end
end
sl=gs;
        for i=1:gs
            for j=1:gs
                if((c1(i)>c1(j))&(c1(i)<c3(j))&(c2(i)>c2(j))&(c2(i)<c4(j)))|((c1(i)>c1(j))&(c1(i)<c3(j))&(c4(i)>c2(j))&(c4(i)<c4(j)))|((c3(i)>c1(j))&(c3(i)<c3(j))&(c2(i)>c2(j))&(c2(i)<c4(j)))|((c3(i)>c1(j))&(c3(i)<c3(j))&(c4(i)>c2(j))&(c4(i)<c4(j)))
                    xg1=c3(i)-c1(j);xg2=c3(j)-c3(i);xg3=c2(i)-c2(j);xg4=c4(j)-c2(i);
                    
                

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -