Python通过URL打开图片的具体步骤
- 更新时间:2020-06-15 15:21:39
- 编辑:殳成济
参考资料
- python tkinter 实现学生通讯录 / 14 KB / 码小辫 推荐度:
- 精通Python网络爬虫:核心技术、框架与项目实战 PDF 电子书 / 13267 MB M / 韦玮 推荐度:
- 贝叶斯思维 统计建模的Python学习法 PDF 电子书 / 21.1 MB / Allen B.Downey 推荐度:
- Python编程基础 PDF 电子书 / 6 MB / 张健 张良均 推荐度:
- Python数据分析与应用 PDF 电子书 / 281 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
-
Python渗透测试编程技术:方法与实践
《Python渗透测试编程技术:方法与实践》由资深的网络安全教师撰写,内容围绕如何使用目前备受瞩目的Python语言进行网络安全编程展开。《Python渗透测试编程技术:方法与实践》从Python的基础讲起,系统讲述了网络安全的作用、方法论,Python在网络安全管理上的应用,以及Python在实现这些应用时相关的网络原理和技术。
大小:167.2 MBPython编程电子书
-
从Python开始学编程
本书以Python为样本,不仅介绍了编程的基本概念,还着重讲解了编程语言的范式(面向过程、面向对象、面向函数),并把编程语言的范式糅在Python 中,让读者不仅学会Python,未来在学习其他
大小:10.5 MBPython编程电子书
-
数据结构与算法:Python语言实现
这书选用Python語言详细介绍数据结构和优化算法,包含其设计构思、剖析和执行。这书源码简约、确立,面向对象编程的见解围绕自始至终,根据承继*底限地提升编码器重,一起突显不一样抽
大小:32.9 MB数据结构
-
Effective Python:编写高质量Python代码的59个有效方法
本书作者BrettSlatkin以使用场景为主导的精练教学方式,汇聚了59条优秀的实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。作者根据自己在Google公司多年开发Python基础架构所积
大小:35.5 MBPython电子书
-
Python金融大数据分析
大小:47.8 MBPython电子书