Recortar una imagen es una de las operaciones de imagen más básicas que realizamos en nuestros proyectos. En este artículo, discutiremos cómo recortar imágenes usando OpenCV en Python.
Implementación paso a paso
Para ello, tomaremos la imagen que se muestra a continuación.
Paso 1: Lee la imagen
El método cv2.imread() carga una imagen del archivo especificado. Si la imagen no se puede leer (debido a la falta del archivo, permisos incorrectos, formato no compatible o no válido), este método devuelve una array vacía.
Nota: Cuando cargamos una imagen en OpenCV usando cv2.imread() , la almacenamos como una array Numpy n-dimensional.
Ejemplo: programa Python para leer la imagen
Python3
import cv2 # Read Input Image img = cv2.imread("test.jpeg") # Check the type of read image print(type(img)) # Display the image cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows()
Salida :
Paso 2: Obtenga las dimensiones de la imagen
Podemos ver el tipo de ‘ img ‘ como ‘ numpy.ndarray ‘. Ahora, simplemente aplicamos el corte de array a nuestra array NumPy y producimos nuestra imagen recortada, por lo que tenemos que encontrar las dimensiones de la imagen. Para ello utilizaremos el atributo image.shape.
Sintaxis:
image.shape
donde imagen es la imagen de entrada
Ejemplo: código de Python para encontrar las dimensiones de la imagen,
Python3
import cv2 # read the image img = cv2.imread("test.jpeg") print(type(img)) # Check the shape of the input image print("Shape of the image", img.shape)
Salida :
Paso 3: Cortar la imagen
Ahora podemos aplicar el corte de array para producir nuestro resultado final.
Sintaxis:
image[rows,columns]
dónde
- las filas son el segmento de fila
- columnas es el sector de la columna
Ejemplo:
Python3
import cv2 img = cv2.imread("test.jpeg") print(type(img)) # Shape of the image print("Shape of the image", img.shape) # [rows, columns] crop = img[50:180, 100:300] cv2.imshow('original', img) cv2.imshow('cropped', crop) cv2.waitKey(0) cv2.destroyAllWindows()
Salida :
Publicación traducida automáticamente
Artículo escrito por ayushmankumar7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA