日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 通過URL打開圖片實(shí)例詳解

系統(tǒng) 1786 0

Python 通過URL打開圖片實(shí)例詳解

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

本文用到的圖片URL如下:

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

1.用OpenCV

OpenCV的imread()只能加載本地的圖片,并不能通過網(wǎng)址加載圖片。但是,opencv的VideoCapture類可以從url加載視頻。如果只用opencv的話,我們可以一個(gè)迂回的方式:先用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返回 一個(gè)類文件對(duì)象,它提供了如下方法:

read() , readline() , readlines() , fileno() , close() :這些方法的使用方式與文件對(duì)象完全一樣。然后把返回的類文件對(duì)象重新編碼,轉(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é)的方式訪問請(qǐng)求響應(yīng)體,以上就是以請(qǐng)求返回的二進(jìn)制數(shù)據(jù)創(chuàng)建一張圖片的代碼。

4. skimage

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

          

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

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 大城县| 安仁县| 德兴市| 武陟县| 陈巴尔虎旗| 社旗县| 奉贤区| 扎兰屯市| 满洲里市| 渭源县| 祁连县| 宜君县| 施甸县| 新津县| 德化县| 平陆县| 工布江达县| 县级市| 金溪县| 上杭县| 淳化县| 长岛县| 东丽区| 广东省| 横山县| 浦江县| 防城港市| 蛟河市| 湘乡市| 台中市| 建阳市| 濮阳市| 萝北县| 孟州市| 抚顺县| 如皋市| 佳木斯市| 寿光市| 霍林郭勒市| 东山县| 丽江市|