Python openCV 射影変換

射影変換を動かしてみた。
射影変換の導出式によると
射影変換
任意の四角形を任意の四角形に変形することができる変換が射影変換です。

よって4組の対応点の座標が必要になります。
射影変換>アフィン変換>合同変換
import numpy as np
import cv2
import matplotlib.pyplot as plt

#Affine変換
img = cv2.imread("logo.png")
rows,cols,ch = img.shape

pts1 = np.float32([[56,65],[368,52],[28,387],[389,390]])
pts2 = np.float32([[0,0],[300,0],[0,300],[300,300]])

M = cv2.getPerspectiveTransform(pts1,pts2)
dst = cv2.warpPerspective(img,M,(300,300))

plt.subplot(121),plt.imshow(img),plt.title('Input')
plt.subplot(122),plt.imshow(dst),plt.title('Output')
plt.show()


コメント

このブログの人気の投稿

Python OpenCVとWebカメラでバーコードリーダー

OpenCV 画像の足し算

OpenCV3とPython3で形状のある物体の輪郭と方向を認識する(主成分分析:PCA、固有ベクトル)