如何根据猪的功能删除类似的图像?

时间:2014-06-27 09:25:31

标签: opencv computer-vision

我有5000个图像,每个图像可以生成一个大约1000维度的矢量(猪特征),但是有些图像非常相似,所以我想删除相似的图像。有没有办法实现这个目标?

=============================================== ================

正如他们提到的@thedarkside所建议的那样,让我再解释一下我想要做些什么。我正在使用SVM + HOG功能进行图像分类。我准备了一些训练数据,但是一些训练图像非常相似,所以我想删除类似的训练数据以降低计算成本。我不知道删除类似图像是否会对最终分类率产生副作用,因此必须找到“相似性”的良好标准。这就是我想要做的。

2 个答案:

答案 0 :(得分:0)

另一种方式(不使用生猪功能),您可以为每张图片计算color histogram并与其他图片进行比较。

像,

  1. 获取第一张图片并计算直方图,

  2. 现在,对于其他图像,计算直方图和compare与第一个。

  3. 如果您在直方图上找到紧密匹配,则可以将其丢弃。通过使用CV_COMP_CORREL,您将获得0-1范围内的匹配。

答案 1 :(得分:0)

这取决于你的意思相似,目前我最喜欢的图像相似性描述符是gist描述符。

http://people.csail.mit.edu/torralba/code/spatialenvelope/

但它不在opencv中。但是它在这里用C编码,所以可以添加到c ++项目(extern" C"),如果你使用c ++ opencv,不确定python抱歉。

http://people.rennes.inria.fr/Herve.Jegou/software.html

我发现这非常好,效率很高。

(对不起,这不是一个直接的opencv解决方案,但我觉得这是一个合理的答案,因为gist C代码可以添加到c ++项目中,并且效果很好。)

编辑: 如果您只想删除具有类似猪的描述符的那些,您可以使用: http://docs.opencv.org/modules/ml/doc/k_nearest_neighbors.html 要么 http://docs.opencv.org/trunk/modules/flann/doc/flann_fast_approximate_nearest_neighbor_search.html