如何使用单应性将图像投影到另一图像上

CSR*_*CSR 1 python opencv

我有一个 python 程序,可以从捕获的视频中检测矩形。现在我想将另一个图像投影到检测到的正方形中(就像在这个视频中一样)。

我已经尝试过使用它warpPerspective,但似乎不起作用,或者也许我以错误的方式使用它。

我目前的输出如下所示。我希望我的输出看起来像这样

小智 6

我尝试使用后覆盖图像warpPerspective

img = cv2.imread('cola.jpg')
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
background = cv2.imread('stadium.jpg')
background = cv2.cvtColor(background,cv2.COLOR_BGR2RGB)

rows,cols,ch = background.shape

pts1 = np.float32([[0,0],[974,0],[0,974],[974,974]]) # cola coords 
pts2 = np.float32([[560,383],[940, 516],[5,527],[298,733]]) # stadium tile coords

M = cv2.getPerspectiveTransform(pts1,pts2)    
dst = cv2.warpPerspective(img,M,(cols,rows))

overlay = cv2.add(background, dst)
Run Code Online (Sandbox Code Playgroud)

[输出图像

输出图像

我使用了 OpenCV文档