Pythonで画像を斜めに変形する方法 – OpenCVとNumPyを使ったステップバイステップガイド

Python

画像を斜めから見たように変形させる方法についてメモします。

やろうとしていること

400*400の画像を左側から見たように変形します。左側の上下を広げます。

準備

Pythonでやります。

OpenCVのインストールは次の通り。
pip install opencv-python

NumPyのインストールは次の通り。
pip install numpy

コード

400*400の画像の四隅のうち、左上を上に100ピクセルずらし、左下を下に100ピクセルずらします。
処理後に画像が表示されます。キーを何か押すと消えます。
最後に生成されたファイルを保存します。

import cv2
import numpy as np

# 画像を読み込む
image = cv2.imread('sample.png')

# 変換前の4点
pts1 = np.float32([[0, 0], [400, 0], [0, 400], [400, 400]])

# 変換後の4点(歪み変形させる)
pts2 = np.float32([[0, -100], [400, 0], [0, 500], [400, 400]])

# 透視変換行列を計算
M = cv2.getPerspectiveTransform(pts1, pts2)

# 透視変換を適用
dst = cv2.warpPerspective(image, M, (400, 400))

# 結果を表示
cv2.imshow('Perspective Transform', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.imwrite('transform.png', dst)

処理例

コメント

タイトルとURLをコピーしました