Python openCV 射影変換

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

よって4組の対応点の座標が必要になります。
射影変換>アフィン変換>合同変換
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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カメラでバーコードリーダー

VB.net Dictionaryクラスの初期化