[ Foro de Python ]

Duda novato imágenes en Python

20-Jan-2016 12:41
Ruben QF
3 Respuestas

Hola, buenas a todos y gracias de antemano...

Tengo que hacer un trabajo usando Python. Me he instalado Anaconda (con la version 2.7 de Python) y también la libreria OpenCV.


La cuestión es que necesito saber como introducir una imagen para posteriormente trabajar con ella. He visto algunos vídeos y leído paginas web para ver como puedo hacerlo, pero no doy con ello.


He probado con lo siguiente:

import cv2

image=cv2.imread("ruta imagen")

image_gray=cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) `#Para cambiar la imagen a escala de grises

cv2.imwrite("ruta para guardar la imagen")


El Python me daba error, no se que estoy haciendo mal.


Por último, preguntar dos dudillas.

1) ¿Por que veo que la gente usa Python con la pantalla en blanco y letras con colores y a mi me sale en una pantalla negra?

2) ¿Hay varias formas de trabajar con imagenes en Python? Es decir, veo que la gente usa la libreria PIL o algo así (de todas formas yo tengo que usar OpenCV para este trabajo)

Como veis soy un novato, perdonen si pregunto cosas muy básicas y tontas.


Un saludo y gracias de nuevo.


25-Jan-2016 23:21
Nacho Cabanes (+83)

No uso OpenCV. Si incluyes el mensaje de error, quizá te pueda ayudar a partir de él, pero sin el mensaje de error me será imposible.

Los colores dependen sólo del entorno que uses para programar, porque hay más de uno para elegir. Por ejemplo, no es lo mismo el color del intérprete de comandos de Python (que puede depender de los colores de consola de tu sistema operativo), que el de su editor Idle o que el de un editor adicional como Geany (que, además, permiten escoger distintas combinaciones de colores).

La mayoría de lenguajes de propósito general no incluyen funciones para manipular imágenes, y eso se consigue gracias a bibliotecas adicionales. De modo que sí, suele haber distintas bibliotecas para un mismo lenguaje. En ocasiones estas bibliotecas dependen del trabajo de personas particulares y acaban siendo abandonadas, por ejemplo, PIL para Python no tiene una versión estable desde hace 6 años, así que ha surgido un proyecto que intenta tomar el testigo, llamado Pillow.


19-Feb-2016 07:36
Víctor Martínez Santiago (+1)

Así como te sugiere Nacho, la librería Pillow es la que sucede a pil, además que tiene más funciones y parece ser que es más fácil de usar que la anterior. No la he probado, pero te adjunto un par de cosillas que he encontrado por ahí:

http://momimroot.blogspot.com.es/2012/11/abrir-una-imagen-con-python.html


from PIL import Image
print 'Quieres un lol?\n'
print 'si o no\n'
x = raw_input('')
if x == 'si':
f = Image.open("/home/zerokey/Escritorio/lol.jpg")
f.show()
else:
print 'no hay nada para ti'
exit


Eso es lo que sale en esa dirección.

y aquí un tutorial sobre pillow

http://pillow.readthedocs.org/en/3.1.x/handbook/tutorial.html


19-Feb-2016 09:51
Ruben QF

Muchas gracias a ambos ;)


Ahora mismo ya se como abrir imágenes en Python usando OpenCV. Para este trabajo no usaré la libreria Pil ni Pillow pero siempre es bueno conocerlo. Usare NumPy, OpenCV y Matplotlib.


Un pequeño ejemplo, de abrir y mostrar una imagen de tu PC en Python con OpenCV:


import cv2

img = cv2.imread ("Ruta, nombre y formato de la imagen" , 1)  # Abrir una imagen a color. Usamos el 1 para imágenes a color (aunque si no lo ponemos la lee a color tal cual es), y 0 para imagenes en escala de grises.

cv2.imshow ("Imagen" , img)  # Mostrar la imagen img en una ventana llamada "Imagen"

cv2.waitKey (0)

cv2.destroyAllWindows ()


Un saludo y gracias de nuevo ;)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)