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


Posted in Python onJune 01, 2017

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()函数来读取网页图片,而不需要其他的辅助,也不需要迂回。

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

Python 相关文章推荐
Python+django实现文件下载
Jan 17 Python
Python进阶-函数默认参数(详解)
May 18 Python
Python对CSV、Excel、txt、dat文件的处理
Sep 18 Python
python 实现矩阵上下/左右翻转,转置的示例
Jan 23 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
Python中使用socks5设置全局代理的方法示例
Apr 15 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
May 26 Python
python语音识别指南终极版(有这一篇足矣)
Sep 09 Python
Python: glob匹配文件的操作
Dec 11 Python
python 递归相关知识总结
Mar 03 Python
Python机器学习之逻辑回归
May 11 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 #Python
python 内置函数filter
Jun 01 #Python
python读取二进制mnist实例详解
May 31 #Python
Python算术运算符实例详解
May 31 #Python
Python简单的制作图片验证码实例
May 31 #Python
详解python的webrtc库实现语音端点检测
May 31 #Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 #Python
You might like
PHP生成RSS文件类实例
2014/12/05 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
js数组操作学习总结
2013/11/04 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
2018/08/02 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
一个超级简单的python web程序
2014/09/11 Python
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
Python中@property的理解和使用示例
2019/06/11 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
Python笔试面试题小结
2019/09/07 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
django model object序列化实例
2020/03/13 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
合作经营协议书
2014/04/17 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
Python基础之进程详解
2021/05/21 Python