欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

图像去重 使用开源库 imagededup简单实用

程序员文章站 2022-05-28 14:29:21
...

imagededup使用起来非常方便,可以应对一些基本场景,但是由于所依赖的库包较多,所以我是使用
anaconda创建虚拟环境防止影响生产或者测试环境

conda create -n img_dup python=3.6

conda activate img_dup

安装

pip install imagededup

简单示例

from imagededup.methods import PHash
phasher = PHash()

# 生成图像目录中所有图像的二值hash编码
encodings = phasher.encode_images(image_dir='path/to/image/directory')

# find_duplicates方法 对已编码图像寻找重复图像
duplicates = phasher.find_duplicates(encoding_map=encodings)
"""
{
  'image1.jpg': ['image1_duplicate1.jpg',
                'image1_duplicate2.jpg'],
  'image2.jpg': [..],
  ..
}
"""
# 绘制出指定图片的相同照片
from imagededup.utils import plot_duplicates
plot_duplicates(image_dir='path/to/image/directory',
                duplicate_map=duplicates,
                filename='image1.jpg')

# find_duplicates_to_remove 返回重复文件的文件列表
duplicates = phasher.find_duplicates_to_remove(encoding_map=encodings)

"""
[
  'image1_duplicate1.jpg', 
  'image1_duplicate2.jpg',
  ...
]
"""

开源地址:
https://github.com/idealo/imagededup

API教程:
https://idealo.github.io/imagededup/