opencv鼠标指针左键画图,右键清除.

2023-05-16

在这里插入图片描述

#按住鼠标左键画图,双击鼠标左键可以清除
import cv2 as cv
import numpy as np 
#创建画布
img=np.zeros((400,400,3),np.uint8)+255
#定义标志位
xys=[]
drawing=False #True画图,False不画图
#定义画图程序
def draw(event,x,y,flag,param):
    global xys,drawing
    if event==cv.EVENT_LBUTTONDOWN: #左键按下
        drawing=True
        xy='(x%s,%s)'%(x,y)
        xys.append([x,y])
    elif event==cv.EVENT_MOUSEMOVE: #鼠标移动
        if drawing==True:
            cv.circle(img,(x,y),2,(255,0,0),-1)
    elif event==cv.EVENT_LBUTTONUP: #左键松开
        drawing=False
    elif event==cv.EVENT_RBUTTONDBLCLK: #双击右键
        img[:]=255
cv.namedWindow('draw_clean')
cv.setMouseCallback('draw_clean',draw)
while(True):
    cv.imshow('draw_clean',img)
    k=cv.waitKey(1)
    if k==27:
        break
cv.destroyAllWindows()
        
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

opencv鼠标指针左键画图,右键清除. 的相关文章

  • C++ range

    C 43 43 20 引入了 range 来简化对元素序列的处理 xff08 可以省略掉许多的循环遍历 xff09 1 range 和 view range range concept 通过提供一个迭代器以及一个哨兵来表示一个元素范围 xf
  • 高效求两个list的差集

    查一个ListA 的每个值 xff08 String字符串 xff09 在另外一个ListB中是否存在 xff0c 如果不存在就记录下来 模拟数据量 xff1a 100万 方法一 xff1a 直接调用list自带的removeAll方法 p
  • Codeforces Round #368 (Div. 2) A C

    大清早发现自己的rating涨了72分还是很高兴的 xff0c 毕竟之前都是在掉分 xff0c 还差9分才能到宝蓝啊 xff0c 果然还是小菜鸡 A Brain 39 s Photos 大水题 xff0c 要不是这个codeforces是外
  • Linux DISPLAY 设置

    在Linux Unix类操作系统上 DISPLAY用来设置将图形显示到何处 直接登陆图形界面或者登陆命令行界面后使用startx启动图形 DISPLAY环境变量将自动设置为 0 0 此时可以打开终端 输出图形程序的名称 比如xclock 来
  • cmake简单使用及编译项目打包成so文件

    简介 CMake是一个跨平台的编译自动配置工具 xff0c 它使用一个名为CMakeLists txt的文件来描述构建过程 xff0c 可以产生标准的构建文件 它可以用简单的语句来描述所有平台的安装 编译过程 它能够输出各种各样的makef
  • 2021基于Debian的All in One(NAS+软路由)配置教程

    基于Debian10的NAS系统配置 系统概述需求分析功能实现 系统配置简介Debian10的镜像下载与安装系统配置准备oh my zsh安装ssh远程访问开机自动登录root花生壳远程sshFrp图形化界面卸载网路配置磁盘相关命令 软件安
  • 3D Slicer源代码编译与调试(Visual Studio)

    开始 本文将Slicer的源码在Windows系统的编译过程记录下来 我的编译环境 xff1a Qt5 9 3VS2015Git 2 16 1CMake 3 14 1NSIS Unicode NSIS 编译 上述编译环境的准备好之后 xff
  • c++对象模型

    一 什么是c 43 43 对象模型 语言中直接支持面向对象程序设计的部分 对于各种支持的底层实现机制 二 c 43 43 对象的布局成本 成员函数不占用成本 member functions虽然再class的声明之内 xff0c 却不在ob
  • mybatis-plus返回查询总记录数方式(亲测)

    这篇文章主要介绍了mybatis plus返回查询总记录数方式 xff0c 具有很好的参考价值 xff0c 希望对大家有所帮助 如有错误或未考虑完全的地方 xff0c 望不吝赐教 mybatis plus返回查询总记录数mybatis pl
  • Android 模拟器串口与PC虚拟串口通讯

    基于上一篇文章 xff0c Android studio 使用NDK 实现串口 动态库 使用NDK生成 so 库操作PC中的串口 以及Android studio 3 0 and Gradle3 0 JNI 生成 so 库 1 开发环境 1
  • ArchLinux遇到问题unable to lock database

    在ArchLinux上更新系统或者安装软件 xff0c 如 pacman Syu xff0c 遇到下列问题 xff1a error failed to init transaction unable to lock database err
  • 【终极解决方案】当前不会命中断点,还没有为该文档加载任何符号

    我们在用vs进行debug时 xff0c 有的时候会出现无法单步调试 xff0c 提示 当前不会命中断点 xff0c 还没有为该文档加载任何符号 查询网上资料 xff0c 基本都是以下这样 xff1a 在vs里边 xff0c 工具 gt 选
  • Gitlab的安装及使用

    1 Gitlab概述 1 1 GitLab介绍 GitLab是利用Ruby on Rails一个开源的版本管理系统 xff0c 实现一个自托管的Git项目仓库 xff0c 可通过Web界面进行访问公开的或者私人项目 GitLab能够浏览源代
  • UVa 11168 Airport

    这个月看看计算几何 xff0c 这道题写的代码出现的问题还是挺多的 xff0c 不过索性最后解决了 题意 xff1a 给出平面上n个点 xff0c 找一条直线 xff0c 使得所有点在直线的同侧 xff08 也可以在直线上 xff09 xf
  • 使用JSON实现SQL Server少量数据传递(导入导出)

    摘要 xff1a 在开发业务系统时 xff0c 对于使用SQL Server作为业务数据库时 xff0c 要将数据从发库数据配置完成后需要同步到生产库时 xff0c 使用SQL Server自带的工具不是那么流畅 xff0c 本文介绍一种使
  • Mybatis Plus中的lambdaQueryWrapper和LambdaUpdateWrapper

    一 Mybatis Plus中的lambdaQueryWrapper xff1a 用法 xff1a 1 mybatis plus依赖中接口类IService中有这样一个方法 default List lt T gt list Wrapper
  • Docker 从Dockerfile 构建镜像 :build 命令的用法

    前些天发现了一个巨牛的人工智能学习网站 xff0c 通俗易懂 xff0c 风趣幽默 xff0c 忍不住分享一下给大家 点击跳转到教程 Dockerfile 创建完成后 xff0c 可以使用 docker build 命令根据 Dockerf
  • Windows下subsystem子系统(wsl)的默认安装位置

    位置在 xff1a C Users THINK AppData Local Packages CanonicalGroupLimited UbuntuonWindows 79rhkp1fndgsc LocalState rootfs 备注
  • 关于提示unrecognized class file version的原因

    今天在发布一个网站的时候 xff0c 发现用java jar 可以运行jar包 xff0c 但是运行到一半会卡住如下图所示 但是我在idea里却可以完美的运行 xff0c 于是我去查了一下资料 xff0c 然后改了几个配置 xff0c 最后
  • Hex编码

    Hex编码的编码原理 xff1a Hex编码的原理就是将原来8位的二进制字节打断 xff0c 分成两个4位的 xff0c 并且在前面加上4个零 xff0c 进行补位这样一个8位二进制字节就变成了2个8位的二进制字节 xff0c 在将新得到的

随机推荐