import cv2 as cv import numpy as np def click_event(event, x, y, flags, params): if event == cv.EVENT_LBUTTONDOWN: # print(x, ' ', y) cv.circle(img, (int(x), int(y)), 10, [0, 255, 255], -1) cv.imshow('image', img) vertexes.append([x, y]) if len(vertexes) == 4: add_img_in_area() def add_img_in_area(): # src_points = np.array([[0, 0], [bakery_w - 1, 0], [bakery_w - 1, bakery_h - 1], [0, bakery_h - 1]], dtype=float) dst_points = np.array(vertexes, dtype=float) vertexes.clear() if __name__ == '__main__': vertexes = [] img = cv.imread('../img/billboards.jpg') bakery = cv.imread('../img/bakery.jpg') bakery_h, bakery_w = bakery.shape[0:2] cv.imshow('image', img) cv.setMouseCallback('image', click_event) cv.waitKey(0) cv.destroyAllWindows()