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

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/

上一篇:Delphi XE2 之 FireMonkey 入门(9) - TBitmap


下一篇:Lucas-Kanade optical flow method for 3-D源码程序——三维LK光流提取算法