Está en la página 1de 4

28/6/2021 Manipulación de pixeles.

ipynb - Colaboratory

Manipulación de Pixeles

Importar Librerias

from matplotlib import pyplot as plt
import argparse
import cv2

Función para mostrar imágenes en Jupyter Notebooks y Google Colab

def mostrar_imagen(titulo,imagen):
  imagen = cv2.cvtColor(imagen,cv2.COLOR_BGR2RGB)
  plt.imshow(imagen)
  plt.title(titulo)
  plt.grid(False)
  plt.show

Obtención y modificación de Pixeles

args = {
  "imagen": "descarga.png"
}

# cargar la imágen, graba sus dimensiones (ancho y alto),
# y luego muestra la imagen original
imagen = cv2.imread(args["imagen"])
(h, w) = imagen.shape[:2]
mostrar_imagen("Original", imagen)

# Las imagenes son arreglos Numpy -- con el origen (0,0) ubicado en
# la esquina superior izquierda de la imagen

https://colab.research.google.com/drive/1uV86wNkp9UB_I4DNhX6eQw13HGPia8LP#scrollTo=j_8V_SpvneCY 1/4
28/6/2021 Manipulación de pixeles.ipynb - Colaboratory

(b, g, r) = imagen[0, 0]
print("Pixel en (0, 0) - Rojo: {}, Verde: {}, Azúl: {}".format(r, g, b))

Pixel en (0, 0) - Rojo: 238, Verde: 250, Azúl: 240

# accede al pixel ubicado en x=50, y=20
(b, g, r) = imagen[20, 50]
print("Pixel en (50, 20) - Rojo: {}, Verde: {}, Azúl: {}".format(r, g, b))

Pixel en (50, 20) - Rojo: 255, Verde: 255, Azúl: 255

# actualizar el pixel en (50, 20) and establecerlo a rojo
imagen[20, 50] = (0, 0, 255)
(b, g, r) = imagen[20, 50]
print("Pixel en (50, 20) - Rojo: {}, Verde: {}, Azúl: {}".format(r, g, b))

Pixel en (50, 20) - Rojo: 255, Verde: 0, Azúl: 0

# calcula el centro de la imagen, simplemente es el ancho y alto
# dividido por dos
(cX, cY) = (w // 2, h // 2)

tl = imagen[0:cY, 0:cX]
# de una parte del arreglo y grabar las regiones de interés de la
# imagen, como ejemplo grabamos la esquina superior izquierda de la
# imagen
mostrar_imagen("Esquina superior izquierda", tl)
 

# de manera similar podemos hacer lo mismo con las otras esquinas
tr = imagen[0:cY, cX:w]
br = imagen[cY:h, cX:w]
bl = imagen[cY:h, 0:cX]
mostrar_imagen("Esquina superior derecha", tr)
 

https://colab.research.google.com/drive/1uV86wNkp9UB_I4DNhX6eQw13HGPia8LP#scrollTo=j_8V_SpvneCY 2/4
28/6/2021 Manipulación de pixeles.ipynb - Colaboratory

mostrar_imagen("Esquina inferior derecha", br)

mostrar_imagen("Esquina inferior izquierda", bl)

# hacer la esquina superior izquierda de color verde
imagen[0:cY, 0:cX] = (0, 255, 0)
# Mostrar la imagen actualizada
mostrar_imagen("Updated", imagen)

https://colab.research.google.com/drive/1uV86wNkp9UB_I4DNhX6eQw13HGPia8LP#scrollTo=j_8V_SpvneCY 3/4
28/6/2021 Manipulación de pixeles.ipynb - Colaboratory

check 0 s completado a las 21:50

https://colab.research.google.com/drive/1uV86wNkp9UB_I4DNhX6eQw13HGPia8LP#scrollTo=j_8V_SpvneCY 4/4

También podría gustarte