python圖片去重複算法

import os

from imagededup.methods import PHash # pip install imagededup
phasher = PHash()

def process_file(img_path):
    # 生成圖像目錄中所有圖像的二值hash編碼
    encodings = phasher.encode_images(image_dir=img_path)
    duplicates = phasher.find_duplicates(encoding_map=encodings)
    only_img = []  # 唯一圖片
    like_img = []  # 相似圖片

    for img, img_list in duplicates.items():
        if img not in only_img and img not in like_img:
            only_img.append(img)
            like_img.extend(img_list)
    for p in like_img:
        os.remove(os.path.join(img_path,p))
    print('相似圖片{}張,唯一圖片{}張'.format(len(like_img),len(only_img)))



if __name__ == '__main__':
    image_path = r'F:\2023_07_10\zhangyifei\pic_data\pic_01'
    process_file(image_path)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章