【matlab】:matlabによるピクチャ関連性識別アルゴリズム


ダイレクトコード
%                
picture1 = imread('d:\\  .jpg');
picture2 = imread('d:\\  2.jpg');
picture1 = rgb2gray(picture1);
picture2 = rgb2gray(picture2);
t1=picture1;
[a1,b1]=size(t1);
t2=picture2;
t2=imresize(t2,[a1 b1],'bicubic');%       
t1=round(t1);
t2=round(t2);
e1=zeros(1,256);
e2=zeros(1,256);
%       /
for i=1:a1
    for j=1:b1
        m1=t1(i,j)+1;
        m2=t2(i,j)+1;
        e1(m1)=e1(m1)+1;
        e2(m2)=e2(m2)+1;
    end
end
figure;
imhist(uint8(t1));
figure;
imhist(uint8(t2));
%      64  
m1=zeros(1,64);
m2=zeros(1,64);
for i=0:63
    m1(1,i+1)=e1(4*i+1)+e1(4*i+2)+e1(4*i+3)+e1(4*i+4);
    m2(1,i+1)=e2(4*i+1)+e2(4*i+2)+e2(4*i+3)+e2(4*i+4);
end
%       
A=sqrt(sum(sum(m1.^2)));
B=sqrt(sum(sum(m2.^2)));
C=sum(sum(m1.*m2));
cos1=C/(A*B);%     
cos2=acos(cos1);%  
v=cos2*180/pi;%     
figure;
imshow(uint8([t1,t2]));
title(['    :',num2str(cos1),' ','     :',num2str(v),'°']);
%