opencv 大图中找小图,并点击小图
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 大图中找小图,并点击小图相关推荐
- python 从大图中找小图
#python 从大图中找小图 今天突然想到这样的问题,找了一下,没找到解决方法,自己想试一试就做了一个,但是感觉太白痴,但是运行的时候也不是说要很久. #!/usr/bin/env python3 ...
- html页面点击小图弹出大图代码,利用JS实现点击小图弹出大图代码
特效描述:利用JS实现 点击小图 弹出大图代码.利用JS实现点击小图弹出大图代码 代码结构 1. HTML代码 (function(){ var LightBox = function(options ...
- 大图中找小图(根据图片定位)
0.安装库opencv-python pip install opencv-python或pip install opencv-python -i https://pypi.tuna.tsinghua ...
- 在大图中随机裁取一副小图,并输出小图中心点像素位置
close all; clc; clear; %原图的路径 List = zeros(60,2);for i=1:60save_path='C:\Users\Lenovo\Desktop\test2\ ...
- Python 确定大图中是否包含小图
小图: 大图: 完整代码: # coding: utf-8 import os, sys import cv2 import time import win32api import win32con ...
- php 大图找小图,点击小图弹出大图,点击网页任何部分隐藏大图
点击小图弹出大图,点击网页任何部分隐藏大图 left: 0; right: 0; display:none; bottom: 0; background-color: #000; opacity: . ...
- 用java大图中寻找小图位置
先说下思路: 因为是大图中寻找小图,所以小图必须是大图的一部分,那么对应的他们具有相同的像素点,所以为了一遍就可以搜出来,从小图中抽取若干个像素点(本次DEMO只选区了5个),从大图中找到像素与第一个 ...
- CSS从大图中抠取小图完整教程(background-position应用)
转:http://www.cnblogs.com/iyangyuan/archive/2013/06/01/3111704.html 相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图 ...
- CSS从大图中抠取小图完整教程(background-position应用) (转)
自认为把background-position的应用讲得非常通俗易懂的教材.做个记号. 相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图片素材被合成在一张图片上. 起初小菜模仿网站的 ...
最新文章
- Java分布式内存开源实现:Hazelcast
- 内核管理实战之虚地址转换为物理地址
- jQuery Validate验证方法及教程
- mysql code name作为字段_MySQL索引管理及执行计划
- CDC,CPaintDC,CClientDC,CWindowDC区别
- 以厘php框架 v10.6.8
- 839 - Not so Mobile
- C#属性详解及属性与函数间的对比
- 矩阵的特征值及特征向量理解
- 2021 年“认证杯”数学中国数学建模网络挑战赛 B题解题思路
- JMeter接口测试及接口登陆压力测试
- 品质qc工程图_QC工程图 (品管)
- jclasslib的使用
- 如何利用excel中的数据源制作数据地图
- 如何在互联网上寻找免费电子书?(其二)
- 西藏自治区林芝市谷歌高清卫星地图下载(百度网盘离线包下载)
- 最新版Audition 2023(Au2023) win/mac音频编辑器
- B. Dubious Cyrpto
- 爆款短视频自媒体的8大黄金法则,学会了,就离爆款不远了
- 约束优化:约束优化的三种序列无约束优化方法