在窗口中鼠标控制相关内容

这篇具有很好参考价值的文章主要介绍了在窗口中鼠标控制相关内容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

鼠标控制

鼠标回调函数API

(1)设置回调函数setMouseCallback(winname,callback,userdata)

winname:明确鼠标是对拿个窗口进行控制

callback:回调函数

userdata:设置回调函数时,会给回调函数传输一些参数。默认为Null

(2)写自己的回调函数 callback(event,x,y,flags,userdata)

event:鼠标事件,看鼠标是点击左键还是右键和鼠标移动 等

x,y:鼠标点击时的坐标

flags:主要是组合键,比如按ctrl加左键有什么反应 等

userdata:就是设置回调函数时的userdata

鼠标控制实战代码

import cv2
import numpy as np


# 鼠标回调函数
def mouse_callback(event, x, y, flags, userdata):
    print(event, x, y, flags, userdata)  # 1 100 100 16 example  说明是定义正确的


# mouse_callback(1,100,100,16,"example")  #用于检测定义是否正确

# 创建一个窗口
# cv2.namedWindow('mouse',cv2.WINDOW_AUTOSIZE)
cv2.namedWindow('mouse', cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse', 640, 360)

# 设置鼠标回调
cv2.setMouseCallback('mouse', mouse_callback)  # 窗口名 回调函数 (把回调函数输入到设置中去)

# 显示窗口和背景q
img = np.zeros((360, 640, 3), np.uint8, "c")  # (高,宽,3)
while True:
    cv2.imshow('mouse', img)
    key = cv2.waitKey(1)
    if (key & 0xFF == ord('q')):
        break

cv2.destroyAllWindows()

此时运训会出现黑色的窗口,当鼠标在窗口中移动时,运行栏就会出现鼠标的动作。大家可以自己试一下,看看当鼠标按下或者抬起时会有什么变化。

TrackBar控件

TrackBar控件了解

在窗口中鼠标控制相关内容,opencv(python)(内含实战项目),计算机外设

上图其实是定义了三个TrackBar,RGB。

创建TrackBar控件API

(1)createTrackbar(trackbarname,winname,value,count,callback,userdata)

trackbarname:就是一个窗口中的小窗口,类似于上图中 R G B就是三个trackbarname

winname:类似于上图中 TrackBar 这个大的窗口名字

value:trackbar的当前值,默认情况下设置成0,但需要根据实际情况设置较为合理的值

count:最小值为0,最大值为count (就是我们在上图中看到的拖动的范围0-count)

(2)getTrackbarPos(trackbarname,winname)

trackbarname:就是一个窗口中的小窗口,类似于上图中 R G B就是三个trackbarname

winname:类似于上图中 TrackBar 这个大的窗口名字

输出就是当前值

Trackbar实战代码

import cv2
import numpy as np


def callback(i):
    pass


# 创建窗口
cv2.namedWindow('trackbar', cv2.WINDOW_NORMAL)

# 创建Trackbar
cv2.createTrackbar('R', 'trackbar', 0, 255, callback)  # R是窗口中的一个值,trackbar是窗口名,0-255是范围
cv2.createTrackbar('G', 'trackbar', 0, 255, callback)
cv2.createTrackbar('B', 'trackbar', 0, 255, callback)

# 创建一个背景
img = np.zeros((480, 620, 3), np.uint8)

while True:

    # 获取当前trackbar的值
    r = cv2.getTrackbarPos('R', 'trackbar')
    g = cv2.getTrackbarPos('G', 'trackbar')
    b = cv2.getTrackbarPos('B', 'trackbar')

    # 改变背景图片颜色
    img[:] = [b, g, r]  # [:] 代表所有像素都要进行改变
    cv2.imshow('trackbar', img)

    key = cv2.waitKey(20)
    if (key & 0xFF == ord('q')):
        break

cv2.destroyAllWindows()

以下是运行结果,在拖动不同的Trackbar后显示出不同的颜色。 

在窗口中鼠标控制相关内容,opencv(python)(内含实战项目),计算机外设在窗口中鼠标控制相关内容,opencv(python)(内含实战项目),计算机外设在窗口中鼠标控制相关内容,opencv(python)(内含实战项目),计算机外设文章来源地址https://www.toymoban.com/news/detail-792579.html

到了这里,关于在窗口中鼠标控制相关内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Opencv之鼠标事件/窗口交互详解

    平时在做图像处理demo或者研究测试算法时,经常会用到 imshow 和鼠标的交互,比如在显示图像的窗口上画点、线、圆、矩形、多边形等操作,故在此做出用法总结。 鼠标回调函数介绍: 截取感兴趣区域ROI: 涉及的相关参数: 或者python-opencv中的参数也相同: 对于拼接后的图

    2024年02月14日
    浏览(46)
  • C++实现【获取鼠标位置】以及控制鼠标【打开窗口并点击】

    获取鼠标位置的函数源代码来自:C++【认知系列】实时获取鼠标坐标_c++ 获取鼠标坐标_Zalamp的博客-CSDN博客 鼠标点击操作代码来自: C++控制鼠标移动到指定位置并且左键点击_c++鼠标移动_蜚语77的博客-CSDN博客 在特定程序中实现鼠标点击操作分为两步,第一步就是在任务栏点

    2024年02月12日
    浏览(44)
  • Python 基于 OpenCV 视觉图像处理实战 之 图像相关的基本概念,以及图像的基础操作 一

    目录 Python 基于 OpenCV 视觉图像处理实战 之 图像相关的基本概念,以及图像的基础操作 一 一、简单介绍 二、图像相关的一些基本概念 1、像素 2、图像的构成 3、图像的格式 4、图像的位深和通道 三、OpenCV 的一些基本图像处理函数介绍 1、读取一幅画图像 2、显示图像 3、输出

    2024年04月11日
    浏览(141)
  • 【opencv学习】鼠标回调函数、鼠标控制画矩形

    1.回调函数可以简单理解为一边做一件事的同时做另一件事,优化之前的实现完一个函数后才实现另一个的问题。 鼠标回调函数就是一边鼠标操作画图,一边显示画出的图像。 2.实现一个矩形rec只需要知道一个左上角的坐标和宽高即可实例化对象。

    2024年02月14日
    浏览(52)
  • 基于mediapipe和opencv的手势控制电脑鼠标

    通过我的上一篇文章,可以了解到mediapipe关于手部检测的使用方法。这时我们就可以进行一些更加炫酷的操作。这篇文章我就来讲解一下如何用手势来控制电脑鼠标。 在开始之前我们要介绍一个能够操作电脑鼠标的库pyautogui,这里我简单介绍一下该库的一些函数,方便大家观

    2024年02月07日
    浏览(41)
  • 使用python向窗口发送鼠标点击命令

    今天遇到一个问题。公司让用电脑在网页上看个视频。网页有个判断:一段时间没有鼠标活动,视频就会暂停。于是就想,能否隔一段时间就模拟鼠标点击一下视频暂停,再点一下继续播放。省得它自己停止播放。这样我就可以让网页窗口在后台,我去干别的。 研究了一下,

    2024年02月12日
    浏览(36)
  • android framework实战开发之WINDOWING_MODE_FREEFORM自由窗口相关

    hi,粉丝朋友们! 今天开始就进入正式的自由窗口的相关的内容讲解,blog只是一些知识点的记录,更多的干货,还请看马哥的视频,及视频配套资料。 b站免费视频教程讲解: https://www.bilibili.com/video/BV1wj411o7A9/ aosp默认并没有公开自由窗口模式,如果需要体验自由窗口模式必须

    2024年02月06日
    浏览(39)
  • Python: 实现鼠标点击tkinter窗口任意位置拖动

    近期在用python的tkinter库开发一个GUI,在开发接近尾声时候,同事发现一个问题:因GUI窗口较大,在他的笔记本上不能全部展示,而且只能通过点击顶部状态栏才能拖动,这样即使鼠标已经在屏幕最顶部,也无法看到窗口底部的控件。 一个解决方法就是:窗口及控件可以自适

    2024年02月11日
    浏览(57)
  • 基于ESP32-CAM 和 OpenCV 设计的手势控制虚拟鼠标

    概述 在本文中,我们将使用 ESP32-CAM 和 OpenCV开发 手势控制虚拟鼠标 。ESP32  Camera Module 和 Python 程序可用于无线控制 鼠标跟踪 和 点击 操作。 入门者必须具备 Python、 图像处理 、嵌入式系统以及物联网的丰富知识。首先,我们将了解如何控制鼠标跟踪和单击,以及运行 pyt

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包