透视变换详解– Python OpenCV

2021年3月31日16:11:03 发表评论 1,020 次浏览

透视变换中, 我们可以更改给定图像或视频的视角, 以更好地了解所需信息。在"透视变换"中, 我们需要通过更改透视图来提供图像上要从中收集信息的点。我们还需要提供要在其中显示图像的点。然后, 我们从两个给定的点集中获得透视变换, 并将其与原始图像包装在一起。

我们用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 OpenCV1

输出如下:

透视变换– Python OpenCV2

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: