Python-OpenCV按住鼠标左键绘制图形

这篇具有很好参考价值的文章主要介绍了Python-OpenCV按住鼠标左键绘制图形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 使用Python语言的OpenCV库,在按住鼠标左键的情况下,移动鼠标,绘制任意形状的图形

 event判断鼠标是否是移动状态(event == cv.EVENT_MOUSEMOVE),flags判断鼠标是否处于左键按下并拖动的状态(flags == cv.EVENT_FLAG_LBUTTON),当满足这两个条件之后,按住左键并移动鼠标可以实现绘制功能

双击鼠标左键可以清除画板上的所有图形(event == cv.EVENT_LBUTTONDBLCLK)文章来源地址https://www.toymoban.com/news/detail-558109.html

def drawing(event, x, y, flags, param):
    global img
    if event == cv.EVENT_MOUSEMOVE and flags == cv.EVENT_FLAG_LBUTTON:
        cv.circle(img, (x, y), 5, (0, 0, 255), -1)
    elif event == cv.EVENT_LBUTTONDBLCLK:
        img = np.zeros(img_size, np.uint8) + 255
    cv.imshow('image', img)

 完整代码如下:

import numpy as np
import cv2 as cv


def drawing(event, x, y, flags, param):
    global img
    if event == cv.EVENT_MOUSEMOVE and flags == cv.EVENT_FLAG_LBUTTON:
        cv.circle(img, (x, y), 5, (0, 0, 255), -1)
    elif event == cv.EVENT_LBUTTONDBLCLK:
        img = np.zeros(img_size, np.uint8) + 255
    cv.imshow('image', img)


img_size = [400, 500, 3]
img = np.zeros(img_size, np.uint8) + 255
cv.namedWindow('image')
cv.setMouseCallback('image', drawing)
cv.imshow('image', img)
cv.waitKey(0)
cv.destroyAllWindows()

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

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

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

相关文章

  • Python|OpenCV-绘制图形和添加文字的方法(2)

    前言 本文是该专栏的第2篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 OpenCV作为一个强大的计算机视觉功能库,除了能解决图像处理和计算机视觉任务之外,它还有着非常丰富的图像绘制功能。可以说,不论是在计算机视觉任务中标记目标领域,还是在图像上

    2024年02月13日
    浏览(47)
  • QT5 QCustomPlot实现动态曲线绘制,可以左键放大、右键拖拽、跟随鼠标显示坐标

    下载文件,官网:https://www.qcustomplot.com/ 按照官网教程,qt添加帮助文件。 git或github下载:XCustomPlot 打开项目,将1下载的文件解压,添加qcustomplot.cpp/p。 在pro文件中添加QT += widgets printsupport、添加CONFIG += c++11. 引入头文件 #include “qcustomplot.h” 在ui中添加Widgeet,提升为QCustomP

    2024年02月10日
    浏览(50)
  • Python|OpenCV-鼠标自动绘制图像(4)

    前言 本文是该专栏的第4篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在本专栏之前,有详细介绍使用OpenCV绘制图形以及添加文字的方法,感兴趣的同学可往前翻阅查看“Python|OpenCV-绘制图形和添加文字的方法(2)”。 而本文重点来介绍使用OpenCV来 操作鼠标 ,

    2024年02月10日
    浏览(47)
  • Python OpenCV实现鼠标绘制矩形框和多边形

    目录 Python OpenCV实现鼠标绘制矩形框和多边形 1. OpenCV鼠标事件操作说明 (1)setMouseCallback函数说明 (2)回调函数onMouse说明 (3)event 具体说明: (4)flags 具体说明 2. OpenCV实现鼠标绘制矩形框和多边形框 (1)绘制矩形框 (2)绘制多边形 (3)键盘控制 3. 完整的代码 本篇将

    2024年02月06日
    浏览(80)
  • Qt如何实现实时鼠标绘制图形

      想要实现鼠标拖拽绘图的效果,离不开鼠标的三大事件:按下、移动、释放 那么具体实现实时绘制矩形框的核心流程是什么呢? 第一步:鼠标左键点击,记录初始点击位置 第二步:在窗口中移动鼠标,实时获取鼠标拖动点,根据拖动点绘制指定形状 第三步:鼠标点击右键

    2024年02月15日
    浏览(35)
  • Qt鼠标拖动绘制基本几何图形

    用Qt鼠标事件实现基本几何图形的绘制,支持直线、矩形、圆形、椭圆。后期可以在此基础上进行扩展。 效果图 实现 本示例使用QGraphics体系来实现,因为要移动对象,所以生成的图形必须是一个单独的对象,鼠标拖动绘制的过程是在临时层中完成,release后生成一个矢量的图

    2024年02月13日
    浏览(38)
  • Qt中QGraphicsView架构下实时鼠标绘制图形

    上一章节介绍了关于QGraphicsView的基础讲解,以及简单的类图创建,由上一章节中最后展示的动画效果来看,今年主要讲述如何在QGraphicsView架构下,实时拖动鼠标绘制图形! 今天主要以矩形为例,再来看一下展示效果吧! 想要实现鼠标拖拽绘图的效果,离不开鼠标的三大事件

    2024年01月22日
    浏览(44)
  • 计算机图形学实验四 OpenGL的鼠标交互绘制

    一、实验目的 1.掌握OpenGL的鼠标按钮响应函数。 2.掌握OpenGL的鼠标移动响应函数。 3.进一步巩固OpenGL的基本图元绘制基础。 二、实验内容 1.鼠标画草图——实现鼠标点到哪,线就画到哪。 思路: 1)在主程序注册鼠标响应和鼠标移动子函数: glutMouseFunc(mymouse); glutMotionFunc(mym

    2023年04月20日
    浏览(122)
  • 【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

    鼠标指针指向界面中的 Canvas 画布某个位置 , Canvas 画布中绘制着一张超大图片 , 以该位置为中心 , 滑动鼠标滚轮时进行缩放 ; 使用鼠标滚轮缩放后 , 在 Canvas 中绘制的图片的尺寸肯定是放大或者缩小了 , 尺寸发生了改变 ; 图片缩放时 , 鼠标指针指向一个位置 , 该位置对应着一

    2024年02月15日
    浏览(95)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包