Prerrequisito: Operaciones aritméticas en imágenes usando OpenCV | Lo esencial
Podemos realizar diferentes operaciones aritméticas en las imágenes, por ejemplo, sumas, restas, etc. Esto es posible porque las imágenes se almacenan como arrays (tridimensionales para imágenes RGB y unidimensionales para imágenes en escala de grises).
Importancia de las operaciones aritméticas en las imágenes:
- Fusión de imágenes: la adición de imágenes se utiliza para la fusión de imágenes donde las imágenes se multiplican con diferentes pesos y se suman para dar un efecto de fusión.
- WaterMarking: También se basa en el principio de adición de imágenes de muy bajo peso a la imagen original.
- Detección de cambios en la imagen: la sustracción de imágenes puede ayudar a identificar los cambios en dos imágenes, así como a nivelar secciones irregulares de la imagen, por ejemplo, para manejar la mitad de la imagen que tiene sombra.
Código para Adición de Imagen –
import cv2 import matplotlib.pyplot as plt % matplotlib inline # matplotlib can be used to plot the images as subplot first_img = cv2.imread("C://gfg//image_processing//players.jpg") second_img = cv2.imread("C://gfg//image_processing//tomatoes.jpg") print(first_img.shape) print(second_img.shape) # we need to resize, as they differ in shape dim =(544, 363) resized_second_img = cv2.resize(second_img, dim, interpolation = cv2.INTER_AREA) print("shape after resizing", resized_second_img.shape) added_img = cv2.add(first_img, resized_second_img) cv2.imshow("first_img", first_img) cv2.waitKey(0) cv2.imshow("second_img", resized_second_img) cv2.waitKey(0) cv2.imshow("Added image", added_img) cv2.waitKey(0) cv2.destroyAllWindows()
Salida:
(363, 544, 3)
(500, 753, 3)
forma después de cambiar el tamaño (363, 544, 3)
Código para resta de imagen –
import cv2 import matplotlib.pyplot as plt % matplotlib inline first_img = cv2.imread("C://gfg//image_processing//players.jpg") second_img = cv2.imread("C://gfg//image_processing//tomatoes.jpg") print(first_img.shape) print(second_img.shape) # we need to resize, as they differ in shape dim =(544, 363) resized_second_img = cv2.resize(second_img, dim, interpolation = cv2.INTER_AREA) print("shape after resizing", resized_second_img.shape) subtracted = cv2.subtract(first_img, resized_second_img) cv2.imshow("first_img", first_img) cv2.waitKey(0) cv2.imshow("second_img", resized_second_img) cv2.waitKey(0) cv2.imshow("subtracted image", subtracted) cv2.waitKey(0) cv2.destroyAllWindows()
Salida:
(363, 544, 3)
(500, 753, 3)
forma después de cambiar el tamaño (363, 544, 3)
Publicación traducida automáticamente
Artículo escrito por Sourabh_Sinha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA