rei*_*ver 5 python opencv urllib2 loadimage
我有一个程序将图像保存在本地目录中,然后从该目录中读取图像.
但我不想保存图像.我想直接从网址上阅读.
这是我的代码:
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)
Run Code Online (Sandbox Code Playgroud)
如果我改为:
img = cv.LoadImage(img)
Run Code Online (Sandbox Code Playgroud)
这会给我这个错误:
参数1必须是没有空字节的字符串,而不是str
我能做什么?
如果你愿意,可以使用 PIL。
import cv2.cv as cv
import urllib2
from cStringIO import StringIO
import PIL.Image as pil
url="some_url"
img_file = urllib2.urlopen(url)
im = StringIO(img_file.read())
source = pil.open(im).convert("RGB")
bitmap = cv.CreateImageHeader(source.size, cv.IPL_DEPTH_8U, 3)
cv.SetData(bitmap, source.tostring())
cv.CvtColor(bitmap, bitmap, cv.CV_RGB2BGR)
Run Code Online (Sandbox Code Playgroud)
我想通过这种方法你不需要保存图像文件。
归档时间: |
|
查看次数: |
1527 次 |
最近记录: |