Open In App
Related Articles

Perspective Transformation – Python OpenCV

Improve Article
Improve
Save Article
Save
Like Article
Like

In Perspective Transformation, we can change the perspective of a given image or video for getting better insights into the required information. In Perspective Transformation, we need to provide the points on the image from which want to gather information by changing the perspective. We also need to provide the points inside which we want to display our image. Then, we get the perspective transform from the two given sets of points and wrap it with the original image.

We use cv2.getPerspectiveTransform and then cv2.warpPerspective .
 

cv2.getPerspectiveTransform method 

Syntax: cv2.getPerspectiveTransform(src, dst) 

Parameters

  • src: Coordinates of quadrangle vertices in the source image.
  • dst: Coordinates of the corresponding quadrangle vertices in the destination image.

cv2.wrapPerspective method 

Syntax: cv2.warpPerspective(src, dst, dsize)

Parameters

  • src: Source Image
  • dst: output image that has the size dsize and the same type as src.
  • dsize: size of output image

Below is the Python code explaining Perspective Transformation:

Python3




# 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) # Initial Capture
    cv2.imshow('frame1', result) # Transformed Capture
 
    if cv2.waitKey(24) == 27:
        break
 
cap.release()
cv2.destroyAllWindows()


Output: 


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 03 Jan, 2022
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials