2012年11月30日 星期五

matlab 文字辨識


要辨識的圖像








要辨識的文字圖像








程式碼部分
會在圖像一樣的上面打X





clear all;
close all;


[X, map]=imread('howNow.png');

%structuring elements 可自訂
se=imread('n.png');
%將圖片轉為1維陣列
se2=reshape(se,1,size(se,1)*size(se,2));

figure(1)
imshow(X);
hold;

%順序是先將右邊的全部找完後 再往下找
%點向下移動
for q=1:size(X,1)-(size(se,1)-1)
    %點向右移動
    for p=1:size(X,2)-(size(se,2)-1)
        section=[];
        m=1;
        %將要判斷的圖形大小抓出來 ex 9*9
        for j=0:size(se,1)-1
            k=1;
            for i=0:size(se,2)-1
                section(m,k)=X(q+j,p+i);
                k=k+1;
            end
            m=m+1;
        end

        %將要判斷資料轉為1維陣列
        section=reshape(section,1,81);
        for w=1:size(se2,2)
            if se2(w)~=section(w)
                TE=0;
                break;
            end
            %如果陣列完全相同 TE=1
            TE=1;
        end
     
        %將陣列完全相同的點畫上記號
        if TE==1
            plot(p,q,'r X');
        end
    end
end


沒有留言:

張貼留言