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)

相关推荐