open cv 创建一幅图像,大小为500*800,在图像中按住鼠标左键移动绘制图形,双击鼠标左键可清除所绘制的图形
时间: 2024-05-02 07:21:22 浏览: 70
以下是Python代码示例:
```python
import cv2
# 创建一幅空白图像
img = cv2.imread('blank.png')
img = cv2.resize(img, (800, 500))
# 定义一些全局变量
drawing = False
ix, iy = -1, -1
# 定义回调函数
def draw(event, x, y, flags, param):
global drawing, ix, iy
if event == cv2.EVENT_LBUTTONDOWN:
drawing = True
ix, iy = x, y
elif event == cv2.EVENT_MOUSEMOVE:
if drawing:
cv2.line(img, (ix, iy), (x, y), (0, 0, 255), 3)
ix, iy = x, y
elif event == cv2.EVENT_LBUTTONUP:
drawing = False
elif event == cv2.EVENT_LBUTTONDBLCLK:
img[:] = 0
# 创建窗口并绑定回调函数
cv2.namedWindow('image')
cv2.setMouseCallback('image', draw)
# 循环显示图像
while True:
cv2.imshow('image', img)
if cv2.waitKey(1) == 27: # 按ESC键退出
break
cv2.destroyAllWindows()
```
执行代码后,将会弹出一个空白图像的窗口。按住鼠标左键并移动鼠标,即可在图像中绘制图形。双击鼠标左键可清除所绘制的图形。按ESC键可退出程序。
阅读全文