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

  • 更新时间:2020-06-15 15:21:39
  • 编辑:殳成济
给网友们整理相关的编程文章,网友弓三姗根据主题投稿了本篇教程内容,涉及到Python、URL、打开图片、Python 通过URL打开图片实例详解相关内容,已被449网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

参考资料

正文内容

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

  • Python渗透测试编程技术:方法与实践

    Python渗透测试编程技术:方法与实践

    《Python渗透测试编程技术:方法与实践》由资深的网络安全教师撰写,内容围绕如何使用目前备受瞩目的Python语言进行网络安全编程展开。《Python渗透测试编程技术:方法与实践》从Python的基础讲起,系统讲述了网络安全的作用、方法论,Python在网络安全管理上的应用,以及Python在实现这些应用时相关的网络原理和技术。

    大小:167.2 MBPython编程电子书

  • 从Python开始学编程

    从Python开始学编程

    本书以Python为样本,不仅介绍了编程的基本概念,还着重讲解了编程语言的范式(面向过程、面向对象、面向函数),并把编程语言的范式糅在Python 中,让读者不仅学会Python,未来在学习其他

    大小:10.5 MBPython编程电子书

  • 数据结构与算法:Python语言实现

    数据结构与算法:Python语言实现

    这书选用Python語言详细介绍数据结构和优化算法,包含其设计构思、剖析和执行。这书源码简约、确立,面向对象编程的见解围绕自始至终,根据承继*底限地提升编码器重,一起突显不一样抽

    大小:32.9 MB数据结构

  • Effective Python:编写高质量Python代码的59个有效方法

    Effective Python:编写高质量Python代码的59个有效方法

    本书作者BrettSlatkin以使用场景为主导的精练教学方式,汇聚了59条优秀的实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。作者根据自己在Google公司多年开发Python基础架构所积

    大小:35.5 MBPython电子书

  • Python金融大数据分析

    Python金融大数据分析

    大小:47.8 MBPython电子书

用户留言