V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qq275327347
V2EX  ›  程序员

问下各位大佬, Python 下除了 cv2.matchTemplate,还有什么宽容度高一点的图像识别模块吗?

  •  
  •   qq275327347 · 2020-12-29 19:41:04 +08:00 · 1561 次点击
    这是一个创建于 1406 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,最近在写一个模拟人工操作的脚本,需要用到图像识别。比如识别图标后点击打开之类的。已经从网上搜到了 cv2.matchTemplate 和 cv2.minMaxLoc(),搭配 python-mss,可以走通。但是这俩函数有些缺点。

    一是对模板和待搜索的图像有尺寸要求,最好是截个 png 图作为模板,这样就一定能匹配到。如果是从 exe 提取的 png 图标,256256 的,再到桌面上去匹配 3232 的小图标,就是找不到的。。

    二是,假如模板是 100%dpi 截图的,但是实际场景的 dpi 是 175%,此时把模板尺寸乘以 1.75 再去匹配,肉眼看着两者是一样大小一样内容,但是两者的二进制数据是不一样的,所以还是匹配不到。。

    说白了其实就是模糊匹配……

    所以想请教一下各位大佬,对于以上两个问题,有优化方案吗?这方面我不是很了解,希望哪位大佬提示一下,比如告诉我包的名字啥的,我自己研究研究

    没有机器视觉 opencv 之类的节点,只能放在这里了

    6 条回复    2020-12-30 08:35:05 +08:00
    dick20cm
        1
    dick20cm  
       2020-12-29 19:49:40 +08:00
    scikit-image, pytorch
    dick20cm
        2
    dick20cm  
       2020-12-29 19:50:07 +08:00
    orb, sift, surf feature
    qq275327347
        3
    qq275327347  
    OP
       2020-12-29 20:16:46 +08:00
    还有一个需求,比如图标匹配,我只想匹配图标中的内容,而不是整个矩形,描述不太专业,手动捂脸。。
    huanghaozi
        4
    huanghaozi  
       2020-12-29 20:28:36 +08:00
    唔,大概是尺度不变性的问题,matchTemplate 里的 CV_TM_SQDIFF 参数好像能解决。
    还有特征匹配里好像也有比较多方法解决。
    gargar
        5
    gargar  
       2020-12-30 01:08:15 +08:00
    feature matching 算法,( sift 挺好,不过有专利,只在某些版本 opencv 里有)
    https://docs.opencv.org/master/dc/dc3/tutorial_py_matcher.html
    https://docs.opencv.org/master/d1/de0/tutorial_py_feature_homography.html
    lolioralice
        6
    lolioralice  
       2020-12-30 08:35:05 +08:00
    你这个不就是图像搜索算法么...

    CV2 有一大堆的实现 可以去看看 另外 ML 领域也有现成的方案可以用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1231 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:58 · PVG 01:58 · LAX 09:58 · JFK 12:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.