[Python-es] cosa rara con la función shape()
Francesc Alted
faltet en pytables.org
Mie Mayo 11 21:32:49 CEST 2011
2011/5/11 jOkAmE <jokame en gmail.com>
> Hola, lista.
> Buen día.
>
> Pues sucede que estoy trabajando haciendo unas convoluciones en
> imágenes. Además, estoy implementando la función para aplicar las
> convoluciones de tamaño arbitrario tanto en el filtro como en la
> imagen. Para esto, dentro de las varias funciones que utilizaré,
> implementé una que me define el tamaño resultante de la imagen después
> de ser convolucionada. La función es la siguiente:
>
> def tam_convo(filtro,imagen):
> ii_i, jj_i = shape(imagen)
> ii_f, jj_f = shape(filtro)
>
> print type(imagen)
> print type(filtro)
> print shape(imagen), shape(filtro)
> print ii_i, jj_i
> print ii_f, jj_f
> xx=(ii_i-ii_f)+1
> yy=(jj_i-jj_f)+1
> print xx
> print yy
> return xx, yy
>
> los print excesivos que se leen son para corroborar el funcionamiento
> raro, porque no me cuadra la salida de la función. Un ejemplo de la
> salida de esa función es lo siguiente:
>
> <type 'numpy.ndarray'>
> <type 'numpy.ndarray'>
> (60, 60) (9, 9)
> 60 60
> 9 9
> 52
> 52
> [[ 52.05549424 52.05549424]] <----- Aquí está lo extraño
>
> Creo que independientemente lo que haga la función, el resultado de
> las sumas y restas entre números enteros debe ser un entero. Además,
> la salida del último renglón no es siempre la misma, pero si
> hiciéramos un redondeo a esos números siempre serían 52 (para este
> caso).
>
[clip]
Si, eso es muy raro, ya que las operaciones de suma y multiplicación con
enteros siempre deberían dar enteros como resultado. Puedes enviar un
programa auto-contenido que reproduzca el problema? Y también las versiones
de Python y NumPy.
--
Francesc Alted
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110511/aa18b56b/attachment.html>
Más información sobre la lista de distribución Python-es