如何用Python和OpenCV制作一个简单的鼠标绘图应用程序?
- 内容介绍
- 文章标签
- 相关推荐
本文共计497个文字,预计阅读时间需要2分钟。
需求+在画布上使用鼠标画图,可画圆形或矩形,按M键在两种模式切换。左键按下时开始画图,移动到哪画到哪,左键释放时结束画图。实现想法+用鼠标画图:需要定义鼠标的回调。
需求
在画布上用鼠标画图,可以画圆或矩形,按m键在两种模式下切换。左键按下时开始画图,移动到哪儿画到哪儿,左键释放时结束画图。
实现思想
用鼠标画图:需要定义鼠标的回调函数mouse_event
画圆或矩形:需要定义一个画图的模式mode
左键单击、移动、释放:需要捕获三个不同的事件
开始画图,结束画图:需要定义一个画图的标记位drawing
实现代码
import cv2 as cv import numpy as np drawing = False # 是否开始画图 mode = True # True:画矩形,False:画圆 start = (-1, -1) # 鼠标的回调函数的参数格式是固定的,不要随意更改。
本文共计497个文字,预计阅读时间需要2分钟。
需求+在画布上使用鼠标画图,可画圆形或矩形,按M键在两种模式切换。左键按下时开始画图,移动到哪画到哪,左键释放时结束画图。实现想法+用鼠标画图:需要定义鼠标的回调。
需求
在画布上用鼠标画图,可以画圆或矩形,按m键在两种模式下切换。左键按下时开始画图,移动到哪儿画到哪儿,左键释放时结束画图。
实现思想
用鼠标画图:需要定义鼠标的回调函数mouse_event
画圆或矩形:需要定义一个画图的模式mode
左键单击、移动、释放:需要捕获三个不同的事件
开始画图,结束画图:需要定义一个画图的标记位drawing
实现代码
import cv2 as cv import numpy as np drawing = False # 是否开始画图 mode = True # True:画矩形,False:画圆 start = (-1, -1) # 鼠标的回调函数的参数格式是固定的,不要随意更改。

