Files
open-cv-experiment/test/2024,9,23/mouse_event.py
T
2024-09-23 21:48:52 +08:00

27 lines
743 B
Python

from pickletools import uint8
import cv2 as cv
import numpy as np
# setup a write 3 channel image
img = np.ones((512, 512, 3), dtype=np.uint8) * 255
# define callback function
def draw_circle(event, x, y, flags, param):
if event == cv.EVENT_LBUTTONDOWN:
# draw a black 20px radius circle on img
cv.circle(img, (x, y), 20, (0, 0, 0), -1)
# setup a window named 'show_img'
cv.namedWindow('show_img')
# set a mouse callback
cv.setMouseCallback('show_img', draw_circle)
while (1):
cv.imshow('show_img', img)
pressedKey = cv.waitKey(5)
if pressedKey == ord('q'):
break
elif pressedKey == ord('s'):
cv.imwrite("mouse_draw_circle.jpg", img);
print("save success")
cv.destroyAllWindows()