欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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é)的方式訪問請求響應體,以上就是以請求返回的二進制數(shù)據(jù)創(chuàng)建一張圖片的代碼。

4. skimage

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

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

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

相關(guān)文章

  • Python登錄注冊驗證功能實現(xiàn)

    Python登錄注冊驗證功能實現(xiàn)

    本篇文章給大家整理了用python實現(xiàn)登陸注冊驗證的基本會員功能,對此有需要的朋友可以參考下。
    2018-06-06
  • 15行Python代碼帶你輕松理解令牌桶算法

    15行Python代碼帶你輕松理解令牌桶算法

    這篇文章主要介紹了15行Python代碼帶你輕松理解令牌桶算法,需要的朋友可以參考下
    2018-03-03
  • python進階教程之循環(huán)對象

    python進階教程之循環(huán)對象

    這篇文章主要介紹了python進階教程之循環(huán)對象,循環(huán)對象是這樣一個對象,它包含有一個next()方法,這個方法的目的是進行到下一個結(jié)果,需要的朋友可以參考下
    2014-08-08
  • python實現(xiàn)從ftp服務器下載文件的方法

    python實現(xiàn)從ftp服務器下載文件的方法

    這篇文章主要介紹了python實現(xiàn)從ftp服務器下載文件的方法,涉及Python操作FTP的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • Python+OpenCV實現(xiàn)火焰檢測

    Python+OpenCV實現(xiàn)火焰檢測

    本文主要為大家介紹了一個使用Python,OpenCV,線程,聲音和電子郵件功能的火災探測系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2024-10-10
  • python之PySide2安裝使用及QT Designer UI設(shè)計案例教程

    python之PySide2安裝使用及QT Designer UI設(shè)計案例教程

    這篇文章主要介紹了python之PySide2安裝使用及QT Designer UI設(shè)計案例教程,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Python打印輸出數(shù)組中全部元素

    Python打印輸出數(shù)組中全部元素

    使用Python打印數(shù)組時會遇到一個問題,當打印的數(shù)組元素比較多時,會出現(xiàn)只打印出數(shù)組開始與結(jié)尾部分中間部分用省略省略了,下面的方法可以完美解決這個問題
    2018-03-03
  • Pyhton爬蟲知識之正則表達式詳解

    Pyhton爬蟲知識之正則表達式詳解

    正則表達式又稱規(guī)則表達式,計算機科學的一個概念,正則表達式通常被用來檢索、替換那些符合某個模式(規(guī)則)的文本,這篇文章主要給大家介紹了關(guān)于Pyhton爬蟲知識之正則表達式的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Python max函數(shù)中key的用法及原理解析

    Python max函數(shù)中key的用法及原理解析

    最近有童鞋向小編求助怎么樣找到字符串中出現(xiàn)字數(shù)最多的字符呢,其實最簡單的處理方法是使用max函數(shù),max()函數(shù)用于獲得給定的可迭代對象中的最大值,關(guān)于Python max函數(shù)key用法跟隨小編一起通過本文學習下吧
    2021-06-06
  • 關(guān)于使用OpenCsv導入大數(shù)據(jù)量報錯的問題

    關(guān)于使用OpenCsv導入大數(shù)據(jù)量報錯的問題

    這篇文章主要介紹了使用OpenCsv導入大數(shù)據(jù)量報錯的問題 ,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08

最新評論