opencv 大图(当前页面)找小图(需要点击的地方),主要方法(cv.matchTemplate)

import aircv as ac
from PIL import ImageGrab
import win32api
import win32con
from ctypes import *
import cv2 as cvdef draw_circle(pos, circle_radius, color, line_width, src_path):imsrc = ac.imread(src_path)cv.circle(imsrc, pos, circle_radius, color, line_width)cv.imshow('objDetect', imsrc)cv.waitKey(0)cv.destroyAllWindows()def find_image_cv(obj_path, src_path):# basefolder = os.path.abspath('.') + "\\source\\"#ImageGrab.grab().save(src_path)source = cv.imread(src_path)template = cv.imread(obj_path)result = cv.matchTemplate(source, template, cv.TM_CCOEFF_NORMED)print(result)pos_start = cv.minMaxLoc(result)[3]test = cv.minMaxLoc(result)print(test)print(pos_start)x = int(pos_start[0]) + int(template.shape[1] / 2)y = int(pos_start[1]) + int(template.shape[0] / 2)similarity = cv.minMaxLoc(result)[1]if similarity < 0.85:return (-1, -1)else:print("pass")return [(x, y),(x, y)]def double_click(obj_path, src_path):p, q = find_image_cv(obj_path, src_path)x, y = pwindll.user32.SetCursorPos(x, y)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)def main1():#调试circle_radius = 50color = (0, 255, 0)line_width = 10src_path = './pic/destop.png'obj_path = './pic/action.png'p, circle_center_pos = find_image_cv(obj_path, src_path)print(circle_center_pos)draw_circle(circle_center_pos, circle_radius, color, line_width, src_path) #画圈def main2():#找到并双击src_path = './pic/destop.png'(当前页面)obj_path = './pic/action.png' (需要点击的地方)print (find_image_cv(obj_path, src_path))double_click(obj_path, src_path)if __name__ == "__main__":#main1()main2()

不积跬步,何以至千里

opencv 大图中找小图,并点击小图相关推荐

  1. python 从大图中找小图

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

  2. html页面点击小图弹出大图代码,利用JS实现点击小图弹出大图代码

    特效描述:利用JS实现 点击小图 弹出大图代码.利用JS实现点击小图弹出大图代码 代码结构 1. HTML代码 (function(){ var LightBox = function(options ...

  3. 大图中找小图(根据图片定位)

    0.安装库opencv-python pip install opencv-python或pip install opencv-python -i https://pypi.tuna.tsinghua ...

  4. 在大图中随机裁取一副小图,并输出小图中心点像素位置

    close all; clc; clear; %原图的路径 List = zeros(60,2);for i=1:60save_path='C:\Users\Lenovo\Desktop\test2\ ...

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

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

  6. php 大图找小图,点击小图弹出大图,点击网页任何部分隐藏大图

    点击小图弹出大图,点击网页任何部分隐藏大图 left: 0; right: 0; display:none; bottom: 0; background-color: #000; opacity: . ...

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

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

  8. CSS从大图中抠取小图完整教程(background-position应用)

    转:http://www.cnblogs.com/iyangyuan/archive/2013/06/01/3111704.html 相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图 ...

  9. CSS从大图中抠取小图完整教程(background-position应用) (转)

    自认为把background-position的应用讲得非常通俗易懂的教材.做个记号. 相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图片素材被合成在一张图片上. 起初小菜模仿网站的 ...

最新文章

  1. Java分布式内存开源实现:Hazelcast
  2. 内核管理实战之虚地址转换为物理地址
  3. jQuery Validate验证方法及教程
  4. mysql code name作为字段_MySQL索引管理及执行计划
  5. CDC,CPaintDC,CClientDC,CWindowDC区别
  6. 以厘php框架 v10.6.8
  7. 839 - Not so Mobile
  8. C#属性详解及属性与函数间的对比
  9. 矩阵的特征值及特征向量理解
  10. 2021 年“认证杯”数学中国数学建模网络挑战赛 B题解题思路
  11. JMeter接口测试及接口登陆压力测试
  12. 品质qc工程图_QC工程图 (品管)
  13. jclasslib的使用
  14. 如何利用excel中的数据源制作数据地图
  15. 如何在互联网上寻找免费电子书?(其二)
  16. 西藏自治区林芝市谷歌高清卫星地图下载(百度网盘离线包下载)
  17. 最新版Audition 2023(Au2023) win/mac音频编辑器
  18. B. Dubious Cyrpto
  19. 爆款短视频自媒体的8大黄金法则,学会了,就离爆款不远了
  20. 约束优化:约束优化的三种序列无约束优化方法

热门文章

  1. LeetCode——字符串的最大公因子
  2. 信度不达标的处理方式
  3. 经典PID在智能自寻迹小车中的应用分析
  4. ldpc译码讲解_LDPC码编译码原理及应用
  5. 关于计算机培训策划案,2019年计算机培训策划书.docx
  6. Tensorflow安装方法 (一)【 使用国内镜像下载】
  7. 黑白游戏逆向传奇实战:汇编,CE,OD,易语言,反外挂,网络安全
  8. 【Java】将一元换成5分,2分和1分的硬币,有多少种换法
  9. java中单根_java之 单根继承与集合
  10. JavaFX 布局——VBox