[Python-es] cosa rara con la función shape()

jOkAmE jokame en gmail.com
Mie Mayo 11 20:48:31 CEST 2011


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).

Ojalá alguien sepa qué es lo que está pasando aquí.

Saludos a todos.



-- 
¿Quiere dios prevenir el mal pero no puede? Entonces no es omnipotente.
¿Es capaz, pero no quiere? Entonces es malévolo.
¿Está capaz y dispuesto? ¿Entonces de dónde sale el mal?.
¿No está ni capaz ni dispuesto? ¿Entonces por qué le llaman dios?
Epicureo, Filósofo griego, 341 A.C. -- 270 A.C.

http://adivulgar.com
http://proyectofedora.org/mexico/
http://jokame.photoblog.com/


Más información sobre la lista de distribución Python-es