快速查找视觉上相似的图像

libpuzzle的Python项目详细描述


为python实现libpuzzle

它的目的是快速找到视觉上相似的图像(gif,png,jpg),甚至 如果它们已调整大小、重新压缩、重新着色或稍加修改。

示例应用程序:

  • 在照片库中查找重复图像
  • 图像分类
  • 图像搜索服务
  • 中庸(用户在论坛、维基、博客等上发送的图片)。图片 类似于之前被禁止的其他图片 主持人。

库依赖于gd库来加载位图图片。

在Debian服务器上,安装将是:

$ apt -y install libpuzzle-dev libgd2-xpm-dev
$ pip install libpuzzle

用法:

from libpuzzle import Puzzle, SIMILARITY_THRESHOLD

puzzle = Puzzle()
sign1 = puzzle.from_filename('img1.jpg')
sign2 = puzzle.from_filename('img2.png')
distance = sign1.distance(sign2)
if distance <= SIMILARITY_THRESHOLD:
    print('images are propably the same')

API:

SIMILARITY_THRESHOLD
SIMILARITY_HIGH_THRESHOLD
SIMILARITY_LOW_THRESHOLD
SIMILARITY_LOWER_THRESHOLD

class Puzzle:

    max_width  #

    max_height  #

    lambdas  #

    noise_cutoff  #

    p_ratio  #

    contrast_barrier_for_cropping  #

    max_cropping_ratio  #

    autocrop  #

    from_filename(filename) -> Signature
        # hydrate Signature from filename

    from_signature(sign) -> Signature
        # hydrate Signature from value

    from_compressed_signature(sign) -> Signature
        # hydrate Signature from compressed value


class Signature:
    # Implements signature

    value  # the value
    compressed  # the compressed value

    distance(signature) -> float
        # distance between 2 signatures


exception PuzzleError:
    # Raise when something went wrong

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java根据两个数组的值对数组进行排序   具有自签名证书和NTLM代理的java Maven SSL repo错误   java自定义字体按钮不工作AndroidStudio   java通过Spring MVC web应用程序向客户端发送文本文件   Java Spring Web服务SOAP身份验证   ANT property environment=“env”无法在JAVA中检索它,但如果作为ANT命令运行,则可以正常工作   java是为spring mvc rest api或spring boot api对应用服务器的每个新请求创建的服务、存储库和组件的新实例吗?   java私有静态最终字符串未完成其工作   PKCS12的安全Java密钥重新处理   java JPA继承表每类SQLSyntaxErrorException