Tengo un programa que guarda una imagen en un directorio local y luego lee la imagen de ese directorio.Python: Urllib2 y OpenCV
Pero no quiero guardar la imagen. Quiero leerlo directamente desde la url.
Aquí está mi código:
import cv2.cv as cv
import urllib2
url = "http://cache2.allpostersimages.com/p/LRG/18/1847/M5G8D00Z/posters/curious-cat.jpg"
filename = "my_test_image" + url[-4:]
print filename
opener = urllib2.build_opener()
page = opener.open(url)
img= page.read()
abc = open(filename, "wb")
abc.write(img)
abc.close()
img = cv.LoadImage(filename)
cv.ShowImage("Optical Flow", img)
cv.WaitKey(30)
si la cambio a:
img = cv.LoadImage(img)
Esto me dará este error:
argument 1 must be string without null bytes, not str
¿Qué puedo hacer yo?
¡Gracias por esto, muy útil! Un punto: recibí un error con "de CStringIO ...". Debería ser "from cStringIO ..." (minúscula 'c'). –
mi mal. Gracias por señalar eso. Lo he cambiado – Froyo