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

📄 all27.m

📁 一个用matlab编写的 关于笔画提取的仿真试验程序
💻 M
字号:
%function [t2,kk8,kk9]=napos(na,kk8,kk9)


close all;
clear;
%A2=imread('D:\a实验用\nh1.bmp','bmp');
%figure(9),imshow(A2);
tic;
A1=imread('伏.bmp');%%%%  w1/117/a104  qw/126/a157  l2/85/a99   qq/79/a64 yn/78/a75   h2/59/a44 annnew/56/a123 l21
A=rgb2gray(A1);
figure(1),imshow(A),title('原字符图像');
[m,n]=size(A);
% 
%  for i=1:m
%     for j=1:n
% if A(i,j) >20
%     A(i,j)=255;
% else
%         A(i,j)=0;
% end
% end
% end
A1=A;
A2=A;
%figure(11),imshow(A),title('原字符图像');

 for i=1:m
   for j=1:m
        kt3=i;
        kt4=j;
        t=0;
        while A2(kt3,kt4)>0&& kt4 <=n
            A2(kt3,kt4)=255;
            kt4=kt4+1;
            t=t+1;
        end
        if t>2 
            for c=(j+1):(kt4-1)
                A2(i,c)=0;
            end
        end
if kt4<=n &&kt4 >j
    j=kt4;
else
    j=j+1;
end
end
end
C2=A2;
figure(2),imshow(A2),title('列');   
% &&( A1(kt1,kt2-1) >0 &&A1(kt1,kt2+1) >0 )
 for j=1:n
     i=1;
     while  i<=m
       kt1=i;
        kt2=j;
        t=0;
        while A2(kt1,kt2) >0 &&kt1 <=m 
           A1(kt1,kt2) =255;
            kt1=kt1+1;
            t=t+1;
        end
        if t<=6
            for c=(i):(kt1-1)
                A2(c,j)=0;
            end
        end
if kt1<= m && kt1>i
    i=kt1;
else 
    i=i+1;
end
end
end

figure(3),imshow(A2),title('列');
 
% 
% figure(4),imshow(C3),title('所有的边缘');
% figure(6),imshow(A1),title('先行后列');
% figure(7),imshow(A2),title('先列后行.');
%

% 
% %  &&(A2(kt3-1,kt4) >0 && A2(kt3+1,kt4) >0 )

% 
%  C2=A2;
%  figure(5),imshow(A2),title('.....');
%  for i=1:m
%     for j=1:n
%    
%         kt3=i;
%         kt4=j;
%         t=0;
%         while A1(kt3,kt4) >0 && kt4 <=n
%             
%              A1(kt3,kt4)=255;
%              kt4=kt4+1;
%             t=t+1;
%         end
%         if t>2;
%             for c=(j+1):(kt4-2)
%                 A1(i,c)=0;
%             end
%         end
% if kt4<=n
%     j=kt4;
% end
% end
% end
% 
% for j=1:n
%     for i=1:m
%         kt1=i;
%         kt2=j;
%         t=0;
%         while A2(kt1,kt2) >0 && kt1 <=m
%             A2(kt1,kt2) =255;
%             kt1=kt1+1;
%             t=t+1;
%         end
%         if t<=2&&t>=1;
%             for c=i:(kt1)
%                 A2(c,j)=0;
%             end
%         end
% if kt1<m
%     i=kt1;
% end
% end
% end
% 
 for i=1:m
    for j=1:n
C3(i,j)=double(C2(i,j))-double(A2(i,j));   
% A3(i,j)=double(A1(i,j))+double(A2(i,j));

end
end
%      figure(2),imshow(C1),title('行');   
% figure(3),imshow(C2),title('列');
% 
figure(4),imshow(C3),title('pie');
% figure(6),imshow(A1),title('先行后列');
% figure(7),imshow(A2),title('先列后行.');
% figure(5),imshow(A3),title('.....');function [t2,kk8,kk9]=napos(na,kk8,kk9)





%A2=imread('D:\a实验用\nh1.bmp','bmp');
%figure(9),imshow(A2);
% tic;
% A1=imread('学1.bmp');%%%%  w1/117/a104  qw/126/a157  l2/85/a99   qq/79/a64 yn/78/a75   h2/59/a44 annnew/56/a123 l21
% A=rgb2gray(A1);
% figure(1),imshow(A),title('原字符图像');
% [m,n]=size(A);
% % 
% %  for i=1:m
% %     for j=1:n
% % if A(i,j) >20
% %     A(i,j)=255;
% % else
% %         A(i,j)=0;
% % end
% % end
% % end
% A1=A;
% A2=A;
% figure(11),imshow(A),title('原字符图像');

% &&( A1(kt1,kt2-1) >0 &&A1(kt1,kt2+1) >0 )
for j=1:n
    for i=1:m
        kt1=i;
        kt2=j;
        t=0;
        while A1(kt1,kt2) >0 &&kt1 <=m 
           A1(kt1,kt2) =255;
            kt1=kt1+1;
            t=t+1;
        end
        if t>2;
            for c=(i+1):(kt1)
                A1(c,j)=0;
            end
        end
if kt1<m
    i=kt1;
end
end
end
C1=A1;
figure(2),imshow(A1),title('行');   
% figure(3),imshow(C2),title('列');
% figure(4),imshow(C3),title('所有的边缘');
% figure(6),imshow(A1),title('先行后列');
% figure(7),imshow(A2),title('先列后行.');
%

% 
% %  &&(A2(kt3-1,kt4) >0 && A2(kt3+1,kt4) >0 )
A2=A1;
 for i=1:m
     j=1;
   while j<=n
        kt3=i;
        kt4=j;
        t=0;
        while A2(kt3,kt4)>0&& kt4 <=n
%             A2(kt3,kt4)=255;
            kt4=kt4+1;
            t=t+1;
        end
        if t<=6 && t>0
            for c=(j):(kt4-1)
                A2(i,c)=0;
            end
        end
if kt4<=n &&kt4 >j
    j=kt4;
else
    j=j+1;
end
end
end
 C2=A2;
 figure(5),imshow(A2),title('.....');
%  for i=1:m
%     for j=1:n
%    
%         kt3=i;
%         kt4=j;
%         t=0;
%         while A1(kt3,kt4) >0 && kt4 <=n
%             
%              A1(kt3,kt4)=255;
%              kt4=kt4+1;
%             t=t+1;
%         end
%         if t>2;
%             for c=(j+1):(kt4-2)
%                 A1(i,c)=0;
%             end
%         end
% if kt4<=n
%     j=kt4;
% end
% end
% end
% 
% for j=1:n
%     for i=1:m
%         kt1=i;
%         kt2=j;
%         t=0;
%         while A2(kt1,kt2) >0 && kt1 <=m
%             A2(kt1,kt2) =255;
%             kt1=kt1+1;
%             t=t+1;
%         end
%         if t<=2&&t>=1;
%             for c=i:(kt1)
%                 A2(c,j)=0;
%             end
%         end
% if kt1<m
%     i=kt1;
% end
% end
% end
% 
%  for i=1:m
%     for j=1:n
% C3(i,j)=double(C1(i,j))+double(C2(i,j));   
% A3(i,j)=double(A1(i,j))+double(A2(i,j));
% 
% end
% end
%      figure(2),imshow(C1),title('行');   
% figure(3),imshow(C2),title('列');
% figure(4),imshow(C3),title('所有的边缘');
% figure(6),imshow(A1),title('先行后列');
% figure(7),imshow(A2),title('先列后行.');
% figure(5),imshow(A3),title('.....');

⌨️ 快捷键说明

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