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