美文网首页
1.3 OpenCV 中处理鼠标事件

1.3 OpenCV 中处理鼠标事件

作者: wangsb_2020 | 来源:发表于2020-02-20 17:11 被阅读0次

把鼠标当画笔

根据我们选择的模式在拖动鼠标时绘制矩形或者是圆圈(就像画图程序中一样)
# -*- coding: utf-8 -*-
import numpy as np
import cv2

# 当鼠标按下时变为True
drawing = False
# 如果mode为true绘制矩形,按下'm'变成绘制曲线
mode = True
ix,iy = -1,-1

# 创建回调函数
def draw_circle(event, x, y, flags, param):
    global ix,iy,drawing,mode
    #当按下鼠标左键时返回起始位置坐标
    if event==cv2.EVENT_LBUTTONDOWN:
        drawing=True
        ix,iy=x,y
    # 当鼠标左键按下并移动是绘制图形,event可以查看移动,flag查看是否按下
    elif event==cv2.EVENT_MOUSEMOVE and flags==cv2.EVENT_LBUTTONDOWN:
        if drawing==True:
            if mode==True:
                cv2.rectangle(img, (ix,iy), (x,y), (0,255,0), -1)
            else:
                # 绘制圆圈,小圆点连在一起就成了线,3代表了线的粗细
                # cv2.circle(img, (x,y), 3, (0,0,255), -1)
                r = int(np.sqrt((x - ix) ** 2 + (y - iy) ** 2))
                cv2.circle(img, (x, y), r, (0, 0, 255), -1)
    elif event==cv2.EVENT_LBUTTONUP:
        drawing==False
img=np.zeros((512,512,3), np.uint8)
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.setMouseCallback('image', draw_circle)
while(1):
    cv2.imshow('image', img)
    k=cv2.waitKey(1)&0xFF
    if k==ord('m'):
        mode = not mode
    elif k==27:
        break
image.png

相关文章

  • 1.3 OpenCV 中处理鼠标事件

    把鼠标当画笔 根据我们选择的模式在拖动鼠标时绘制矩形或者是圆圈(就像画图程序中一样)

  • opencv 鼠标事件

    目标 学习 opencv的鼠标事件和鼠标事件回调函数cv2.setMouseCallback()的使用。 根据获取...

  • OpenCV鼠标事件

    使用本代码可以打印出鼠标所在的坐标和像素大小(黑白图片)使用函数setMouseCallback,输入参数1是窗口...

  • JAVAFX事件 笔记

    1.JavaFX中的事件 1.1鼠标事件 1.2键事件 2.处理步骤 3.鼠标事件 在MouseEvent 对象里...

  • JavaScript中的事件与异常捕获详析

    事件处理【onClick】单击事件、【onMouseOver】鼠标经过事件、【onMouseOut】鼠标移出事件、...

  • OpenCV中利用鼠标事件动态绘制图形

    使用鼠标事件动态绘制 对于使用OpenCV绘制图形和文本,我们已经耳熟能详了。在本文中,我们将利用OpenCV中的...

  • javascript笔记10

    事件处理程序 焦点事件 鼠标事件-单击与双击 鼠标事件-mouserover/mouserout/mousedow...

  • jQuery基础事件篇

    一、事件 1.1、绑定事件 1.2、解除事件 1.3、简单事件 1.4、复合事件hover(fn1,fn2):鼠标...

  • 第6章 事件

    1. JS的事件触发 1.1 鼠标事件 1.2 键盘事件 1.3 焦点事件 1.4 页面事件 1.5 表单事件 o...

  • Unity-UI(UGUI详解)02.2 Interaction

    Interaction Components 交互组件在UI系统中处理交互事件,比如鼠标或者触摸事件 Select...

网友评论

      本文标题:1.3 OpenCV 中处理鼠标事件

      本文链接:https://www.haomeiwen.com/subject/nyoxqhtx.html