首页 > 其他分享 >opencv

opencv

时间:2024-06-23 22:54:12浏览次数:19  
标签:name img pic opencv avg click png

import time
import cv2
import pyautogui
 
 
def get_xy(img_model_path):
    """
    用来判定游戏画面的点击坐标
    :param img_model_path: 用来检测的模板图片的路径
    :return: 以元组形式返回检测到的区域的中心坐标
    """
    # 将屏幕截图保存
    pyautogui.screenshot().save("./pic/screenshot.png")
    # 载入截图
    img = cv2.imread("./pic/screenshot.png")
    # 图像模板
    img_terminal = cv2.imread("pic/terminal1.png")
    # 读取模板的宽度和高度
    height, width, channel = img_terminal.shape
    # 进行模板匹配
    result = cv2.matchTemplate(img, img_terminal, cv2.TM_SQDIFF_NORMED)
    # 解析出匹配区域的左上角坐标
    upper_left = cv2.minMaxLoc(result)[2]
    # 计算匹配区域右下角的坐标
    lower_right = (upper_left[0] + width, upper_left[1] + height)
    # 计算中心区域的坐标并且返回
    avg = (int((upper_left[0] + lower_right[0]) / 2), int((upper_left[1] + lower_right[1]) / 2))
    return avg
 
 
def auto_click(var_avg):
    """
    接受一个元组参数,自动点击
    :param var_avg: 坐标元组
    :return: None
    """
    pyautogui.click(var_avg[0], var_avg[1], button='left')
    time.sleep(1)
 
 
def routine(img_model_path, name):
    avg = get_xy(img_model_path)
    print(f'正在点击{name}')
    auto_click(avg)
 
 
def print_hi(name):
    # Use a breakpoint in the code line below to debug your script.
    print(f'Hi, {name}')  # Press Ctrl+F8 to toggle the breakpoint.
 
 
def find_img_center_and_click(img_model_path, name):
    result = pyautogui.locateCenterOnScreen(img_model_path, confidence=0.8)
    print(f'正在点击{name}' + f'{result}')
    auto_click(result)
 
 
if __name__ == '__main__':
    print_hi('PyCharm')
    while (True):
        # routine("./pic/terminal1.png", '播放')
        # time.sleep(3)
        # routine("./pic/terminal2.png", '停止')
        # time.sleep(3)
 
        find_img_center_and_click("./pic/terminal1.png", '播放')
        time.sleep(3)
        find_img_center_and_click("./pic/terminal2.png", '停止')
        time.sleep(3)

 

标签:name,img,pic,opencv,avg,click,png
From: https://www.cnblogs.com/liumengkai/p/18264063

相关文章

  • 高空作业安全带佩戴识别检测系统 Opencv
    高空作业安全带佩戴识别检测系统实时检测高空作业工作人员的安全防范状况,高空作业安全带佩戴识别检测系统当检测到高空作业没有按照要求佩戴安全带时,高空作业安全带佩戴识别检测系统马上警报。并且提醒有关工作员妥善处置并劝说。与此同时,将警报截屏和视频保存到数据库系统系统......
  • python---OpenCv(二),背景分离方法较有意思
    目录边界矩形旋转矩形(最小外接矩形):计算轮廓找4个点的坐标把浮点型转为Int画轮廓边界矩形--(最大外接矩形)转灰度找轮廓找顶点画矩形显示背景分离方法(这个很好玩,可以识别在动的物体)边界矩形有两种类型的边界矩形:旋转矩形(最小外接矩形):是用最小面积绘制......
  • Android无障碍自动化结合opencv实现支付宝能量自动收集
    Android无障碍服务可以操作元素,手势模拟,实现基本的控制。opencv可以进行图像识别。两者结合在一起即可实现支付宝能量自动收集。opencv用于识别能量,无障碍服务用于模拟手势,即点击能量。当然这两者结合不单单只能实现这些,还能做很多自动化的程序,如芭芭农场自动施肥、蚂蚁庄园等等......
  • python-opencv批量处理图像文件(附代码)
        这里以cifar100数据集为例。cifar100数据集保存在train文件夹中,其中一共有100类图片,每类图片被保存在不同的子文件夹中,每类图片500张,其具体文件夹如下。    首先要引入cv2和os库,接着还要提前设置好图像保存路径和原图像文件路径。如果这里设置的不对的话......
  • Qt+OpenCV通用视觉框架全套源码,类似easyvision
    Qt+OpenCV通用视觉框架全套源码,类似easyvision。工具可扩展。所有算法均无封装,可以根据自己需要补充自己的工具。基于Qt5.12.12+VS2019+OpenCV开发实现,支持多相机多线程,每个工具都是单独的DLL,主程序通过公用的接口访问以及加载各个工具。包含涉及图像算法的工具、......
  • opencv入门-小白的学习笔记c++(1)
    注:以下是根据链接https://blog.csdn.net/Cream_Cicilian/article/details/105427752的小白学习过程。1加载、修改、保存图像1.1加载图像1.1.1加载图像cv::imread用于从文件中读取图像数据并将其存储到一个cv::Mat对象中,其中第一个参数表示图像文件名称第二个参数,表......
  • 2023年天津大学图像工程课程设计 基于 OpenCV 、 Qt 库的图像处理软件+源代码+文档说
    文章目录源码下载地址项目介绍项目功能界面预览项目备注源码下载地址源码下载地址点击这里下载代码项目介绍图像工程课程设计基于OpenCV、Qt库实现的图像处理软件大学编程作业(TUST天津科技大学2023年)图像工程课程设计基于OpenCV、Qt库实现的图像处......
  • 新手小白包会(python) | OpenCV进阶教程,带你踏入计算机视觉领域
    目录一、OpenCV简介1.应用场景2.学习与使用二、OpenCV安装 1.安装2.验证三、OpenCV使用1.边缘检测1)sobel算子(cv2.Sobel()) 2)Scharr算子(cv.Scharr()) 3)laplacian(cv2.Laplacian())4)canny算法(cv.Canny())2.下采样(cv2.pyrDown())3.上采样(cv2.pyrUp())4.拉普拉斯金字塔......
  • Vitis Accelerated Libraries 学习笔记--OpenCV 安装指南
    目录1.简介2.安装过程2.1安装准备2.2常见错误2.2.1核心共享库报错3.通过实例测试 4.总结1.简介使用VitisVisionLibraryVitis视觉库,为什么要安装opencv库?在使用VitisVisionLibrary时,安装OpenCV库是因为许多视觉库的功能都提供了示例设计测试平台,使用......
  • 人脸特征标注——OpenCV
    特征标注导入必要的库创建窗口显示原始图片和标注后的图片存储用户选择的图片路径字体样式和大小定义了select_image函数定义了annotate_landmarks()函数设置按钮调整图片标签的位置设置图片位置主事件循环运行显示:全部代码导入必要的库importtkinterastk:导入......