最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 通過URL打開圖片實例詳解

 更新時間:2017年06月01日 14:36:58   投稿:lqh  
這篇文章主要介紹了Python 通過URL打開圖片實例詳解的相關(guān)資料,需要的朋友可以參考下

Python 通過URL打開圖片實例詳解

不論是用OpenCV還是PIL,skimage等庫,在之前做圖像處理的時候,幾乎都是讀取本地的圖片。最近嘗試爬蟲爬取圖片,在保存之前,我希望能先快速瀏覽一遍圖片,然后有選擇性的保存。這里就需要從url讀取圖片了。查了很多資料,發(fā)現(xiàn)有這么幾種方法,這里做個記錄。

本文用到的圖片URL如下:

img_src = 'http://wx2.sinaimg.cn/mw690/ac38503ely1fesz8m0ov6j20qo140dix.jpg'

1.用OpenCV

OpenCV的imread()只能加載本地的圖片,并不能通過網(wǎng)址加載圖片。但是,opencv的VideoCapture類可以從url加載視頻。如果只用opencv的話,我們可以一個迂回的方式:先用VideoCapure加載網(wǎng)址下的圖片,然后再傳給Mat。

import cv2
cap = cv2.VideoCapture(img_src)
if( cap.isOpened() ) :
  ret,img = cap.read()
  cv2.imshow("image",img)
  cv2.waitKey()

2. OpenCV+Numpy+urllib

import numpy as np
import urllib
import cv2
resp = urllib.urlopen(img_src)
image = np.asarray(bytearray(resp.read()), dtype="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
cv2.imshow("Image", image)
cv2.waitKey(0)

urlopen返回 一個類文件對象,它提供了如下方法:

read() , readline() , readlines() , fileno() , close() :這些方法的使用方式與文件對象完全一樣。然后把返回的類文件對象重新編碼,轉(zhuǎn)換為圖片傳給Mat。

3.PIL+requests

import requests as req
from PIL import Image
from io import BytesIO
response = req.get(img_src)
image = Image.open(BytesIO(response.content))
image.show()

requests能以字節(jié)的方式訪問請求響應(yīng)體,以上就是以請求返回的二進制數(shù)據(jù)創(chuàng)建一張圖片的代碼。

4. skimage

from skimage import io
image = io.imread(img_src)
io.imshow(image)
io.show()

相對來說,這種方式應(yīng)該是最簡單的,因為skimage可以直接以imread()函數(shù)來讀取網(wǎng)頁圖片,而不需要其他的輔助,也不需要迂回。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論

山东| 甘谷县| 芒康县| 肥城市| 永平县| 静宁县| 华阴市| 六盘水市| 铜陵市| 双峰县| 广灵县| 开鲁县| 寿阳县| 三门峡市| 嘉禾县| 聊城市| 精河县| 漳平市| 青阳县| 视频| 荣成市| 迁西县| 江门市| 旅游| 梁山县| 年辖:市辖区| 枞阳县| 伊通| 玉溪市| 阳曲县| 金溪县| 游戏| 泽库县| 玉溪市| 融水| 灵寿县| 正定县| 胶州市| 炉霍县| 井研县| 贵阳市|