有什么可以对比两张图片得出相似度的软件?选照片的软件

22小时前 (15:18:07)阅读2回复0
雕刻瞎
雕刻瞎
  • 管理员
  • 注册排名6
  • 经验值409275
  • 级别管理员
  • 主题81855
  • 回复0
楼主

有什么可以对比两张图片得出相似度的软件?

有什么可以对比两张图片得出相似度的软件?选照片的软件

我们熟悉的欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同属性(即各指标或各变量)之间的区别等同看待,这1点有时不能称心实际要求。例如,在教诲研究中,经常碰到对人的分析和判别,个体的不同属性对于区分个体有着不同的重要性。因此,有时需要摘用不同的距离函数。? ? 如果用dij表达 第i个样品和第j个样品之间的距离,那么对1切i,j和k,dij应该称心如下4个条件:①当且仅当i=j时,dij=0②dij>0③dij=dji(对称性)④dij≤dik+dkj(3角不等式)? ? 显然,欧氏距离称心以上4个条件。称心以上条件的函数有多种,本节将要用到的马氏距离也是其中的1种。? ? 第i个样品与第j个样品的马氏距离dij用下式计算:dij =(x i 1x j)‘S-1(x i1xj)? ? ?其中,x i 和x j各为第i个和第j个样品的m个指标所组成的向量,S为样本协方差矩阵。马氏距离有很多优点。它不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由准则化数据和中心化数据(即原始数据与均值之差)计算出的2点之间的马氏距离相同。马氏距离还可以清除变量之间的相关性的骚乱。它的缺点是夸大了转变微小的变量的作用。------------------------------------------------------------------------欧氏距离定义:欧氏距离( Euclidean distance)是1个一般摘用的距离定义,它是在m维空间中两个点之间的真实距离。在2维和3维空间中的欧式距离的就是两点之间的距离,2维的公式是d = sqrt((x1-x2)^ (y1-y2)^)3维的公式是d=sqrt(x1-x2)^ (y1-y2)^ (z1-z2)^)妥善到n维空间,欧式距离的公式是d=sqrt( ∑(xi1-xi2)^ ) 这里i=1,2..nxi1表达 第1个点的第i维坐标,xi2表达 第2个点的第i维坐标n维欧氏空间是1个点集,它的每个点可以表达 为(x(1),x(2),...x(n)),其中x(i)(i=1,2...n)是实数,称为x的第i个坐标,两个点x和y=(y(1),y(2)...y(n))之间的距离d(x,y)定义为上面的公式.欧氏距离看作信号的相似程度。距离越近就越相似,就越轻易相互骚乱,误码率就越高。--------------------------------------------------------------------------------马氏距离是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表达 数据的协方差距离。它是1种有效的计算两个未知样本集的相似度的方法。与欧式距离不同的是它考虑到各种特性之间的联系(例如:1条关于身高的信息会带来1条关于体重的信息,因为两者是有关联的),并且是尺度无关的(scale-invariant),即独立于测量尺度。下面是关于马氏距离的计算方法(参考:http://topic.csdn.net/u/20080911/14/f4402565-3b4f-4de4-a4fa-f4c020dd1477.html )两个样本:His1 = {3,4,5,6}His2 = {2,2,8,4}它们的均值为:U = {2.5, 3, 6.5, 5}协方差矩阵为:S =| 0.25 0.50 -0.75 0.50 || 0.50 1.00 -1.50 1.00 ||-0.75 -1.50 2.25 -1.50 || 0.50 1.00 -1.50 1.00 |其中S(i,j)={[His1(i)-u(i)]*[His1(j)-u(j)] [His2(i)-u(i)]*[His2(j)-u(j)]}/2下1步就是求出逆矩阵S^(-1)马氏距离 D=sqrt{[His1-His2] * S^(-1) * [(His1-His2)的转置列向量]}欧氏距离(http://en.wikipedia.org/wiki/Euclidean_distance )即两项间的差是每个变量值差的平方和再平方根,目标是计算其间的整体距离即不相似性。马氏距离(Mahalanobis distances)1)马氏距离的计算是建立在总体样本的基础上的,这1点可以从上述协方差矩阵的阐明 中可以得出,也就是说,如果拿同样的两个样本,放进两个不同的总体中,最后计算得出的两个样本间的马氏距离一般是不相同的,除非这两个总体的协方差矩阵凑巧 相同;2)在计算马氏距离过程中,要求总体样本数大于样本的维数,否则得到的总体样本协方差矩阵逆矩阵不存在,这种情状下,用欧式距离来代替马氏距离,也可以理解为,如果样本数小于样本的维数,这种情状下求其中两个样本的距离,摘用欧式距离计算就可以。3)还有1种情状,称心了条件总体样本数大于样本的维数,但是协方差矩阵的逆矩阵仍然不存在,比如A(3,4),B(5,6);C(7,8),这种情状是因为这3个样本在其所处的2维空间平面内共线(如果是大于2维的话,比较复杂???)。这种情状下,也摘用欧式距离计算。4)在实际使用中“总体样本数大于样本的维数”这个条件是很轻易称心的,而所有样本点出现3)中所描述的情状是很少出现的,所以在绝大多数情状下,马氏距离是可以顺利计算的,但是马氏距离的计算是不稳定的,不稳定的来源是协方差矩阵,这也是马氏距离与欧式距离的最大差异之处。我们熟悉的欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同属性(即各指标或各变量)之间的区别等同看待,这1点有时不能称心实际要求。马氏距离有很多优点。它不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由准则化数据和中心化数据(即原始数据与均值之差)计算出的2点之间的马氏距离相同。马氏距离还可以清除变量之间的相关性的骚乱。它的缺点是夸大了转变微小的变量的作用。?马氏距离的计算:[plain] view plain copy print?%欧氏距离和马氏距离的计算 ?x=[1 2;1 3;2 2;3 1]; ?[mx,nx]=size(x); ?Dis=ones(mx,nx);%产生全1的矩阵 ?C=cov(x);%计算协方差 ?for i=1:mx ?? ? for j=1:nx ?? ? ? ? D(i,j)=((x(i,:)-x(j,:))*inv(C)*(x(i,:)-x(j,:))‘)^0.5; ?? ? end ?end ?D ??Y=pdist(x,‘mahal‘) ?y=squareform(Y) ?[plain] view plain copy print??结果:前面.................

0
回帖

有什么可以对比两张图片得出相似度的软件?选照片的软件 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息