2024-09-28 01:27:01 发布
网友
我有一个文件夹,里面有成百上千张图片,有些看起来很像。我想创建将这些图像分开的簇(在同一个簇中看起来相似的那些)。在
我无法确定需要多少簇,这取决于图像。 有没有人知道如何使用Python、OpenCV以及使用哪种算法?在
我做了一些研究,发现仿射投影(AffinityPropagation)或DBSCAN对我很有用,但我不知道从哪里开始(如何编码我的图像,我应该把什么传递给那些算法等等…)
不幸的是,图像并不是那么简单,因为天真的聚类会导致具有相同颜色的图像簇,而不是相同的“内容”。您可以使用神经网络作为图像的特征提取器,我看到两个选项:
选项1更便宜,因为您可以很容易地找到预先训练的模型,选项2的计算成本要高得多,但应该工作得更好,尤其是在您的域中没有预先训练的模型时。在
This tutorial(在互联网上随机找到)似乎是对方法2的一个很好的介绍。在
不幸的是,图像并不是那么简单,因为天真的聚类会导致具有相同颜色的图像簇,而不是相同的“内容”。您可以使用神经网络作为图像的特征提取器,我看到两个选项:
选项1更便宜,因为您可以很容易地找到预先训练的模型,选项2的计算成本要高得多,但应该工作得更好,尤其是在您的域中没有预先训练的模型时。在
This tutorial(在互联网上随机找到)似乎是对方法2的一个很好的介绍。在
相关问题 更多 >
编程相关推荐