求问各位行家怎么区分出相似图片,找到目标图片。
相似的的图片主要是中间形状不同颜色不同,但是不太懂这方面,不知道怎么写代码。目前有两种方案,一个是提取出轮廓判断,一个是根据颜色判断。我还看到有些人说可以用卷积神经网络?对于这个真的毫无头绪
对于相似图片的区分,可以使用以下几种方法:
- 基于颜色的方法:可以使用颜色直方图或颜色特征来比较图片之间的相似度。颜色直方图是将图片中每个像素的颜色值统计出来,然后将其分成若干个区间,最后得到一个直方图。通过比较两张图片的颜色直方图,可以计算它们之间的相似度。颜色特征是将图片中每个像素的颜色值转换成一个特征向量,然后通过计算两个特征向量之间的距离来比较图片之间的相似度。
- 基于形状的方法:可以使用边缘检测算法提取出图片的轮廓,然后比较两张图片的轮廓之间的相似度。常用的边缘检测算法有Canny算法、Sobel算法等。
- 基于深度学习的方法:可以使用卷积神经网络(CNN)来训练一个分类器,将相似的图片归为同一类别。训练CNN需要大量的数据和计算资源,但是可以得到更准确的结果。
综上所述,对于不同的应用场景,可以选择不同的方法来区分相似图片。如果是对于颜色变化较大的图片,可以使用基于形状的方法;如果是对于形状变化较大的图片,可以使用基于颜色的方法;如果需要更高的准确率,可以使用基于深度学习的方法。
使用神经网络就不需要思考太多,直接上分类网络,搞点数据集训练一下,到时候你输入一张图片它告诉你类别。使用opencv的难点在于如何提取到每张图片中间不同形状的区域进行比较,如果有什么办法的话,用opencv分类也不难应该,主要还是不知道图像具体是啥样的