¿Cómo obtener las propiedades del objeto Python cv2.VideoCapture?

Veamos cómo podemos obtener las propiedades de los objetos cv2.VideoCapture y entender cómo funcionan. cv2.VideoCapture es una función de la biblioteca openCV (utilizada para la visión por computadora, el aprendizaje automático y el procesamiento de imágenes) que permite trabajar con video, ya sea capturándolo a través de una cámara web en vivo o mediante un archivo de video. Para saber más sobre esta función, consulte este enlace .  

Instalación

Antes de comenzar, asegúrese de instalar la biblioteca OpenCV en Python 3.X. Puede instalarlos usando el comando pip:

pip install opencv-python

Propiedades del objeto cv2.VideoCapture

Al conocer las propiedades del objeto cv2.VideoCapture, se facilita el procesamiento de video, en última instancia, mediante el procesamiento de los fotogramas. 

1) Ancho: esta propiedad se usa para obtener el ancho de los cuadros en la transmisión de video. La unidad de medida es en píxeles. 

Sintaxis: cv2.CAP_PROP_FRAME_WIDTH

2) Altura: esta propiedad se utiliza para obtener la altura de los cuadros en la transmisión de video. La unidad de medida es en píxeles.

Sintaxis: cv2.CAP_PROP_FRAME_HEIGHT 

3) Fps: FPS significa fotogramas por segundo. Esta propiedad se utiliza para obtener la velocidad de fotogramas del vídeo.

Sintaxis: cv2.CAP_PROP_FPS

4) Posición Actual: Esta propiedad se utiliza para saber cuál es la posición actual del video, su unidad de medida es el milisegundo.

Sintaxis: cv2.CAP_PROP_POS_MSEC

5) Número total de cuadros: esta propiedad se utiliza para calcular el número total de cuadros en el archivo de video.

  Sintaxis: cv2.CAP_PROP_FRAME_COUNT

6) Brillo: esta propiedad no es para archivos de video. Solo funciona con una cámara o cámara web. Se utiliza para averiguar el brillo.

Sintaxis: cv2.CAP_PROP_BRIGHTNESS

7) Contraste: esta propiedad también funciona solo con la cámara o cámara web. Se utiliza para conocer el contraste de las imágenes capturadas.

Sintaxis: cv2.CAP_PROP_CONTRAST

8) Valor de saturación: se utiliza para obtener la saturación de fotogramas en vivo capturados a través de cámaras. Esto tampoco funciona en el archivo de video.

Sintaxis: cv2.CAP_PROP_SATURATION

9) Valor HUE: Sirve para conocer el valor HUE de la imagen. Solo para cámaras.

Sintaxis: cv2.CAP_PROP_HUE

10) GANANCIA:  Esta propiedad se utiliza para obtener la ganancia de la imagen. No funcionaría con el archivo de video, simplemente devuelva «0» si se aplica en un archivo de video.

Sintaxis: cv2.CAP_PROP_GAIN

11) Necesidad de convertir a RGB: esta propiedad devuelve un valor booleano que indica si las imágenes deben convertirse al espacio de color RGB o no.

Sintaxis: cv2.CAP_PROP_CONVERT_RGB

Estas propiedades serán mucho más claras al usarlas directamente en el código. Aquí está su implementación:

Python3

# importing cv2
import cv2
  
#For Video File
#capture=cv2.VideoCapture("sample.webm")
  
#For webcam
capture=cv2.VideoCapture(0)
  
# showing values of the properties
print("CV_CAP_PROP_FRAME_WIDTH: '{}'".format(capture.get(cv2.CAP_PROP_FRAME_WIDTH)))
print("CV_CAP_PROP_FRAME_HEIGHT : '{}'".format(capture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
print("CAP_PROP_FPS : '{}'".format(capture.get(cv2.CAP_PROP_FPS)))
print("CAP_PROP_POS_MSEC : '{}'".format(capture.get(cv2.CAP_PROP_POS_MSEC)))
print("CAP_PROP_FRAME_COUNT  : '{}'".format(capture.get(cv2.CAP_PROP_FRAME_COUNT)))
print("CAP_PROP_BRIGHTNESS : '{}'".format(capture.get(cv2.CAP_PROP_BRIGHTNESS)))
print("CAP_PROP_CONTRAST : '{}'".format(capture.get(cv2.CAP_PROP_CONTRAST)))
print("CAP_PROP_SATURATION : '{}'".format(capture.get(cv2.CAP_PROP_SATURATION)))
print("CAP_PROP_HUE : '{}'".format(capture.get(cv2.CAP_PROP_HUE)))
print("CAP_PROP_GAIN  : '{}'".format(capture.get(cv2.CAP_PROP_GAIN)))
print("CAP_PROP_CONVERT_RGB : '{}'".format(capture.get(cv2.CAP_PROP_CONVERT_RGB)))
  
# release window
capture.release()
cv2.destroyAllWindows()

La salida es la siguiente (para cámara web):

Publicación traducida automáticamente

Artículo escrito por harshsinha3682 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *