开发者社区> 问答> 正文

如何用python进行图像相似性识别?

我正在尝试使用python来进行图像相似性识别

有两组图片,一组是标准图片(或具有相同特征的图片),一组是非标准图片,我试图判断图片是否是标准图片

我的代码:

import cv2

def dhash(image): image = cv2.resize(image, (9, 8), interpolation=cv2.INTER_CUBIC) gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) dhash_str = '' for i in range(8): for j in range(8): if gray[i, j] > gray[i, j + 1]: dhash_str = dhash_str + '1' else: dhash_str = dhash_str + '0' result = '' for i in range(0, 64, 4): result += ''.join('%x' % int(dhash_str[i: i + 4], 2)) return result

def campHash(hash1, hash2): n = 0 if len(hash1) != len(hash2): return -1 for i in range(len(hash1)): if hash1[i] != hash2[i]: n = n + 1 return n

if name == 'main': tmp_img1 = cv2.imread('img1.jpg') tmp_img2 = cv2.imread('img2.jpg')

tmp_dhash_1 = dhash(tmp_img1)
tmp_dhash_2 = dhash(tmp_img2)

tmp_difference = campHash(tmp_dhash_1, tmp_dhash_2)
print(tmp_difference)

结果是精度非常低,即使它是标准图像。

有没有办法提取图像的功能,以确定图像是否具有特征?

展开
收起
被纵养的懒猫 2019-09-17 17:03:16 958 0
1 条回答
写回答
取消 提交回答
  • 如果只是业务需求的话,可以调用阿里云的图像识别api服务,通过图像指标去判断相似性

    2019-10-31 18:41:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载