V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
t1518968889
V2EX  ›  问与答

如何自建以图搜图?

  •  
  •   t1518968889 · Oct 11, 2017 · 4320 views
    This topic created in 3130 days ago, the information mentioned may be changed or developed.

    可能我搜索关键词用不准,但我找了多次,完全没头绪. 像谷歌识图那样,提交图片,然后返回相似的图片. 电脑上图片太多,用去重软件每次都要扫描很久,1 万张图差不多就要 1 小时左右,无法想象 10 万张图时的工作量. 有这方面现成的"搜索引擎"么?

    Supplement 1  ·  Oct 11, 2017
    我说的直白点吧.
    这有一个例子 http://konachan.com/post/similar
    他应该是索引了他拥有的所有图片的指纹,然后我提交 /上传一张图片,他就返回他拥有的图片里是否存在相似的图片给我,我就想弄一个这样的功能,方便自己查重,也提供这个服务给浏览者,绝不是简单的查找重复图片,不管速度多快,像我说的查重软件和 @azh7138m 给的链接,应该都是需要先扫描所有图片一次,下次查重时又要扫,很费时间,并且这也不是重点,重点是,我想弄一个这样的网页服务,而不是桌面程序什么的.
    6 replies    2017-10-12 00:19:59 +08:00
    lizhijun
        2
    lizhijun  
       Oct 11, 2017   ❤️ 4
    刚好最近在研究这个。写个程序生成图片的 phash 指纹,然后算两张图片指纹 phash 的汉明距离,如果这个汉明距离小于 5 说明这两张图片非常相似。附获取图片 phash 指纹的代码:
    ```python

    from PIL import Image
    import imagehash
    import sys

    img = Image.open('./images/1.jpg')
    print imagehash.phash(img)

    ```
    qiayue
        3
    qiayue  
    PRO
       Oct 11, 2017
    搜索引擎也要先索引你电脑上的所有图片啊
    weifding
        4
    weifding  
       Oct 11, 2017 via Android   ❤️ 1
    用特征的,你可以搜索下 surf 和 sift 算法。算法还好,速度才是最大问题。整套系统我以前建过。代码量不大,要设计的很巧妙才行。
    weifding
        5
    weifding  
       Oct 11, 2017 via Android
    桌面还是 web 服务,核心都是一样啊。我前面回复提示的够明显了吧。。
    t1518968889
        6
    t1518968889  
    OP
       Oct 12, 2017 via Android
    @weifding 够明显了~不过我还在找有没有现成的开源工具什么的,造轮子心累。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1004 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 18:42 · PVG 02:42 · LAX 11:42 · JFK 14:42
    ♥ Do have faith in what you're doing.