2013-11-24 37 views
2

我在一个文件夹中有一组图像,其中每个图像在白色背景上有方形或三角形形状(如thisthis) 。我想分开这些图像到不同的文件夹(请注意,我不在乎检测图像是方形/三角形等,我只是想分开这两个)。如何根据图像文件的内容将一组图像文件聚类到不同的文件夹

我打算在将来使用更复杂的形状(例如五边形或其他非几何形状),所以我正在寻找一种无监督的方法。但主要任务将总是将一组图像聚类到不同的文件夹中。

什么是最简单/最好的方法来做到这一点?我查看了图像聚类算法,但他们在图像内部进行颜色/形状的聚类。在我的情况下,我只是想根据具有的形状分开这些图像文件。

任何指针/帮助表示赞赏。

+0

这是一个非常宽泛的问题,它的一些似乎有点无关(文件/文件夹谈话)。要执行群集,您需要查找表示此任务的对象的[功能](http://en.wikipedia.org/wiki/Feature_(machine_learning))。你应该像谷歌的东西2D形状描述符和角点检测。 [这是一篇看起来相关的引用良好的调查报告。](http://vis.uky.edu/~cheung/courses/ee639_fall04/readings/shapeReview.pdf)。确保您还阅读了有关基本聚类技术(如k-means)的内容。 – YXD

回答

1

你可以按照这个方法:

1. Create a look-up tables with shape you are using in the images 
2. Do template matching on the images stored in a single folder 
3. According to the result of template matching just store them in different folders 
4. You can create folders beforehand and just replace the strings in program according to the usage. 

我希望这有助于

0

这真的要取决于你的数据集是什么样子(例如,你的形状图像的样子),以及如何强大的你想要你的解决方案。棘手的部分是要从每个形状图像中提取特征,产生您满意的聚类结果。有几个想法:

你可以计算SIFT特征每个图像,然后基于集群的这些特征的图像:http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

如果你不想去的SIFT路线,你可以尝试像HOGhttp://en.wikipedia.org/wiki/Histogram_of_oriented_gradients

一个稍微幼稚的做法 - 如果形状都是一样的规模,背景色是固定的,你可以得到基于形状区域(例如,数去掉背景集群的图像pix els被形状占据)。

相关问题