跳转到主要内容

在Wagtail图像库中检测重复项。

项目描述

Wagtail Images De-duplicator

需求

Wagtail Images De-duplicator 与 wagtail>=3.0 兼容。

安装

使用 pip 安装此软件包。

pip install wagtail-images-deduplicator

配置

  • wagtail_images_deduplicator 添加到您的项目设置中的 INSTALLED_APPS

  • DuplicateFindingMixin 添加到您的 自定义图像模型 。以下是一个示例:

from wagtail.images.models import Image, AbstractImage, AbstractRendition

from wagtail_images_deduplicator.models import DuplicateFindingMixin


class CustomImage(DuplicateFindingMixin, AbstractImage):
    admin_form_fields = Image.admin_form_fields


class CustomRendition(AbstractRendition):
    image = models.ForeignKey(
        CustomImage, on_delete=models.CASCADE, related_name="renditions"
    )

    class Meta:
        unique_together = (("image", "filter_spec", "focal_point_key"),)

如果您选择添加混合并已有图像数据,您需要调用所有现有实例的 save() 来填写新的哈希值。

from wagtail.images import get_image_model

for image in get_image_model().objects.all():
    image.save()

设置

WAGTAILIMAGESDEDUPLICATOR_HASH_FUNC

此设置确定要使用的 哈希函数

哈希函数 参考 设置名称
平均哈希 http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html average_hash
感知哈希 http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html phash (默认)
差异哈希 http://www.hackerfactor.com/blog/index.php?/archives/529-Kind-of-Like-That.html dhash dhash_vertical
小波哈希 https://fullstackml.com/2016/07/02/wavelet-image-hash-in-python/ whash
HSV颜色哈希 colorhash
抗裁剪哈希 https://ieeexplore.ieee.org/document/6980335 crop_resistant_hash

WAGTAILIMAGESDEDUPLICATOR_MAX_DISTANCE_THRESHOLD

此设置确定考虑两幅图像为重复图像的最大距离。
默认值为5

为了帮助您评估这些不同算法的行为,并了解更多关于哈希距离的信息,请查看图像哈希库的README中的示例部分

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

wagtail-images-deduplicator-1.0a1.tar.gz (7.5 kB 查看哈希值)

上传时间 源代码

构建分发

wagtail_images_deduplicator-1.0a1-py3-none-any.whl (7.9 kB 查看哈希值)

上传时间 Python 3

由以下提供支持