Recortar imagen con OpenCV-Python

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

forma de la imagen

Paso 3: Cortar la imagen

Ahora podemos aplicar el corte de array para producir nuestro resultado final.

Sintaxis:

image[rows,columns]

dónde

  1. las filas son el segmento de fila
  2. 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

Deja una respuesta

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