¿Cómo capturar una imagen de la cámara web en Python?

En este artículo, discutiremos cómo capturar una imagen de la cámara web usando Python.

Usaremos las bibliotecas OpenCV y PyGame . Ambas bibliotecas incluyen varios métodos y funciones para capturar una imagen y video también. Al usar estas vastas bibliotecas, necesitamos escribir solo 4 o 5 líneas de código para capturar una imagen.

Método 1: Usar OpenCV

La biblioteca OpenCV es compatible con los sistemas operativos Linux y Windows. Los usuarios deben instalar la biblioteca OpenCV en su computadora local usando el siguiente comando antes de continuar.

Install command - pip install opencv-python

Acercarse

1. Importar biblioteca OpenCV

2. Inicialice la cámara utilizando el método VideoCapture() .

Sintaxis:

Python3

cam = VideoCapture(0)

3. Lea la entrada usando la cámara usando el método cam.read().

Sintaxis :

Python3

result, image = cam.read()

4. Si se detecta la imagen de entrada sin ningún error, muestra la salida

Sintaxis :

If result:
    
    # show the image
    imshow("GeeksForGeeks", image)
    
    # save the image
    imwrite("GeeksForGeeks.png", image)

else:
    Move to this part is input image has some error

Ejemplo:

Python3

# program to capture single image from webcam in python
  
# importing OpenCV library
from cv2 import *
  
# initialize the camera
# If you have multiple camera connected with 
# current device, assign a value in cam_port 
# variable according to that
cam_port = 0
cam = VideoCapture(cam_port)
  
# reading the input using the camera
result, image = cam.read()
  
# If image will detected without any error, 
# show result
if result:
  
    # showing result, it take frame name and image 
    # output
    imshow("GeeksForGeeks", image)
  
    # saving image in local storage
    imwrite("GeeksForGeeks.png", image)
  
    # If keyboard interrupt occurs, destroy image 
    # window
    waitKey(0)
    destroyWindow("GeeksForGeeks")
  
# If captured image is corrupted, moving to else part
else:
    print("No image detected. Please! try again")

Producción:

Método 2: Usar PyGame

El inicializador de cámara PyGame.camera() solo es compatible con el sistema operativo Linux y, actualmente, no es compatible con Windows. Para instalar PyGame en Linux, ingrese el siguiente comando en la terminal de Linux.

Acercarse:

1. Importar módulo pygame.camera

2. Inicialice la cámara utilizando el método camera.init().

Python3

pygame.camera.init()

3. Detecte todas las cámaras disponibles usando el método list_cameras().

Python3

camlist = pygame.camera.list_cameras()

4. comprobar si la cámara se detecta o no

Sintaxis:

if camlist:
    
    # Initialize and start camera  
    cam = pygame.camera.Camera(camlist[0], (640, 480))
    cam.start()
    
    # capturing the single image
    image = cam.get_image()
    
    # saving the image
    pygame.image.save(image, "filename.jpg")
    
else:
    if camera is not detected the moving to this part

Ejemplo:

Python3

# Python program to capture a single image
# using pygame library
  
# importing the pygame library
import pygame
import pygame.camera
  
# initializing  the camera
pygame.camera.init()
  
# make the list of all available cameras
camlist = pygame.camera.list_cameras()
  
# if camera is detected or not
if camlist:
  
    # initializing the cam variable with default camera
    cam = pygame.camera.Camera(camlist[0], (640, 480))
  
    # opening the camera
    cam.start()
  
    # capturing the single image
    image = cam.get_image()
  
    # saving the image
    pygame.image.save(image, "filename.jpg")
  
# if camera is not detected the moving to else part
else:
    print("No camera on current device")

Producción:

Publicación traducida automáticamente

Artículo escrito por shubhamvora05 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 *