Copiar pixeles en una nueva matriz
Publicado por Alejandro (7 intervenciones) el 23/02/2019 13:12:04
Buenas tardes a todos, soy un novato en esto de programar y Python es uno de los lenguajes con los que estoy empezando. Lo cierto es que me han puesto unos ejercicios para resolver pero no me han dado unas bases sobre este lenguaje por lo que se me esta haciendo cuesta arriba. Si alguien pudiera ayudarme a entender el primer ejercicio nada mas yo podría seguir con el resto.
El ejercicio 1 viene a decir que muestre una imagen de nombre A y después consiga una imagen rotada 90º a la derecha, pero usando un bucle para copiar los pixeles de una a otra. Yo en principio sé hacerlo pero con la biblioteca PIL y las funciones rotate, show … etc. Pero me piden hacerlo de esta forma.
Me han dado un código base que he probado pero no hace nada y lo cierto es que no entiendo las funciones sys.argv[ ], cual es su función. Gracias a todo el que pueda echar una mano.
Un saludo
EJERCICIO 1: Escribe un programa en Python que tome dos parámetros A y B, cargue una imagen de nombre A y grabe una versión de la misma rotada 90 \ en sentido horario, con el nombre B. Dicha rotación se llevara a cabo creando una imagen nueva y copiando los pixeles desde la imagen original en las posiciones adecuadas.
import numpy as np
import cv2, sys
imgOriginal = cv2.imread(sys.argv[1])
filas, columnas, bandas = imgOriginal.shape
imgNueva = np.zeros((columnas,filas,bandas),np.uint8)
for fi in range(filas):
for co in range(columnas):
pix = imgOriginal[fi,co]
El ejercicio 1 viene a decir que muestre una imagen de nombre A y después consiga una imagen rotada 90º a la derecha, pero usando un bucle para copiar los pixeles de una a otra. Yo en principio sé hacerlo pero con la biblioteca PIL y las funciones rotate, show … etc. Pero me piden hacerlo de esta forma.
Me han dado un código base que he probado pero no hace nada y lo cierto es que no entiendo las funciones sys.argv[ ], cual es su función. Gracias a todo el que pueda echar una mano.
Un saludo
EJERCICIO 1: Escribe un programa en Python que tome dos parámetros A y B, cargue una imagen de nombre A y grabe una versión de la misma rotada 90 \ en sentido horario, con el nombre B. Dicha rotación se llevara a cabo creando una imagen nueva y copiando los pixeles desde la imagen original en las posiciones adecuadas.
import numpy as np
import cv2, sys
imgOriginal = cv2.imread(sys.argv[1])
filas, columnas, bandas = imgOriginal.shape
imgNueva = np.zeros((columnas,filas,bandas),np.uint8)
for fi in range(filas):
for co in range(columnas):
pix = imgOriginal[fi,co]
Valora esta pregunta


0