在透视变换中, 我们可以更改给定图像或视频的视角, 以更好地了解所需信息。在"透视变换"中, 我们需要通过更改透视图来提供图像上要从中收集信息的点。我们还需要提供要在其中显示图像的点。然后, 我们从两个给定的点集中获得透视变换, 并将其与原始图像包装在一起。
我们用cv2.getPerspectiveTransform接着cv2.warpPerspective.
cv2.getPerspectiveTransform方法-
语法:cv2.getPerspectiveTransform(src, dst)
参数:-> src:源图像中四边形顶点的坐标。
-> dst:目标图像中相应四边形顶点的坐标。 cv2.wrapPerspective方法-
语法:cv2.warpPerspective(src, dst, dsize)参数:
-> src:源图像
-> dst:输出图像, 其大小为dsize并且与src类型相同。
-> dsize:输出图像的大小
以下是解释透视转换的Python代码–
# import necessary libraries
import cv2
import numpy as np
# Turn on Laptop's webcam
cap = cv2.VideoCapture( 0 )
while True :
ret, frame = cap.read()
# Locate points of the documents or object which you want to transform
pts1 = np.float32([[ 0 , 260 ], [ 640 , 260 ], [ 0 , 400 ], [ 640 , 400 ]])
pts2 = np.float32([[ 0 , 0 ], [ 400 , 0 ], [ 0 , 640 ], [ 400 , 640 ]])
# Apply Perspective Transform Algorithm
matrix = cv2.getPerspectiveTransform(pts1, pts2)
result = cv2.warpPerspective(frame, matrix, ( 500 , 600 ))
# Wrap the transformed image
cv2.imshow( 'frame' , frame) # Inital Capture
cv2.imshow( 'frame1' , result) # Transformed Capture
if cv2.waitKey( 24 ) = = 27 :
break
cap.release()
cv2.destroyAllWindows()
输入图片:
输出如下:
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。