圖片源:http://n1image.hjfile.cn/shetuan/2017-05-17-1495016837-986-732.jpg
方法及特性在註釋中。
#encoding:utf-8 from cv2 import * import urllib import numpy as np import requests as req from PIL import Image from io import BytesIO from skimage import io img_src = 'http://n1image.hjfile.cn/shetuan/2017-05-17-1495016837-986-732.jpg' ############## # opencv # ############## #opencv不能直接從網絡獲取圖片,但是opencv的VideoCapture類可以從url加載視頻 # cap = VideoCapture(img_src) # if( cap.isOpened() ): # ret, img = cap.read() # img = resize(img, (800, 600)) # imshow("image", img) # waitKey(0) ######################## # opencv+urllib+numpy # ######################## #urllib的urlopen方法返回一個類文件對象,將對象重新編碼爲圖片傳給Mat # resp = urllib.urlopen(img_src) # image = np.asarray(bytearray(resp.read()), dtype="uint8") # image = imdecode(image, IMREAD_COLOR) # image = resize(image, (900, 600)) # imshow("image", image) # waitKey(0) ######################## # PIL+requests # ######################## #字節形式訪問請求響應體,用返回的二進制重新創建一張圖片 # response = req.get(img_src) # image = Image.open(BytesIO(response.content)) # image.show() ######################## # skimage # ######################## #最方便的方法,直接讀物網頁圖片 image = io.imread(img_src) io.imshow(image) io.show()