opencv:WarpPerspective不规则轮廓转换

时间:2019-03-27 08:57:07

标签: python opencv image-processing

我需要对图像应用透视变换,但结果是边框不规则。

我需要从一个图像替换另一个图像中的对象。必要时应用一些视角转换以便提出替换。除了转换后的图像中不规则的边框外,其他都可以。

我尝试了不同的插值方法,不同的图像质量...但是问题仍然相同。

有一个例子:https://ibb.co/tzQGBhx

我写了一些代码向您展示我的问题。

import numpy as np
import cv2

logo=cv2.imread('test3.jpg')

dst = np.array([
    [0, 0],
    [logo.shape[1] - 1, 0],
    [logo.shape[1] - 1, logo.shape[0] - 1],
    [0, logo.shape[0] - 1]], dtype = "float32")


rect=np.float32([[260, 200], [520, 180], [530, 320], [260, 340]])

M = cv2.getPerspectiveTransform(dst, rect)          
warp = cv2.warpPerspective(logo, M, (logo.shape[1]*2, logo.shape[0]*2),cv2.INTER_LINEAR  ,cv2.BORDER_CONSTANT )
cv2.imshow('im',warp)
cv2.waitKey(0)

0 个答案:

没有答案