python opencv 双击鼠标绘制圆
来源:互联网 发布:刺客信条3优化好吗 编辑:程序博客网 时间:2024/04/29 03:55
10-python opencv 双击鼠标绘制圆
- 10-python opencv 双击鼠标绘制圆
- 概述
- 实现过程
- 引用与创建空图
- 设置回调函数
- 回调上述函数
- 显示图像
- 源代码
- 运行结果
- 参考
概述
本节实现的是使用OpenCV里自带的函数,在双击图片时,以其为圆心绘制圆。
- 回调函数
- 捕捉鼠标事件
实现过程
引用与创建空图
不再赘述,代码如下。
import cv2 import numpy# empty imageimg = np.zeros((512, 512, 3), np.uint8)
设置回调函数
检测鼠标事件,如果左击鼠标则绘制圆。
# call back functiondef draw_circle(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDBLCLK: cv2.circle(img,(x,y),100,(255,0,0),1)
回调上述函数
cv2.namedWindow('circle')cv2.setMouseCallback('circle', draw_circle)
显示图像
循环显示图像,如果检测到键盘输入q则退出。
while(1): cv2.imshow('circle', img) if cv2.waitKey(10) & 0xFF == ord('q'): breakcv2.destroyAllWindows()
源代码
整个程序的源代码如下:
# created by Huang Lu# 27/08/2016 19:33:52 # Department of EE, Tsinghua Univ.import cv2import numpy as np# empty imageimg = np.zeros((512, 512, 3), np.uint8)# call back functiondef draw_circle(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDBLCLK: cv2.circle(img,(x,y),100,(255,0,0),1)cv2.namedWindow('circle')cv2.setMouseCallback('circle', draw_circle)while(1): cv2.imshow('circle', img) if cv2.waitKey(10) & 0xFF == ord('q'): breakcv2.destroyAllWindows()
也可以参考我的GitHub上的,点击这里。
运行结果
在命令行进入该源程序所在目录后,运行python main.py
后即可显示结果。显示结果如下:
参考
- http://docs.opencv.org/2.4/modules/core/doc/drawing_functions.html
- OpenCV-Python-Toturial-中文版.pdf
- https://github.com/hlthu/Python/tree/master/Python_OpenCV/Draw_Mouse/
- http://hlthu.github.io/blogs/PythonOpenCV/09-Draw_Mouse.html
0 0
- python opencv 双击鼠标绘制圆
- Opencv用鼠标绘制椭圆
- Opencv用鼠标绘制线段
- OpenCV鼠标画图例程,鼠标绘制矩形
- OpenCV鼠标画图例程,鼠标绘制矩形
- OpenCV鼠标画图例程,鼠标绘制矩形
- opencv-python绘制图形
- selenium-webdriver(python) -- 鼠标事件(双击,右键)
- 在OpenCV中利用鼠标绘制直线
- opencv鼠标绘制直线 C++版
- Opencv用鼠标绘制填充多边形
- Opencv中利用鼠标绘制矩形
- OpenCV 鼠标手动绘制掩码图像
- opencv使用鼠标实现直线的绘制
- selenium python 鼠标事件 右键、双击、拖动、鼠标悬浮
- 鼠标双击
- python opencv 绘制简单图形
- opencv学习心得(一)鼠标响应事件绘制轮廓
- sqlldr使用
- 机器学习基本概念-1
- pat 乙级 1005 继续(3n+1)猜想 (25)
- 二维数组合并和排序
- hihihhiih
- python opencv 双击鼠标绘制圆
- 面向对象_static的内存图解
- Linux scp复制文件,不需要输入密码的技巧
- 【C++学习】之如何用系统日期时间给文件命名
- PIC单片机在线仿真正常之后重新上电程序没运行
- oracle -rman 应用
- GEEK编程练习— —4的次方数
- 双缓冲区
- 【kmp算法】 水一水珍藏