En Transformación de perspectiva, podemos cambiar la perspectiva de una imagen o video dado para obtener una mejor comprensión de la información requerida. En Transformación de perspectiva, debemos proporcionar los puntos de la imagen desde los que queremos recopilar información cambiando la perspectiva. También debemos proporcionar los puntos dentro de los cuales queremos mostrar nuestra imagen. Luego, obtenemos la transformación de perspectiva de los dos conjuntos de puntos dados y la envolvemos con la imagen original.
Usamos cv2.getPerspectiveTransform y luego cv2.warpPerspective .
método cv2.getPerspectiveTransform
Sintaxis : cv2.getPerspectiveTransform(src, dst)
Parámetros :
- src : Coordenadas de vértices cuadrangulares en la imagen de origen.
- dst : Coordenadas de los vértices del cuadrilátero correspondiente en la imagen de destino.
método cv2.wrapPerspective
Sintaxis : cv2.warpPerspective(src, dst, dsize)
Parámetros :
- src : Imagen de origen
- dst : imagen de salida que tiene el tamaño dsize y el mismo tipo que src.
- dsize : tamaño de la imagen de salida
A continuación se muestra el código de Python que explica la transformación de perspectiva:
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()
Producción:
Publicación traducida automáticamente
Artículo escrito por ayushmankumar7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA