#!/usr/bin/python # -*- coding: UTF-8 -*- import cv2 import os # 均值哈希算法 def aHash(img): # 缩放为8*8 img = cv2.resize(img, (8, 8), interpolation=cv2.INTER_CUBIC) # 转换为灰度图 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # s为像素和初值为0,hash_str为hash值初值为'' s = 0 hash_str = '' # 遍历累加求像素和 for i in range(8): for j in range(8): s = s + gray[i, j] # 求平均灰度 avg = s / 64 # 灰度大于平均值为1相反为0生成图片的hash值 for i in range(8): for j in range(8): if gray[i, j] > avg: hash_str = hash_str + '1' else: hash_str = hash_str + '0' return hash_str # 差值感知算法 def dHash(img): # 缩放8*8 img = cv2.resize(img, (9, 8), interpolation=cv2.INTER_CUBIC) # 转换灰度图 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) hash_str = '' # 每行前一个像素大于后一个像素为1,相反为0,生成
python现实单个图片与批量图片相似度对比
最新推荐文章于 2023-06-20 02:53:43 发布
该博客使用Python的OpenCV库实现图片的均值哈希(aHash)和差值感知哈希(dHash)算法,通过比较两张图片的哈希值来评估它们的相似度。在给定的目录下,对一批图片进行遍历,并与指定参考图片进行对比,找出相似度高于99.5%的图片。
摘要由CSDN通过智能技术生成