Erro no (corretor do) EP9?

Erro no (corretor do) EP9?

por Bruna Thalenberg -
Número de respostas: 3

Não entendi os erros no meu EP:

Problema com a chamada img = Imagem(); img.carregue(ime-usp.png); cinza = img.para_cinza(); cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum())
Erro Grave!
- ERRO! - durante a execução de: img = Imagem(); img.carregue(ime-usp.png); cinza = img.para_cinza(); cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum()) 
-- Exemplo: variável não inicializada, índice inválido, tipo inválido etc
-- ERRO de exceção: operands could not be broadcast together with shapes (27,40,4) (3,) 
Problema com a chamada img = Imagem(); img.carregue(ime-usp.png); img.para_cinza()
Erro Grave!
- ERRO! - durante a execução de: img = Imagem(); img.carregue(ime-usp.png); img.para_cinza() 
-- Exemplo: variável não inicializada, índice inválido, tipo inválido etc
-- ERRO de exceção: operands could not be broadcast together with shapes (27,40,4) (3,) 

Quando rodo aqui, tudo funciona normalmente:

>>> runfile('/home/bthalenberg/Downloads/8569211_ep9.py', wdir='/home/bthalenberg/Downloads')
>>> img = Imagem()
>>> img.carregue("ime-usp.png")
>>> img.mostre()
>>> cinza = img.para_cinza()
>>> cinza.mostre()
>>> borramento = FILTRO_BORRAMENTO/FILTRO_BORRAMENTO.sum()
>>> borramento
array([[ 0. , 0.02083333, 0.04166667, 0.02083333, 0. ],
[ 0.02083333, 0.04166667, 0.08333333, 0.04166667, 0.02083333],
[ 0.04166667, 0.08333333, 0.16666667, 0.08333333, 0.04166667],
[ 0.02083333, 0.04166667, 0.08333333, 0.04166667, 0.02083333],
[ 0. , 0.02083333, 0.04166667, 0.02083333, 0. ]])
>>> borrada = cinza.filtre(borramento)
>>> borrada.mostre()

Pode ser algum erro no corretor? Pensei na falta de aspas em img.carregue(ime-usp.png), mas não sei...

Anexo Workspace 1_032.png
Anexo Workspace 1_033.png
Anexo Workspace 1_034.png
Anexo Workspace 1_035.png
Em resposta à Bruna Thalenberg

Re: Erro no (corretor do) EP9?

por João Vinicius Vernizzi Santos -

Mesma situação aqui...

 

Problemas apontados:

Função filtre não funciona para img = Imagem(); img.carregue('ime-usp.png'); cinza = img.para_cinza(); cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum())
Função para_cinza não funciona para img = Imagem(); img.carregue('ime-usp.png'); img.para_cinza()
Problema com a chamada img = Imagem(); img.carregue('ime-usp.png'); cinza = img.para_cinza(); borrada = cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum()); bordas = borrada.segmente_bordas(20); img.pinte(VERDE, bordas)
Erro Grave!
- ERRO! - durante a execução de: img = Imagem(); img.carregue('ime-usp.png'); cinza = img.para_cinza(); borrada = cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum()); bordas = borrada.segmente_bordas(20); img.pinte(VERDE, bordas) 
-- Exemplo: variável não inicializada, índice inválido, tipo inválido etc
-- ERRO de exceção: shape mismatch: value array of shape (3,) could not be broadcast to indexing result of shape (577,4)
Função segmente_bordas não funciona para img = Imagem(); img.carregue('ime-usp.png'); cinza = img.para_cinza(); borrada = cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum()); borrada.segmente_bordas(20)

 

Teste:

 

Assim, não entendi pq o corretor acusa que o programa não funciona para esta imagem... Além disso a parte apontada em "-- ERRO de exceção: shape mismatch: value array of shape (3,) could not be broadcast to indexing result of shape (577,4)" aparecia em meu programa quando testava algumas imagens, mas depois descobri que estas imagens tinham 32 bits de intensidade da imagem, e não 24 como pede o enunciado da tarefa.

Em resposta à João Vinicius Vernizzi Santos

Re: Erro no (corretor do) EP9?

por Paulo Vitor Itaboraí de Barros -

Também estou tendo o mesmo problema. Não consigo identificar erros nos meus testes, testei com diversas imagens, inclusive menores. Na aba de notas, os preblemas apontados foram:

 

Correção do EP9 - 1a entrega
Resultados dos Testes Padrão
- Tudo OK!
Função filtre não funciona para img = Imagem(); img.carregue('ime-usp.png'); cinza = img.para_cinza(); cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum())
Função para_cinza não funciona para img = Imagem(); img.carregue('ime-usp.png'); img.para_cinza()
Problema com a chamada img = Imagem(); img.carregue('ime-usp.png'); cinza = img.para_cinza(); borrada = cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum()); bordas = borrada.segmente_bordas(20); img.pinte(VERDE, bordas)
Erro Grave!
- ERRO! - durante a execução de: img = Imagem(); img.carregue('ime-usp.png'); cinza = img.para_cinza(); borrada = cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum()); bordas = borrada.segmente_bordas(20); img.pinte(VERDE, bordas) 
-- Exemplo: variável não inicializada, índice inválido, tipo inválido etc
-- ERRO de exceção: shape mismatch: value array of shape (3,) could not be broadcast to indexing result of shape (576,4)
Função segmente_bordas não funciona para img = Imagem(); img.carregue('ime-usp.png'); cinza = img.para_cinza(); borrada = cinza.filtre(FILTRO_BORRAMENTO / FILTRO_BORRAMENTO.sum()); borrada.segmente_bordas(20)

 

 

 

Em resposta à João Vinicius Vernizzi Santos

Re: Erro no (corretor do) EP9?

por José Coelho de Pina -

Salve,

Em particular, os erros que têm algo como

     operands could not be broadcast together with shapes (27,40,4) (3,)

Não é devido a erro no programa de vocês, mas sim a um erro nosso, olho roxo