Skip to content

Cropping Window

draw_rectangle

draw_rectangle(event, x, y, flags, param)

Helper function to render a cropping window to the user in case of manual cropping, using cv2.

Source code in musicalgestures/_cropping_window.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def draw_rectangle(event, x, y, flags, param):
    """
    Helper function to render a cropping window to the user in case of manual cropping, using cv2.
    """
    global x_start, y_start, x_stop, y_stop, drawing, frame_mask
    if event == cv2.EVENT_LBUTTONDOWN:
        frame_mask = np.zeros(param.shape)
        drawing = True
        x_start, y_start = x, y

    elif event == cv2.EVENT_MOUSEMOVE:
        if drawing == True:
            frame_mask = np.zeros(param.shape)
            cv2.rectangle(frame_mask, (x_start, y_start),
                          (x, y), (g_val, g_val, g_val), 1)

    elif event == cv2.EVENT_LBUTTONUP:
        drawing = False
        x_stop, y_stop = x, y
        cv2.rectangle(frame_mask, (x_start, y_start),
                      (x, y), (g_val, g_val, g_val), 1)