Invertir una imagen usando el módulo OpenCV en Python
- Inversión de imágenes
-
Invertir imágenes usando el método
bitwise_not()
en Python -
Invertir imágenes usando el método
numpy.invert()
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:
Imagen invertida:
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í