Python OpenCV – Función imdecode()

La función de Python cv2.imdecode() se utiliza para leer datos de imagen de una caché de memoria y convertirlos en formato de imagen. Esto generalmente se usa para cargar la imagen de manera eficiente desde Internet. 

Sintaxis: cv2.imdecode(buf,banderas)

Parámetros:

  • buf – Son los datos de imagen recibidos en bytes
  • flags – Especifica la forma en que se debe leer la imagen. Su valor por defecto es cv2.IMREAD_COLOR

Retorno: array de imágenes

Nota: Si el buf proporcionado no es un dato de imagen, se devolverá NULL.

Ejemplo 1:

Python3

#import modules
import numpy as np
import urllib.request
import cv2
  
# read the image url
url = 'https://media.geeksforgeeks.org/wp-content/uploads/20211003151646/geeks14.png'
  
  
with urllib.request.urlopen(url) as resp:
    
    # read image as an numpy array
    image = np.asarray(bytearray(resp.read()), dtype="uint8")
      
    # use imdecode function
    image = cv2.imdecode(image, cv2.IMREAD_COLOR)
  
    # display image
    cv2.imwrite("result.jpg", image)

Producción:

Ejemplo 2: si se requiere una escala de grises, se puede usar 0 como bandera.

Python3

# import necessary modules
import numpy as np
import urllib.request
import cv2
  
# read image url
url = 'https://media.geeksforgeeks.org/wp-content/uploads/20211003151646/geeks14.png'
  
with urllib.request.urlopen(url) as resp:
  
    # convert to numpy array
    image = np.asarray(bytearray(resp.read()), dtype="uint8")
      
    # 0 is used for grayscale image
    image = cv2.imdecode(image, 0)
      
    # display image
    cv2.imwrite("result.jpg", image)

Producción:

Ejemplo 3: Lectura de imagen de un archivo

Imagen de entrada:

Python3

# import necessayr modules
import numpy as np
import urllib.request
import cv2
  
# read th image
with open("image.jpg", "rb") as image:
    
    f = image.read()
      
    # convert to numpy array
    image = np.asarray(bytearray(f))
      
    # RGB to Grayscale
    image = cv2.imdecode(image, 0)
      
    # display image
    cv2.imshow("output", image)

Producción:

Publicación traducida automáticamente

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