'How to calibrate an image without a chess board using a map?

I'm learning OpenCV and I have this project where I have to do some analysis on football players in a game. To do so I first need to get their position on the field. I'm thinking of getting the camera matrix, so essentially calibrating the camera.
Looking up, there is the function cv2.calibrateCamera() but it calibrates using a chessboard in the image. but the images I'm working on don't have them.
Here's an example of an image:

football game

I'm thinking of using a map of the field like the following:

field

My code right now will request the user to click on 4 matching points on both images to get the corresponding coordinates but I don't know how to proceed next. I thought of using cv2.getPerspectiveTransform() but it doesn't do what I want to.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source