ここに2つのテスト画像があります。私の質問は、画像をトリミングせずに、最初の画像の正方形を2番目の画像の四角形にマッピングする方法です。
画像 1:
画像 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)
結果:
ご覧のとおり、warpPerspective 関数の dsize=(800,800) パラメータのため、画像 1 の全体像を取得できません。dsize を調整すると、正方形が適切にマッピングされません。画像 1 の全体像を取得できるように、出力画像のサイズを変更する方法はありますか?