opencv鼠标交互,绘制圆形,颜色随机
时间: 2023-10-11 22:24:18 浏览: 88
基于Opencv的鼠标画图
5星 · 资源好评率100%
您可以使用OpenCV中的cv2.setMouseCallback()函数来实现鼠标交互,并使用cv2.circle()函数绘制圆形。在绘制圆形时,您可以使用Python中的random模块生成随机颜色。下面是一个示例代码:
```python
import cv2
import random
# 点击鼠标左键时绘制圆形
def draw_circle(event,x,y,flags,param):
global img
if event == cv2.EVENT_LBUTTONUP:
# 随机生成颜色
color = (random.randint(0,255),random.randint(0,255),random.randint(0,255))
cv2.circle(img,(x,y),50,color,-1)
img = cv2.imread('test.jpg')
cv2.namedWindow('image')
cv2.setMouseCallback('image',draw_circle)
while True:
cv2.imshow('image',img)
if cv2.waitKey(20) & 0xFF == 27:
break
cv2.destroyAllWindows()
```
在上面的代码中,我们首先定义了一个回调函数draw_circle(),当鼠标左键按下时,该函数将在图像上绘制一个半径为50的圆形,颜色为随机生成的颜色。然后,我们使用cv2.setMouseCallback()函数将该回调函数与图像窗口绑定起来。最后,我们使用cv2.imshow()函数显示图像,并使用cv2.waitKey()函数等待用户按下ESC键退出程序。
阅读全文