0.安装库opencv-python

pip install opencv-python或pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

如果报错:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn opencv-python

1.准备图片

2.代码

import pyautogui
import time
import aircv as ac
from PIL import ImageGrab# 匹配图片,返回包含位置的数据字典 的列表 a=[{},{},{}]
def matchImg(imgsrc, imgobj, confidencevalue=0.9):  # imgsrc=原始图像,imgobj=待查找的图片imsrc = ac.imread(imgsrc)imobj = ac.imread(imgobj)match_result = ac.find_all_template(imsrc, imobj,confidencevalue)  # {'confidence': 0.5435812473297119, 'rectangle': ((394, 384), (394, 416), (450, 384), (450, 416)), 'result': (422.0, 400.0)}return match_result#在指定范围内,查找目前图片,找了就返回a=[{},{},{}]继续执行,否则就一致截图匹配
def match_is_run(bbox=(439, 752, 771, 956), xiao_img='', confidencevalue=0.9):xyt = Nonexyt_len = 0while xyt_len == 0:im = ImageGrab.grab(bbox)im.save('match_is_run.jpg')time.sleep(0.3)xyt = matchImg('match_is_run.jpg', xiao_img, confidencevalue)xyt_len = len(xyt)return xyt#在指定范围内,查找目前图片,找到了就继续找,直到找不到为止(防止上一步操作后卡住没反应)
def match_not_run(bbox=(559, 233, 1363, 532), xiao_img='', confidencevalue=0.8):xyt = 1while xyt != []:im = ImageGrab.grab(bbox)im.save('match_not_run.jpg')time.sleep(0.3)xyt = matchImg('match_not_run.jpg', xiao_img, confidencevalue)if __name__ == '__main__':time.sleep(5)#预留操作时间xyt = match_is_run(bbox=(0, 0, 1450, 623), xiao_img="baidu.png", confidencevalue=0.8)# print(xyt)x = xyt[0]['result'][0]  # result对应的值,对应捕捉图像的中心位置y = xyt[0]['result'][1]pyautogui.moveTo(int(x), int(y))time.sleep(0.05)pyautogui.click()match_not_run(bbox=(0, 0, 1450, 623), xiao_img='baidu.png')#没跳转就卡在当前位置print("跳转成功")

3.在百度首页测试

大图中找小图(根据图片定位)相关推荐

  1. python 从大图中找小图

    #python 从大图中找小图 今天突然想到这样的问题,找了一下,没找到解决方法,自己想试一试就做了一个,但是感觉太白痴,但是运行的时候也不是说要很久. #!/usr/bin/env python3 ...

  2. opencv 大图中找小图,并点击小图

    opencv 大图(当前页面)找小图(需要点击的地方),主要方法(cv.matchTemplate) import aircv as ac from PIL import ImageGrab impo ...

  3. 用java大图中寻找小图位置

    先说下思路: 因为是大图中寻找小图,所以小图必须是大图的一部分,那么对应的他们具有相同的像素点,所以为了一遍就可以搜出来,从小图中抽取若干个像素点(本次DEMO只选区了5个),从大图中找到像素与第一个 ...

  4. matlab在大图中加入小图

    目录 前言 准备 参考视频 步骤 第一步 第二步 第三步 第四步 第五步 前言 最近在使用MATLAB画图时,需要在大图中加入小图,上网查了一下资料,解决问题,特此记录一下. 准备 MATLAB R2 ...

  5. 将多张图整合到一张大图中,再用css定位技术

    2019独角兽企业重金招聘Python工程师标准>>> 以前做网站的时候,经常有地方要用小图标.第一次接触bootstrap的时候,下载打开它的源文件的时候只看到了两张图,就是包含很 ...

  6. 【苹果微信图片下载提示保存成功但相册中找不到图片】

    目 录 苹果微信图片下载保存失败 发现问题 尝试解决方法 方法一(未成功) 方法二(成功) 苹果微信图片下载保存失败 发现问题 题主应用的苹果13,在查看微信图片时发现,点击右下角的下载图标对图片进行 ...

  7. idea中找不到图片

    也不知道是不是新版的才有这些个问题,我看19年老师就没这个步骤,能问这个问题我就默认你前面的都知道了, 按照图片操作,然后添加你的图片目录路径到tomcat中

  8. Python 确定大图中是否包含小图

    小图: 大图: 完整代码: # coding: utf-8 import os, sys import cv2 import time import win32api import win32con ...

  9. Java找图 (截屏找图 大图找小图)--自己实现“按键精灵”

    最近老板给了个需求是要做一个在安卓模拟器上自动扫码支付的程序,本来以为用Appium就可以直接直接搞定的,但是最后发现Appium只能操作App,在模拟器的实际运行中App要进入扫码功能,还要点击安卓 ...

最新文章

  1. 聊聊抖音、奈飞、Twitch、大疆、快手、B站的多媒体关键技术
  2. 传真休眠怎么取消_C盘满了怎么办——系统瘦身
  3. 搜索引擎的两大问题(2) - 相关性
  4. web service
  5. 利用 iPhone X 的脸部识别能力为内容制作工作服务
  6. 消除数组中重复元素的方法
  7. 多种方法教你破解电信共享上网的限制
  8. 推荐!计算机视觉最适合入门的 8 本教程,算法与实战兼备
  9. 平板电脑桌面添加计算机快捷键,驰为Vi10教你Windows 10中的这些实用快捷键
  10. 多态的概念、对象上下转型、多态的应用、异常(异常概念、异常分类、java异常处理机制、try...catch...finally、throw和throws、自定义异常)
  11. python期末大作业_大一期末考试很重要,考得好不仅有机会有钱拿,还有机会换专业...
  12. CUDA:在GPU上实现核函数的嵌套以及编译运行
  13. 模拟集成电路设计(拉扎维)第四章学习笔记
  14. java动态数组_Java实现动态数组
  15. 当驾校学员遇上微信小程序
  16. 你的编程能力从什么时候开始突飞猛进?
  17. keras实现deblurgan-v1(图像去模糊)
  18. Strawberry Wallpaper:海量5K高清大图壁纸下载工具
  19. div html用法详解,div标签详解
  20. NLP中<SOS>、<EOS>、<UNK>、<PAD>等标识符的含义

热门文章

  1. 如今互联网时代,必须学习黑客的思维模式
  2. CH450/TM1637 驱动调试
  3. Photoshop Dreamweaver CS4 错误148:3解决方案
  4. Oracle日期加减
  5. wps linux 教程,采用snap方式安装WPS Linux社区版将非常的简单
  6. libimobiledevice命令
  7. 布丁怪兽-csdn博客_证明在评论中-不是布丁
  8. 大土狗书屋好书推荐--《编程之道》
  9. 互联网小白在网络上的成长。
  10. 网络虚拟化 SDN NFV 和企业骨干网的演化