How to write a auto gather program using python

1 安装 opencv , 在设置好的虚拟目录执行

 

再安装 pyautogui

 

2  python + opencv 截屏

 

3:   How do I find an image contained within an image?    From :

https://stackoverflow.com/questions/7853628/how-do-i-find-an-image-contained-within-an-image

 

 

这段代码会在大图上, 以矩形标出match 的部分 , if exist match

 

 

4  在 windows , python 37 ,32位环境, 执行这段代码能找出 exactly match 的部分, 并自动把鼠标移动到那里, 点击右键

 

缺点是只能精确匹配, 图像稍有差别 , 或者放大缩小,变换镜头角度都不行

已经有人提出过这个问题, 在 : https://answers.opencv.org/question/169613/how-does-macthtemplate-deal-with-scaling/

关键字:

意思是 opencv 的  matchTemplate  函数不是比例变换不相关的

那么, 如何使 matchTemplate  可以比较不同比例的图像, 参见这个文章:

https://www.pyimagesearch.com/2015/01/26/multi-scale-template-matching-using-python-opencv/

in this article , 解决方法是: 对于大图, 循环放大缩小多次, 以匹配小图 , 但是, 这样只是解决了比例问题, 还是没解决角度问题


更先进的方法应该是: 特征匹配或者关键点匹配, 参见文章:

https://www.analyticsvidhya.com/blog/2019/10/detailed-guide-powerful-sift-technique-image-matching-python/

 

或者这个文章 更好一些: https://blog.csdn.net/HuangZhang_123/article/details/80660688

 

找到特征匹配后, 如何找相应点的坐标: https://stackoverflow.com/questions/30716610/how-to-get-pixel-coordinates-from-feature-matching-in-opencv-python

 

 

关键字 : cv2.cornerHarris    函数

 

理论分析和实现 SIFT算法 : https://www.geek-share.com/detail/2777206412.html

 

 

 

 

 

5  如何模糊匹配, 即无论图像缩放, 观察角度的变化, 都能正确匹配到

参考文章 :  https://www.lagou.com/lgeduarticle/74061.html        

这个不一定对