[pyar] Consulta sobre Transformada de Fourier

Ariel Hernán Curiale curiale en gmail.com
Jue Ene 12 19:57:01 ART 2017


Hola Gerardo,

Te cuento que me costo un poco leer tu mail y entender cual era el problema realmente ya que si bien lo dejas clarito cuando pones que no podes grabar la imagen, antes me mareaste un poco. Si te fijas tu problema no tiene nada que ver con el subject del mail. 

Ahora yendo a tu problema en concreto, si te fijas, al querer guardar la imagen img_back te tira un error porque el tipo de datos no es el adecuado para guardar la imagen en el formato jpg. Para arreglar esto, podes convertirla a uint8 y luego guardarla. Cuando conviertas a uint8 vas a tener que asegurarte que la imagen no quede truncada. ya que los valores de intensidad de tu img_back son enormes. Por ejemplo podes hacer:

tmp = img_back - img_back.min()
tmp = tmp/tmp.max() * 255
Image.fromarray(tmp.astype(np.uint8)).save('/Users/ariel/Downloads/img_conaliasing.jpg')

Por otro lado, y aún más importante, es que al usar un filtro ideal (una función escalón), la imagen resultante te queda con aliasing (acordate del teorema de convolución y el tema que un escalón termina siendo una sinc). Es por este motivo que en la práctica NO se usa el filtro ideal y se utilizan filtros que no tienen cortes abruptos como una ventana Gaussiana, o una ventana como la que utilzas en el filtro Butterworth.


Saludos
 ___________________________
| Ariel Hernán Curiale, Ph.D
| Research assistant at CONICET 
| FCEN, Univ. Nacional de Cuyo 
| Padre Jorge Contreras 1300
| 5500 Mendoza, Argentina
| Phone: +54 261 423 6003
| Web: www.curiale.com.ar
|___________________________

> On Jan 11, 2017, at 22:47, Gerardo Rios <gsr.5392.tec en gmail.com> wrote:
> 
> Hola, buenas:
> Para los que tienen conocimiento sobre el procesamiento de imagenes en python.
> 
> Tengo un problema con un codigo python que estaba haciendo (algunas partes lo saque de internet) que procesa una imagen .jpg a color con la Transformada de Fourier.
> 
> Ahi les adjunto el archivo.
> 
> Antes que todo, vale la pena algunas aclaraciones:
> 
> 1° Estoy utilizando la distro debian 8
> 
> 2° Tengo instalado python 2.7
> 
> 3° La imagen que estoy utiizando es de formato .jpg, a color, se llama "lena.jpg", es de tamaño 400x 225 pixeles, lo tengo guardado en: '/home/gerardo/Documentos/python/imagenes-jpg/lena.jpg'. Ustedes pueden utilizar cualquier otra imagen para realizar pruebas.
> 
> 4° Ustedes van a tener que hacer modificaciones en las rutas absolutas donde se guarda la imagen para que se adapte a sus computadoras.
> 
> 5° Ustedes podran ver en el codigo que las imagenes que voy obteniendo como resultado las voy guardando en "rutas absolutas", es decir, por ejemplo:
> 
> im.save("/home/gerardo/Documentos/python/escala-gris.jpg")
> imagen_fourier.save('/home/gerardo/Documentos/python/lena-gris-transformada-fourier.jpg')
> imagen_filtro_mediana.save('/home/gerardo/Documentos/python/lena-filtro-mediana.jpg')
> Cuando ustedes interpreten el codigo veran que se les abre en forma secuencial 4 imagenes, en realidad se tiene que abrir 5 imagenes, es ahi donde esta el problema.
> Para que se muestre la ultima imagen tengo que ver la ultima linea de codigo:
> 
> img_back = cv2.magnitude (img_back [:,:, 0], img_back [:,:, 1])
> 
> El problema es que no puedo lograr que "img_back" se guarde en una ruta absoluta, es decir, similar a esto, por ejemplo:
> 
> imagen_filtro_mediana.save('/home/gerardo/Documentos/python/lena-filtro-mediana.jpg')
> Dicho en otras palabras, tengo que lograr que  "img_back" se guarde en una ruta absoluta.
> 
> Aclaracion:
> 
> 6° La 5 imagen es de color gris, similar a las anteriores. Ustedes pueden ver la 5 imagen agregando la linea de codigo:
> 
> imshow(img_back)
> 
> 
> Saludos
> 
> Gracias
> 
> <fourier13.py>_______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
> 
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> 
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20170112/9bd0e3d4/attachment.html>


Más información sobre la lista de distribución pyar