台形 (最初の画像) から長方形 (2 番目の画像) に変換しようとしていますが、奇妙な結果が得られます (3 番目の画像)。
私の計画は、台形の 4 つの角点と長方形の 4 つの角点によって定義される透視変換を使用することでした。
この例では、台形の場合は次のようになります。
ptsTrap = [[ 50. 100. ]
[ 50. 200. ]
[ 250. 64.73460388]
[ 250. 235.26539612]]
長方形の場合:
ptsRect = [[ 50. 100.]
[ 50. 200.]
[ 250. 100.]
[ 250. 200.]]
私はこれらの点から遠近変換を得ています:
T = cv2.getPerspectiveTransform(ptsTrap, ptsRect)
そして、それからイメージを構築します:
arrTrapToRect = cv2.warpPerspective(arrTrap, T, arrTrap.shape[:2])
ただし、画像からわかるように、これは期待される変換を行っていません。
変換を定義したポイントでさえ、それに従って投影されていない理由がわかりません。何か案は?