V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mercury233
V2EX  ›  问与答

有哪些开源的逆向图片识别引擎?

  •  
  •   mercury233 · 2022-03-13 16:10:26 +08:00 · 1877 次点击
    这是一个创建于 1005 天前的主题,其中的信息可能已经有所发展或是发生改变。

    根据指定的图片集,输入一个图片,找到匹配的图片

    类似 iqdb 和 saucenao 那种

    图片集大约 12000 张

    以前用过 magwyz/pastec ,但项目停止维护了

    9 条回复    2022-03-13 22:45:37 +08:00
    131
        1
    131  
       2022-03-13 16:55:24 +08:00 via Android
    输入的图片是一样的吗?一样的话可以试试直接用 dHash
    mercury233
        2
    mercury233  
    OP
       2022-03-13 17:01:50 +08:00
    @131 不一样,有可能是水印甚至截图甚至拍屏
    imn1
        3
    imn1  
       2022-03-13 17:20:05 +08:00   ❤️ 1
    看样子并非原图压缩这种,这就复杂了
    imghash 几乎没什么用

    建议 opencv matchTemplate ,在输入图片截取一个区域,避开水印,然后对图片集逐个尝试匹配,必要时做缩放,因为 matchTemplate 需要两图能匹配的区域尺寸是接近的

    如果两张图在 1k*1k pixel 内,一对匹配一次耗时很短,超过 2K 就会变慢

    其他算法耗时都会很长,亲测
    如果追求准确率,不在乎时间,用 sift+第二种算法会很好
    Tink
        4
    Tink  
       2022-03-13 18:14:09 +08:00 via Android
    毕业设计用 matlab 做过根据边缘直方图和灰度直方图识别同种类图片,但是估计达不到要求
    learningman
        5
    learningman  
       2022-03-13 18:24:09 +08:00 via Android   ❤️ 1
    你一个拍屏把传统算法干掉一大半
    mercury233
        6
    mercury233  
    OP
       2022-03-13 19:44:14 +08:00
    @learningman 不考虑拍屏也行,但必须考虑输入图片比起图集里的图片四周有额外的像素或者少了一小部分
    @imn1 自己搞引擎太麻烦了,希望有一个只需要把图集喂进去就可以用的引擎
    locoz
        7
    locoz  
       2022-03-13 19:52:00 +08:00   ❤️ 1
    https://www.slidestalk.com/Milvus/qichacha?video
    感觉跟你的需求比较类似?
    ldyisbest
        8
    ldyisbest  
       2022-03-13 20:33:33 +08:00   ❤️ 1
    3dwelcome
        9
    3dwelcome  
       2022-03-13 22:45:37 +08:00
    用我的 imghash 工具啊,把 12000 张图片直接拖进去,底层的算法是 DCT 。

    http://tool2d.com#imagehash

    JS 估计速度有点慢,有用户需求我以后就改成 WASM 版本的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4510 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:55 · PVG 11:55 · LAX 19:55 · JFK 22:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.