Python通过URL打开图片的具体步骤

  • 更新时间:2020-06-15 15:21:39
  • 编辑:卓惜天
给网友们整理相关的编程文章,网友秦开朗根据主题投稿了本篇教程内容,涉及到Python、URL、打开图片、Python 通过URL打开图片实例详解相关内容,已被853网友关注,内容中涉及的知识点可以在下方直接下载获取。
  • Python机器学习及实践:从零开始通往Kaggle竞赛之路 / 48.3 MB 推荐度:
  • 对比Excel,轻松学习Python数据分析 / 25.8 MB 推荐度:
  • 《Python极客项目编程》配套资源 / 18.83 MB 推荐度:
  • 毫无障碍学Python / 640.6 MB 推荐度:
  • 从芯片到云端:Python物联网全栈开发实践 / 214 MB 推荐度:
  • Python 通过URL打开图片实例详解

    Python 通过URL打开图片实例详解

    不论是用OpenCV还是PIL,skimage等库,在之前做图像处理的时候,几乎都是读取本地的图片。最近尝试爬虫爬取图片,在保存之前,我希望能先快速浏览一遍图片,然后有选择性的保存。这里就需要从url读取图片了。查了很多资料,发现有这么几种方法,这里做个记录。

    本文用到的图片URL如下:

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

    1.用OpenCV

    OpenCV的imread()只能加载本地的图片,并不能通过网址加载图片。但是,opencv的VideoCapture类可以从url加载视频。如果只用opencv的话,我们可以一个迂回的方式:先用VideoCapure加载网址下的图片,然后再传给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() :这些方法的使用方式与文件对象完全一样。然后把返回的类文件对象重新编码,转换为图片传给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能以字节的方式访问请求响应体,以上就是以请求返回的二进制数据创建一张图片的代码。

    4. skimage

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

    相对来说,这种方式应该是最简单的,因为skimage可以直接以imread()函数来读取网页图片,而不需要其他的辅助,也不需要迂回。

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    相关教程

    • python3的url编码和解码应用实例

      今天小编就为大家分享一篇python3的url编码和解码,自定义gbk、utf-8的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

      发布时间:2020-01-30

    • python urllib2用法代码

      urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。他以urlopen函数的形式提供了一个非常简单的接口,这是具有利用不同

      发布时间:2020-01-06

    • 详解python爬虫 urllib模块发起post请求

      这篇文章主要介绍了python爬虫 urllib模块发起post请求过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

      发布时间:2020-01-28

    • 实例解析python urllib urlopen()对象方法/代理的补充说明

      这篇文章主要介绍了python urllib urlopen()对象方法/代理的补充说明的相关资料,需要的朋友可以参考下

      发布时间:2020-02-22

    • python3 urllib中urlopen报错的问题解决办法

      这篇文章主要介绍了关于解决python3 urllib中urlopen报错问题的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

      发布时间:2020-03-26

    • python中urlparse模块用法实例介绍

      这篇文章主要给大家介绍了关于python中urlparse模块介绍与使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来

      发布时间:2019-09-05

    用户留言