使用Hopfield网络识别图像图案的结果较差

时间:2019-06-25 07:52:25

标签: matlab image-processing

我在matlab中编写了一个代码,用于使用Hopfield Network进行图像模式识别。 我的代码没有错误,因为我使用字母模式,所以可以获得很好的结果。但是当我使用数字模式时,结果会有所不同。为此,我对六个数字使用了两种不同的模式。 如果可以的话,请引导我。

matlab
% Retrieval phase

for input = 1:6 

    figure(input+1);
    set(gcf,'Name','Testing Covergence from 2nd input to 1st input')
    subplot(4,5,2)
    Imageplot1(P(:,input),Dimension,Dimension);
    xlabel('1st pat')
    subplot(4,5,4)
    Imageplot1(P2(:,input),Dimension,Dimension)
    xlabel('2nd pat')

    update = 400 ; % iritation to show

    Input = P2(:,input);
    plot='on';

    %% my check 
    Out = zeros(Dime,1) ;
    Counter = 1 ;

    for j = 1:Dime
        Out(j) = sign(W(j,:)*Input);        %Convergence Condition

        if Out(j)~= Input(j)
            Input(j) = Out (j) ;
            Iteration(:,Counter) = Input ;
            Counter = Counter + 1 ;
        end
    end

    It_n = ceil ( Counter / update ) ;
    figure (input + 1)

    for n = 1 : It_n
        if (n * update) < (Counter - 1)
        subplot(4,5,5+n)
        Imageplot1(Iteration(:,n * update),Dimension,Dimension);
        pause(0.3);
        end
    end

        subplot(4,5,18)
        Imageplot1(Iteration(:,end),Dimension,Dimension);
        xlabel('final Iteration')
        clear Iteration

end

0 个答案:

没有答案