OpenCV学习笔记4-鼠标绘图
来源:互联网 发布:网络攻防入门 编辑:程序博客网 时间:2024/05/16 05:28
1.一个简单的例子
以下程序实现了:在图像上鼠标双击过的位置绘制一个蓝色圆圈。
import numpy as npimport cv2#鼠标回调函数def draw_circle(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDBLCLK: cv2.circle(img, (x,y), 100, (255,0,0), -1)#创建黑底图,一个显示窗口,并将回调函数绑定到窗口 img = np.zeros((512,512,3), np.uint8)cv2.namedWindow('image')cv2.setMouseCallback('image', draw_circle)while(1): cv2.imshow('image', img) if cv2.waitKey(20)&0xFF == 27: breakcv2.destroyAllWindows()
2.进阶版的例子
以下程序很据我们选择的模式,在拖动鼠标时绘制矩形或圆圈(两种功能)。
import numpy as npimport cv2drawing = False #鼠标按下变为Truemode = True #True画长方形,False画圆ix, iy = -1, -1 #画长方形时要用到的起始点#创建回调函数def draw_circle(event, x, y, flags, param): global ix, iy, drawing, mode #鼠标左键按下时,drawing变为true,同时返回鼠标左键起始位置的坐标 if event == cv2.EVENT_LBUTTONDOWN: drawing = True ix, iy = x, y #鼠标左键按下并移动时,绘制图形。event查看移动;flags查看是否按下 elif event == cv2.EVENT_MOUSEMOVE and flags == cv2.EVENT_FLAG_LBUTTON: if drawing == True: if mode == True: cv2.rectangle(img, (ix,iy), (x,y), (0,255,0), -1) else: cv2.circle(img, (x,y), 3, (0,0,255), -1) #当鼠标松开时停止绘画 elif event == cv2.EVENT_LBUTTONUP: drawing == Falseimg = np.zeros((512,512,3), np.uint8)cv2.namedWindow('image')cv2.setMouseCallback('image',draw_circle)while(1): cv2.imshow('image',img) k = cv2.waitKey(1)&0xFF if k==ord('m'): #按m键切换画图模式(长方形/圆) mode = not mode elif k==27: break
阅读全文
0 0
- OpenCV学习笔记4-鼠标绘图
- OpenCV学习笔记(28) 鼠标绘图 练习
- opencv 简单绘图学习笔记
- OpenCV学习笔记四:绘图
- opencv Python学习笔记(三)调色板加跟随鼠标绘图
- python opencv入门 鼠标绘图(4)
- Opencv鼠标绘图程序
- opencv 鼠标绘图
- Opencv做鼠标绘图
- opencv窗口鼠标绘图
- openCV学习笔记-鼠标操作
- C++学习笔记之鼠标绘图
- OpenCV学习笔记(一):绘图操作
- OpenCV_Python学习笔记--OpenCV中的绘图函数
- OpenCV学习笔记(一):如何绘图
- 【OpenCV学习笔记】七、基本绘图函数
- OpenCV学习笔记3-几何绘图
- 利用opencv进行鼠标绘图
- Saving key "/home/ubuntu/.ssh/id_rsa" failed: Permission denied
- js递归把多层js转数组
- HDU 3069 Ancient Printer (模拟)
- Redis基本数据结构总结之SET、ZSET和HASH
- linux的用户与用户组
- OpenCV学习笔记4-鼠标绘图
- FLex布局实现导航
- Mac上mysql卸载重装及配置
- Python for 循环语句
- Hive 之 SQL执行计划深度解析
- Xamarin.Forms 深度解析
- 深度学习之caffe1——软件配置与测试
- 2017.08.09 平均住院日tips
- Swift中performSelector返回值的用法