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()
