{ "info": { "author": "Horia Coman", "author_email": "horia141@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Multimedia :: Graphics", "Topic :: Multimedia :: Video", "Topic :: Scientific/Engineering :: Image Recognition", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# SDHash [![Build Status](https://travis-ci.org/horia141/sdhash.svg?branch=master)](https://travis-ci.org/horia141/sdhash)\n\nA Python library for computing hashes of images which ignore perceptual differences.\n\n## Usage\n\n```python\nimport sdhash\nfrom PIL import Image\n\ni1 = Image.open('test1.png')\ni2 = Image.open('test1_noise.png')\ni3 = Image.open('test2.png')\n\nsdhash.test_duplicate(i1, i2) # True\nsdhash.test_duplicate(i1, i3) # False\nsdhash.hash_image(i1) # [ an md5 output ]\n```\n\n## Background\n\nSuppose you want to test that two images are identical. The naive approach of simply comparing the byte-array representation of the two is not good.\n\n## Algorithm\n\n## Installation ##\n\nThe Python image library and NumPy/SciPy etc.\n\nInstallation is simple, via `pip`:\n\n```bash\npip install sdhash\n```\n\n## TODO\n\nResistance to rotation, mirroring etc.\nTunable knobs (for similarity detection etc.)", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/horia141/sdhash", "keywords": "photo image gif hash perceptual dedup deduplication fft", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "sdhash", "package_url": "https://pypi.org/project/sdhash/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sdhash/", "project_urls": { "Homepage": "http://github.com/horia141/sdhash" }, "release_url": "https://pypi.org/project/sdhash/0.0.4/", "requires_dist": [ "pillow", "numpy", "scipy" ], "requires_python": null, "summary": "Library for image hashing and deduplication.", "version": "0.0.4" }, "last_serial": 1729107, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "983c3499ab2e839a865bc99b90643af6", "sha256": "833af1198697dfb0986d3292cc947a5c5bf4f2941bf799620a28c69cc1c6c54f" }, "downloads": -1, "filename": "sdhash-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "983c3499ab2e839a865bc99b90643af6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5458, "upload_time": "2015-08-31T17:42:12", "url": "https://files.pythonhosted.org/packages/b3/a1/f37d39970e826d493b9d0d1d180894ab38ae46891e81529c177f644e0508/sdhash-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fec0f31e8f77a61da7b3084f24e70749", "sha256": "82f42611179bd906593505243605090684ad28583037c32b206aa0013f3f6f9e" }, "downloads": -1, "filename": "sdhash-0.0.1.tar.gz", "has_sig": false, "md5_digest": "fec0f31e8f77a61da7b3084f24e70749", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3913, "upload_time": "2015-08-31T17:42:15", "url": "https://files.pythonhosted.org/packages/a8/60/f3a3e234ea7d33139fb41b957cc812495dfe855a7776d8f358b4b44ae363/sdhash-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "01afcd9b1c31738ba7b4d6df64385832", "sha256": "619c794f173709706321fecf24c945ac2c336cd66f310624f54951d2cd1fd1a0" }, "downloads": -1, "filename": "sdhash-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "01afcd9b1c31738ba7b4d6df64385832", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5456, "upload_time": "2015-08-31T09:58:25", "url": "https://files.pythonhosted.org/packages/8f/90/d585b531e9d744423be77cafefcbf4e57eafc9d08a2729584d3686ee49b6/sdhash-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a621169e618fb33799bdc959da0e4a34", "sha256": "51e07b32b2b66fb026ecf0acbae0a2a025c754a913669c9049f5f0971acaa547" }, "downloads": -1, "filename": "sdhash-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a621169e618fb33799bdc959da0e4a34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3927, "upload_time": "2015-08-31T09:58:28", "url": "https://files.pythonhosted.org/packages/57/64/1806defcf1f44fb6c7df7f6aa6f01809c6a693abcdb077420d0952df6a14/sdhash-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "3c9336067b8c3cfb908f0742fbb0c4f5", "sha256": "b06e7074fd7d6c281bf39524de0b1e439d66bce5dec0ca8b8ca7535956e06b6c" }, "downloads": -1, "filename": "sdhash-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "3c9336067b8c3cfb908f0742fbb0c4f5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5516, "upload_time": "2015-09-18T15:07:39", "url": "https://files.pythonhosted.org/packages/19/fe/a41f9b3a4feadceba0787b22f306c526b12c78542e071d5aecef52040741/sdhash-0.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49bfb4adf5491f4af228d0770a38877d", "sha256": "275166eeecd39f461a84207210e07b4ce83f5c115b3c5f6daea9d26239ef682d" }, "downloads": -1, "filename": "sdhash-0.0.3.tar.gz", "has_sig": false, "md5_digest": "49bfb4adf5491f4af228d0770a38877d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3961, "upload_time": "2015-09-18T15:07:44", "url": "https://files.pythonhosted.org/packages/c6/42/46269b144920e91394c446d53675d974d6d42cf2b1d094a87e3408d9ef53/sdhash-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "633e558c130a1acfa427745d0af1d309", "sha256": "d67553152fb444b7a9237d08674640882447b60e950a40614558285fa03b7de6" }, "downloads": -1, "filename": "sdhash-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "633e558c130a1acfa427745d0af1d309", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5514, "upload_time": "2015-09-19T05:55:35", "url": "https://files.pythonhosted.org/packages/73/1a/c58efc594f8ca4b952479ff2f004952502d0e209796ccf0e924701b2d908/sdhash-0.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdfcff44910a0ae1c36dfa6a86540539", "sha256": "efb30ae8ab214b954282c003c6c6012f2cc131a722ec752f6d7d92076072204b" }, "downloads": -1, "filename": "sdhash-0.0.4.tar.gz", "has_sig": false, "md5_digest": "fdfcff44910a0ae1c36dfa6a86540539", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3960, "upload_time": "2015-09-19T05:55:39", "url": "https://files.pythonhosted.org/packages/19/b3/851dea40504daf899c0e545cdaa1641844d8090fe65ca319f13beebb3a7e/sdhash-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "633e558c130a1acfa427745d0af1d309", "sha256": "d67553152fb444b7a9237d08674640882447b60e950a40614558285fa03b7de6" }, "downloads": -1, "filename": "sdhash-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "633e558c130a1acfa427745d0af1d309", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5514, "upload_time": "2015-09-19T05:55:35", "url": "https://files.pythonhosted.org/packages/73/1a/c58efc594f8ca4b952479ff2f004952502d0e209796ccf0e924701b2d908/sdhash-0.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdfcff44910a0ae1c36dfa6a86540539", "sha256": "efb30ae8ab214b954282c003c6c6012f2cc131a722ec752f6d7d92076072204b" }, "downloads": -1, "filename": "sdhash-0.0.4.tar.gz", "has_sig": false, "md5_digest": "fdfcff44910a0ae1c36dfa6a86540539", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3960, "upload_time": "2015-09-19T05:55:39", "url": "https://files.pythonhosted.org/packages/19/b3/851dea40504daf899c0e545cdaa1641844d8090fe65ca319f13beebb3a7e/sdhash-0.0.4.tar.gz" } ] }