Это задача Perspective-n-Point (PnP) - а она не такая простая, как кажется, и решается множеством разных способов (типа ePnP:
cvlabwww.epfl.ch/~lepetit/papers/lepetit_ijcv08.pdf, с использованием RANSAC, и т.д). В общем, математики там полно, поэтому лучше найти уже готовую библиотеку, которая умеет делать такие вещи. Сам я пользовался только методами из OpenCV (типа solvePnP(...), solvePnPRansac(...)), она есть для питона, но кажется будет довольно жирновато тащить ее только ради плагина.