小编Raf*_*him的帖子

使用OpenCV warpPerspective时如何显示整个图像

我这里有2个测试图像.我的问题是,如何将第一张图像中的正方形映射到第二张图像中的四边形而不裁剪图像.

图1: 图片1

图2: 图片2

这是我使用openCV warpPerspective函数的当前代码.

import cv2
import numpy as np

img1_square_corners = np.float32([[253,211], [563,211], [563,519],[253,519]])
img2_quad_corners = np.float32([[234,197], [520,169], [715,483], [81,472]])

h, mask = cv2.findHomography(img1_square_corners, img2_quad_corners)
im = cv2.imread("image1.png")
out = cv2.warpPerspective(im, h, (800,800))
cv2.imwrite("result.png", out)
Run Code Online (Sandbox Code Playgroud)

结果: 结果

如您所见,由于warpPerspective函数中的dsize =(800,800)参数,我无法获得图像1的完整视图.如果我调整dsize,则方形将无法正确映射.有没有办法调整输出图像的大小,以便我可以获得图像1的全貌?

python opencv numpy image-processing computer-vision

17
推荐指数
2
解决办法
2万
查看次数