前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每日一学:如何读取网络图片

每日一学:如何读取网络图片

作者头像
kbsc13
发布2020-05-08 17:59:50
1.2K0
发布2020-05-08 17:59:50
举报
文章被收录于专栏:AI 算法笔记AI 算法笔记

前言

有时候我们需要读取的图片是网络上的图片,应该怎么操作呢?

这里也是介绍两个常用库的做法,即 opencvPIL

这里要读取的网络图片,来自上一篇文章:每日一学:如何用matplotlib展示图片:

链接为:https://mmbiz.qpic.cn/mmbiz_png/COhkzD7Mia5mH0pmJ9hdpSBT7x40CVuaPhcWqyiczL37icQs4JTm5px5dbBTwjof5k9ZcGgrtDwzFuiaW4iaQicGmbIA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

PIL 读取网络图片

代码如下所示:

# 基于 PIL 
import requests
from PIL import Image
from io import BytesIO
%matplotlib inline
import matplotlib.pyplot as plt

img_url = 'https://mmbiz.qpic.cn/mmbiz_png/COhkzD7Mia5mH0pmJ9hdpSBT7x40CVuaPhcWqyiczL37icQs4JTm5px5dbBTwjof5k9ZcGgrtDwzFuiaW4iaQicGmbIA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1'
try:
    encoded_img = requests.get(img_url).content
    ori_img = Image.open(BytesIO(encoded_img))
    plt.imshow(ori_img)
except Exception as e:
    print(f'download image {img_url} error: {e}')

结果如下所示:

Opencv 读取网络图片

代码如下所示:

# opencv
import numpy as np
import cv2
import requests
%matplotlib inline
import matplotlib.pyplot as plt

try:
    img_url = 'https://mmbiz.qpic.cn/mmbiz_png/COhkzD7Mia5mH0pmJ9hdpSBT7x40CVuaPhcWqyiczL37icQs4JTm5px5dbBTwjof5k9ZcGgrtDwzFuiaW4iaQicGmbIA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1'
    img_data = requests.get(img_url).content
    img = np.asarray(bytearray(img_data), dtype="uint8")
    img = cv2.imdecode(img, -1)
    plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
except Exception as e:
    print(f'download image {img_url} error: {e}')

结果如下所示:


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法猿的成长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • PIL 读取网络图片
  • Opencv 读取网络图片
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档