matlab:matlab做的图片关联性识别算法
Posted seen_in_hw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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),'°']);
%完
以上是关于matlab:matlab做的图片关联性识别算法的主要内容,如果未能解决你的问题,请参考以下文章
车牌识别基于HOG特征提取和GRNN网络的车牌识别算法matlab仿真
matlab中PCA的人脸识别,最后得出的识别率是啥意思啊!