Invertir una imagen usando el módulo OpenCV en Python

Vaibhav Vaibhav 10 octubre 2023
  1. Inversión de imágenes
  2. Invertir imágenes usando el método bitwise_not() en Python
  3. Invertir imágenes usando el método numpy.invert() en Python
Invertir una imagen usando el módulo OpenCV en Python

OpenCV o Open Source Computer Vision Library es una biblioteca de visión artificial en tiempo real que se utiliza para el procesamiento de imágenes y el aprendizaje automático. Está escrito en C/C++ y está disponible para muchos lenguajes de programación como C++, Python y Java. En Python, generalmente, OpenCV se usa junto con NumPy, una biblioteca basada en Python para matrices, arreglos multidimensionales y cálculo matemático.

Las imágenes se representan mediante matrices multidimensionales NumPy y se procesan mediante OpenCV. Usando el módulo OpenCV, se pueden realizar muchas operaciones sobre imágenes como voltear, escalar, rotar, reflejar, cambiar colores, invertir colores, etc. En este artículo, aprenderemos cómo invertir imágenes usando el módulo OpenCV.

Inversión de imágenes

Las imágenes se representan utilizando valores RGB o Rojo Verde Azul. Cada uno puede tomar un valor entero entre 0 y 255 (ambos incluidos). Por ejemplo, un color rojo se representa con (255, 0, 0), blanco con (255, 255, 255), negro con (0, 0, 0), etc.

Invertir una imagen significa invertir los colores de la imagen. Por ejemplo, el color invertido para el color rojo será (0, 255, 255). Tenga en cuenta que 0 se convirtió en 255 y 255 se convirtió en 0. Esto significa que invertir una imagen es esencialmente restar los antiguos valores RGB de 255.

New_Value = 255 - Old_Value

Imagen original:

invertir imagen en python opencv - original

Imagen invertida:

invertir imagen en python opencv - original

Invertir imágenes usando el método bitwise_not() en Python

OpenCV tiene un método bitwise_not() que realiza una operación NOT bit a bit. Podemos usar esta función para invertir una imagen. Consulte el siguiente código. Considera que tienes una imagen con el nombre de image.png en tu directorio de trabajo.

import cv2

image = cv2.imread("image.png", 0)
inverted_image = cv2.bitwise_not(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)

Este programa primero cargará una imagen, la invertirá y la guardará en el directorio de trabajo. Después de eso, mostrará tanto la imagen original como la invertida.

Invertir imágenes usando el método numpy.invert() en Python

NumPy tiene un método invert(), que realiza una inversión bit a bit o una operación NOT a bit. El siguiente código muestra cómo podemos usar este método para realizar la inversión.

import cv2
import numpy as np

image = cv2.imread("image.png", 0)
inverted_image = np.invert(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)

Para obtener más información sobre el método invert(), consulte aquí

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Artículo relacionado - Python OpenCV