Python - ValueError: setting an array element with a sequence.

 
Vista:
sin imagen de perfil
Val: 24
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

ValueError: setting an array element with a sequence.

Publicado por Johannes (9 intervenciones) el 17/07/2019 21:13:07
Buenas tardes. Estoy haciendo un ejercicio para rotar una imagen 90° en sentido anti horario para lo cual estoy utilizando una matriz numpy para almacenar los valores de mis pixeles, aquí el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from time import time
 
import numpy as np
 
from PIL import Image
 
...
 
def transpuesta(img):
    tiempo_inicio = time()
    ruta = (f'/home/roco/Imágenes/{img}')
    img = Image.open(ruta)
    # img.show()
    img8 = img
    ar = np.zeros((img8.size[0], img8.size[1]))
    i = 0
 
    while i < img8.size[1]:
        j = 0
 
        while j < img8.size[0]:
            a = img8.getpixel((j, i))
            ar[j, i] = a                                   <--- Línea con el error
            j += 1
        i += 1
    ar = ar.astype(int)
    img8 = Image.fromarray(ar)
    # img8.show()
    tiempo_fin = time()
    tiempo_total = tiempo_fin - tiempo_inicio
    print(f'El proceso tardo: {tiempo_total} segundos.')
    return img8

pero obtengo el siguiente mensaje de error:

Traceback (most recent call last):

File "<ipython-input-27-51ca3fd1d9e1>", line 1, in <module>
m.transpuesta('josef.jpeg')

File "/home/.../metodos.py", line 203, in transpuesta
ar[j, i] = a

ValueError: setting an array element with a sequence.


He buscado el google y entiendo que el problema radica en que quiero agrupar una secuencia de números en un solo espacio para un número pero no encuentro una solución, ojala puedan ayudarme a encontrar una. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ValueError: setting an array element with a sequence.

Publicado por joel (901 intervenciones) el 18/07/2019 09:05:44
Hola Johannes, pero esos errores son sobre el código que muestras??
El primer error lo da en la linea 1, y el segundo en la linea 203!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 24
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

ValueError: setting an array element with a sequence.

Publicado por Johannes (9 intervenciones) el 18/07/2019 19:00:00
Hola Joel. Buenos días, eso es correcto lo que pasa es que no puse el código completo, pero el error de la línea 1 tiene que ver con la terminal ipython en donde estoy ejecutando mi código y se refiere a que el error esta dentro de la función o método m.transpuesta y el error de la línea 203 es el que resalto en la línea 23. El ejercicio lo saque de un vídeo en youtube (te comparto el enlace https://www.youtube.com/watch?v=VFDWL0UuxN8&list=PLfwyrQRiWUQmEOgsai0jg2mNYT6lYA6km&index=10&t=0s) y le funciona perfectamente bien, yo quiero pensar que tiene que ver con la versión de numpy que estoy utilizando (version 1.16.4) ya que el video se gravo hace 2 años y en esta versión no encuentro la forma de agregar los elementos al array ya que la funcion getpixel() de la línea 22 regresa una tupla con los valores rgb del pixel selecionado y el array de numpy no me lo acepta por que es una secuencia de valores.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar