ML之Cosin:基于输入图片RGB均值化转为单向vector利用Cosin(余弦相似度)算法进行判别
ML之Cosin:基于输入图片RGB均值化转为单向vector利用Cosin(余弦相似度)算法进行判别
相关文章
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(结构相似性度量)算法进行判别
输出结果
代码实现
def Cosin(self, img_pat1, img_pat2):
image1 = Image.open(img_pat1)
image2 = Image.open(img_pat2)
image1 = self.get_thum(image1)
image2 = self.get_thum(image2)
image1_array = np.array(image1)
images = [image1, image2]
vectors = []
norms = []
for image in images:
vector = []
for pixel_tuple in image.getdata():
vector.append(average(pixel_tuple))
vectors.append(vector)
norms.append(linalg.norm(vector, 2))
vectors_array=np.array(vectors)
a, b = vectors
a_array=np.array(a)
a_norm, b_norm = norms
res = dot(a / a_norm, b / b_norm)
return res
赞 (0)