Está en la página 1de 3

OpenCV_Funcion_Obtener_Dimensiones.ipynb - Colaboratory https://colab.research.google.com/drive/1QoW96LxUaasD1e3O0xo3cq...

from matplotlib import pyplot as plt


import cv2

def mostrar_imagen(titulo, imagen):


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

args = {
"imagen": "labrador.jpg"
}

# Cargar la imagen, 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

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

# accede al pixel ubicado en x=50, y=20


(b, g, r) = imagen[20, 50]
print("Pixel en (50, 20) - Rojo: {}, Verde: {}, Azul: {}".format(r, g, b))

# actualizar el pixel en (50, 20) y establecerlo a rojo


imagen[20 50] = (0 0 255)

1 de 3 28/06/2021 20:10
OpenCV_Funcion_Obtener_Dimensiones.ipynb - Colaboratory https://colab.research.google.com/drive/1QoW96LxUaasD1e3O0xo3cq...

Pixel en (50, 20) - Rojo: 255, Verde: 0, Azul: 0

cv2.imwrite("labrador_punto_rojo.jpg", cv2.cvtColor(imagen, cv2.COLOR_RGB2BGR))

True

# calcula el centro de la imagen, simplemente es el ancho y el alto


# dividido por dos
(cx, cy) = (w // 2, h // 2)

# ya que estamos usando arreglos Numpy, podemos aplicar la selección


# de una parte del arreglo y grabar las regiones de interes de la
# imagen, como ejemplo grabamos la esquina superior izquierda de la
# imagen
t1 = imagen[0:cy, 0:cx]
mostrar_imagen("Esquina superior izquierda", t1)

2 de 3 28/06/2021 20:10
OpenCV_Funcion_Obtener_Dimensiones.ipynb - Colaboratory https://colab.research.google.com/drive/1QoW96LxUaasD1e3O0xo3cq...

3 de 3 28/06/2021 20:10

También podría gustarte