对一组矩阵进行排序

时间:2019-05-23 10:47:36

标签: python numpy opencv

我有很多图像(大约10000张)。我的目标是对一组二维矩阵进行二进制研究,并研究是否有图像重复并删除该图像。但是存在矩阵的概念又是另一个矩阵吗?我该如何解决?替代方法是按顺序进行研究,但效率低下。

1 个答案:

答案 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)