V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
qq275327347
V2EX  ›  程序员

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

  •  
  •   qq275327347 · Dec 29, 2020 · 2441 views
    This topic created in 1944 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

    6 replies    2020-12-30 08:35:05 +08:00
    dick20cm
        1
    dick20cm  
       Dec 29, 2020
    scikit-image, pytorch
    dick20cm
        2
    dick20cm  
       Dec 29, 2020
    orb, sift, surf feature
    qq275327347
        3
    qq275327347  
    OP
       Dec 29, 2020
    还有一个需求,比如图标匹配,我只想匹配图标中的内容,而不是整个矩形,描述不太专业,手动捂脸。。
    huanghaozi
        4
    huanghaozi  
       Dec 29, 2020
    唔,大概是尺度不变性的问题,matchTemplate 里的 CV_TM_SQDIFF 参数好像能解决。
    还有特征匹配里好像也有比较多方法解决。
    gargar
        5
    gargar  
       Dec 30, 2020
    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  
       Dec 30, 2020
    你这个不就是图像搜索算法么...

    CV2 有一大堆的实现 可以去看看 另外 ML 领域也有现成的方案可以用
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5302 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 01:17 · PVG 09:17 · LAX 18:17 · JFK 21:17
    ♥ Do have faith in what you're doing.