Python通过url获取图片的几种方法

图片源: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不能直接从网络获取图片,但是opencvVideoCapture类可以从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 #
########################
#urlliburlopen方法返回一个类文件对象,将对象重新编码为图片传给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()

猜你喜欢

转载自blog.csdn.net/qq_37124237/article/details/80931894