本文介绍一下,opencv是怎么用鼠标来画图的。用到的编译系统是python3+。
工具/原料
1
python
2
电脑
方法/步骤
1
先来看看cv2里面有哪些鼠标指令:import cv2for i in dir(cv2): if 'EVENT' in i: print(i)一共有18个指令。
2
准备一幅图片——a.png,并把图片导入到python里面:import cv2img = cv2.imread('a.png')cv2.imshow('a',img)cv2.waitKey(0)cv2.destroyAllWindows()
3
定义一个用鼠标画图的函数:def draw(event,x,y,flags,param): if event==cv2.EVENT_LBUTTONDBLCLK: cv2.circle(img,(x,y),36,(190,255,0),3)这里的鼠标指令是双击鼠标(LBUTTONDBLCLK);在img里面双击鼠标,就在img里面画一个圆,圆心就是鼠标点击的位置。
4
把图片窗口和绘图函数绑定到一起:cv2.namedWindow('a')cv2.setMouseCallback('a',draw)
5
用while循环作图。while(1): cv2.imshow('a',img) if cv2.waitKey(20) & 0xFF==27: breakcv2.destroyAllWindows()
6
看下面的动态图,每次在图片窗口里面双击鼠标,就会在img上画出一个圆。
注意事项
这里,当然可以使用别的鼠标指令。