我搜索了所有可能相关的关键字,但我的结果并不是我想要的,因为我发现的大多数算法都对COLOR非常关注。
我的应用的想法是识别具有最高相似性的图像对。
例如,我的输入是a,图像池包含b,c,d,e。 结果将是b(90%),d(85%),e(80%),c(20%)。
我的问题是可以采用什么方法来计算这种“图像相似度”? 或者我必须从零构建我自己的代码?
答案 0 :(得分:1)
也许你应该看看Hough transform。这些线将对应于变换图像中的峰值。然后你可以识别这些峰值像素,并以某种方式将它们的位置与原始图像的位置进行比较。
答案 1 :(得分:0)
查看 SSIM 以比较两张图片。 SSIM 代表结构相似性指数指标,其基于两个图像之间的相似性给出单个值。访问维基百科页面Structural Similarity
答案 2 :(得分:0)
首先,最好的工具是OpenCV,它适用于大多数常见的编程语言。
您可以看到文档页面,有很多功能可以帮助您。
函数approxPolyDP()
(see the detail here)
它以指定的精度近似多边形曲线(您的形状)。
在此之前,您必须检测几张图像中的轮廓。
this example对您非常有帮助:
改进:
答案 3 :(得分:0)
您可以查看形状上下文http://en.wikipedia.org/wiki/Shape_context以计算形状之间的相似性,互联网上有许多形状上下文的实现,可以在此处访问完整的论文http://www.cs.berkeley.edu/~malik/papers/BMP-shape.pdf