2017-09-20 65 views
0

我在我的數據庫中有一些圖像的網址,我想將它們與我的本地圖像進行比較而無需下載它們。如何比較本地圖像和網絡圖像而不寫?

我讀this examplethis question 和我想這

adr = "url_of_image" 
file = cStringIO.StringIO(urllib.urlopen(adr).read()) 
img = Image.open(file) 
img = str(img) 
print type(img) 

image_file = open('adresse_of_image_in_local').read() 
print type(image_file) 


if (img == image_file): 
    print "the pictures of the same" 
else : 
    print "they are not the same" 

我測試相同的圖像的代碼,但我得到這個

<type 'str'> 
<type 'str'> 
they are not the same 

我的問題是如何能比的圖像本地與網絡上的圖像沒有保存?

回答

1

你不能避免從網上下載圖像,否則你沒有什麼可比較的。您可以將它全部下載到RAM中,但是,如果您不能寫入磁盤。這是你已經正確做的。

==對圖像對象不起作用,但。也請在本地圖片上嘗試使用Image.open()。然後比較兩者在.getbbox()上的回報。如果尺寸匹配,請嘗試比較.tobytes()的回報。