我有很多图像(大约10000张)。我的目标是对一组二维矩阵进行二进制研究,并研究是否有图像重复并删除该图像。但是存在矩阵的概念又是另一个矩阵吗?我该如何解决?替代方法是按顺序进行研究,但效率低下。
答案 0 :(得分:0)
@Miki的建议似乎很有趣,因此我创建了一个可以使用的实现。
有关散列here
import hashlib, os, cv2
# location of images
path = '.'
# create list that will hold the hashes
all_hashes = []
# get and iterate all image paths
all_files = os.listdir(path)
for f in all_files:
# check image extension
name, ext = os.path.splitext(f)
if ext == '.jpg':
# open image
img = cv2.imread(f)
# hash the image and get hex representation
hash = hashlib.md5(img).hexdigest()
# check if hash already exists, if not then add it to the list
if hash in all_hashes:
print('Already exists: ' + f)
else:
all_hashes.append(hash)