目录
相关文章
ML之相似度计算:图像数据、字符串数据等计算相似度常用的十种方法简介、代码实现
ML之Hash_EditDistance&Hash_HammingDistance&Hog_HanMing&Cosin&SSIM:基于输入图片利用多种算法进行判别CV之Hog+HamMingDistance:基于Hog提取和汉明距离对比的应用—图像相似度对比之for循环将多个成对图片依次对比并输出相似度
ML之Hash_EditDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用编辑距离算法进行判别
ML之Hash_HamMingDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用汉明距离算法进行判别
ML之Hog_HammingDistance:基于Hog特征提取“RGB”图像的768个值的单向vector利用汉明距离算法进行判别
ML之Cosin:基于输入图片RGB均值化转为单向vector利用Cosin(余弦相似度)算法进行判别
ML之SSIM:基于输入图片RGB的三维向量利用SSIM(结构相似性度量)算法进行判别
输出结果
代码实现
1. def Cosin(self, img_pat1, img_pat2): 2. image1 = Image.open(img_pat1) 3. image2 = Image.open(img_pat2) 4. 5. image1 = self.get_thum(image1) 6. image2 = self.get_thum(image2) 7. image1_array = np.array(image1) 8. images = [image1, image2] 9. vectors = [] 10. norms = [] 11. for image in images: 12. vector = [] 13. for pixel_tuple in image.getdata(): 14. vector.append(average(pixel_tuple)) 15. vectors.append(vector) 16. norms.append(linalg.norm(vector, 2)) 17. vectors_array=np.array(vectors) 18. a, b = vectors 19. a_array=np.array(a) 20. a_norm, b_norm = norms 21. res = dot(a / a_norm, b / b_norm) 22. return res