photohash, 一种 python 感知图像散列

分享于 

3分钟阅读

GitHub

  繁體 雙語
A Python Perceptual Image Hashing Module
  • 源代码名称:photohash
  • 源代码网址:http://www.github.com/bunchesofdonald/photohash
  • photohash源代码文档
  • photohash源代码下载
  • Git URL:
    git://www.github.com/bunchesofdonald/photohash.git
    Git Clone代码到本地:
    git clone http://www.github.com/bunchesofdonald/photohash
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/bunchesofdonald/photohash
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    PhotoHash https://travis-ci.org/bunchesofdonald/django-hermes.svg?branch=master

    这主要是为了我自己的使用和教育而创建的。 它是一种感知哈希算法,用于查找两个图像是否相似。

    安装

    
    
    
    
    pip install PhotoHash
    
    
    
    
    

    用法

    average_hash

    使用平均哈希算法返回图像的哈希。 这里算法将图像中的每个像素与所有像素的平均值进行比较:

    
    
    
    
    import photohash
    
    
    hash = photohash.average_hash('/path/to/myimage.jpg')
    
    
    
    
    

    距离

    返回给定图像的average_hash之间的汉明距离。:

    
    
    
    
    import photohash
    
    
    distance = photohash.distance('/path/to/myimage.jpg', '/path/to/myotherimage.jpg')
    
    
    
    
    

    is_look_alike

    返回一个布尔值,该布尔值是否与照片相似:

    
    
    
    
    import photohash
    
    
    similar = photohash.is_look_alike('/path/to/myimage.jpg', '/path/to/myotherimage.jpg')
    
    
    
    
    

    is_look_alike还采用可选的公差参数,它定义了比较的严格程度。:

    
    
    
    
    import photohash
    
    
    similar = photohash.is_look_alike('/path/to/myimage.jpg', '/path/to/myimage.jpg', tolerance=3)
    
    
    
    
    

    hash_distance

    返回相同长度的两个散列之间的汉明距离:

    
    
    
    
    import photohash
    
    
    hash_one = average_hash('/path/to/myimage.jpg')
    
    
    hash_two = average_hash('/path/to/myotherimage.jpg')
    
    
    distance = photohash.hash_distance(hash_one, hash_two)
    
    
    
    
    

    hashes_are_similar

    返回两个散列是否在给定公差范围内的布尔值。 与is_look_alike相同,但采用散列而不是图像路径:

    
    
    
    
    import photohash
    
    
    hash_one = average_hash('/path/to/myimage.jpg')
    
    
    hash_two = average_hash('/path/to/myotherimage.jpg')
    
    
    similar = photohash.hashes_are_similar(hash_one, hash_two)
    
    
    
    
    

    hashes_are_similar也采用is_look_alike所做的相同的可选容差参数。


    图像  模块  哈希  hashing