método para_cinza

método para_cinza

por Leandro Costa -
Número de respostas: 1

Boa noite!!

Estou com o seguinte problematristetestando o método para_cinza)

 

m=np.array(
[[ [ 0, 250, 0], [ 0, 250, 100], [ 0, 250, 150], [ 0, 250, 200], [ 0, 250, 250]],
[ [100, 200, 0], [100, 200, 100], [100, 200, 150], [100, 200, 200], [100, 200, 250]],
[ [150, 150, 0], [150, 150, 100], [150, 150, 150], [150, 150, 200], [150, 150, 250]],
[ [200, 100, 0], [200, 100, 100], [200, 100, 150], [200, 100, 200], [200, 100, 250]],
[ [250, 0, 0], [250, 0, 100], [250, 0, 150], [250, 0, 200], [250, 0, 250]]])

type(m)
Out[3]: numpy.ndarray

n=Imagem(m)

type( n)
Out[5]: __main__.Imagem

e=n.para_cinza

type(e)
Out[7]: method

 

o tipo do e não deveria ser  __main__.Imagem?  já que o método(sem eu implementar nada) retorna: 

return Imagem(np.zeros(self.data.shape))

 

Obrigado!!

Em resposta à Leandro Costa

Re: método para_cinza

por José Coelho de Pina -

Oi Leandro,

o tipo do e não deveria ser  __main__.Imagem?

Não.
Da maneira que você escreveu a variável e é uma referência (= apelido/abreviatura) para o método n.para_cinza.
Creio que você pretendia escrever:

e = n.para_cinza() # chamada de um método

Isso sim é uma chamada de um método e retorna uma referência a um objeto da classe Imagem.