图像1和2为RGB图,放在m文件夹下;直接输入二值的话就不用埋春im2bw了,pio是相似比
I1=imread('1.jpg')I2=imread('2.jpg')
I1_bw=im2bw(I1)%%二值化
I2_bw=im2bw(I2)
[h,w]=size(I1_bw)%%获缓链取图的宽高h/w
sum=0
for i=1:h
for j=1:w
弯哪耐if I1_bw(i,j)==I2_bw(i,j)%%逐点比较相似
sum=sum+1
end
end
end
pio=double(sum)/h/w
1、首先在电脑桌面找到matlab,建立一个M文件fun_ex5.m文件,输入程序如下。
2、新建的文件如下图所示,是一个m文件,m文件只能通过matlab打开,不能在桌面上直接双击打开。
3、在建立一个m文件,文件名为mycon_ex5.m,定义非线性的约束,程序如下。
4、然后保存之后,输入程序,悄芦盯如下图所示。
5、接着输入程序,记住字母书哗世写的启和方式以及输入状态。
6、最后可以看到如下图所示,最优值为fval=-28.7000,最优解为x=2.91551.8708,就完成了。
图像相似度计算主要用于对于两幅图像之间内容的相似程度进行打分,根据分数的高低来判断图像内容的相近程度。
可以用于计算机视觉中的检测跟踪中目标位置的获取,根据已有模板在图像中找到一个与之最接近的区域租颂。然后一直跟着。已有的一些算法比如BlobTracking,Meanshift,Camshift,粒子滤波等等也都是需要这方面的理论去支撑。
还有一方面就是基于图像内容的图像检索,也就是通常说的以图检图。比如给你某一个人在海量的图像数据库中罗列出与之最匹配的一些图像,当然这项技术可能敏慧也会这样做,将图像抽象为几个特征值,比如Trace变换,图像哈希或者Sift特征向量等等桥型答,来根据数据库中存得这些特征匹配再返回相应的图像来提高效率。
(1)直方图匹配。
比如有图像A和图像B,分别计算两幅图像的直方图,HistA,HistB,然后计算两个直方图的归一化相关系数(巴氏距离,直方图相交距离)等等。
这种思想是基于简单的数学上的向量之间的差异来进行图像相似程度的度量,这种方法是目前用的比较多的一种方法,第一,直方图能够很好的归一化,比如通常的256个bin条的。那么两幅分辨率不同的图像可以直接通过计算直方图来计算相似度很方便。而且计算量比较小。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)