最近的工作中遇到了大量的图像读取(图片->array)的操作,如果每次读取的效率都快一些的话,便可以大量节约数据处理方面所耗费的时间。下面主要介绍在Python中经常使用的图像转array的方法,并进行相应的对比。

基础版——仅读入不做任何操作

PIL

PIL是基础的处理图像的库,话不多说PIL下图像转化为np.array:

from PIL import Image
import numpy as np
import datetimepath = 'E:\\1812927-2.JPG'time_count =0.0
for j in range(10):begin = datetime.datetime.now()for i in range(10):im = Image.open(path)print(np.asarray(im))end  = datetime.datetime.now()cost = end-begintime_count += float(cost.microseconds)print(time_count/10)

运行结果:

104706.0

OpenCV

import cv2
import numpy as np
import datetimepath = 'E:\\1812927-2.JPG'time_count =0.0
for j in range(10):begin = datetime.datetime.now()for i in range(10):im = cv2.imread(path)print(np.asarray(im))end  = datetime.datetime.now()cost = end-begintime_count += float(cost.microseconds)print(time_count/10)

OpenCV使用相同的条件,然后使用刚才的程序调用这个函数,结果如下:

167809.6

skimage

大家对这个库应该也不陌生,同理我们使用skimage中的io来进行图片的读取

im = io.imread(path)
print(np.asarray(im))

结果如下:

114606.5

matplotlib

import matplotlib.image as mpimg
import numpy as np
import datetimepath = 'E:\\1812927-2.JPG'time_count =0.0
for j in range(10):begin = datetime.datetime.now()for i in range(10):im = mpimg.imread(path)print(np.asarray(im))end  = datetime.datetime.now()cost = end-begintime_count += float(cost.microseconds)print(time_count/10)

结果如下:

102005.9

Python读取图像方法及效率对比相关推荐

  1. python读取图像的几种方式

    python读取图像的几种方式 本文介绍几种基于python的图像读取方式: 基于PIL库的图像读取.保存和显示 基于opencv-python的图像读取.保存和显示 基于matplotlib的图像读 ...

  2. php遍历数组哪个效率高,PHP遍历数组的三种方法及效率对比分析

    PHP遍历数组的三种方法及效率对比分析 发布于 2015-03-04 21:55:27 | 129 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...

  3. 如何提高python的运行效率_几个提升Python运行效率的方法之间的对比

    在我看来,python社区分为了三个流派,分别是python 2.x组织,3.x组织和PyPy组织.这个分类基本上可以归根于类库的兼容性和速度.这篇文章将聚焦于一些通用代码的优化技巧以及编译成C后性能 ...

  4. python读取数据方法

    python读取数据方法 1.1读取 csv文件.用到pandas库中的read_csv()函数,格式如下: 读取格式: import pandas as pd csv_data= pd.read_c ...

  5. 图像处理基础 || (一) python 读取图像的常用方式

    python 读取图像的常用方式 图像的读取与保存是图像处理或计算机视觉领域中最基本的操作,python中有众多的库支持图像的读取.显示与存储,常用的库包括 matplotlib.skimage 和 ...

  6. php遍历数组哪个效率高,PHP遍历数组的三种方法及效率对比分析_php技巧

    本文实例分析了PHP遍历数组的三种方法及效率对比.分享给大家供大家参考.具体分析如下: 今天有个朋友问我一个问题php遍历数组的方法,告诉她了几个.顺便写个文章总结下,如果总结不全还请朋友们指出 第一 ...

  7. php 遍历 效率高,PHP遍历数组的三种方法及效率对比分析

    这篇文章主要介绍了PHP遍历数组的三种方法及效率对比,实例分析了foreach.while与for三种遍历数组的方法与相关的效率比对,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例分析了PHP遍 ...

  8. php高效遍历,PHP 遍历数组的三种方法及效率对比分析

    PHP 遍历数组的三种方法及效率对比分析 本文实例分析了 PHP 遍历数组的三种方法及效率对比分享给大家供大家参考具体分析如下: 今天有个朋友问我一个问题 php 遍历数组的方法, 告诉她了几个顺便写 ...

  9. Java集合中contains方法的效率对比

    Java集合中contains方法的效率对比 Java集合List.Set中均有对集合中元素是否存在的判断方法contains(Object o):Map中有对key及value是否存在的判断方法co ...

最新文章

  1. cgo的几种使用方式
  2. 浅谈Android中Lifecycle
  3. mysql8.0.18用什么jdk_基础命令、cake-install、mysql远程登录、JDK安装
  4. 小学接触web的我是如何拿下蚂蚁实习 Offer的
  5. 2020牛客多校第1场I-1 or 2一般图最大匹配带花树
  6. 【Uva - 10047 】The Monocycle(搜索,bfs记录状态)
  7. 《大数据》2015年第3期“专题”——网络表示学习(上)
  8. 计算机算法设计与分析 旅行售货员问题
  9. 概率论与数理统计 第四版 课后习题解析
  10. dsp2812 寄存器总线
  11. CentOS 7.9.2009查看本机IP地址
  12. 论语十二章原文及翻译
  13. java 取余 负数_Java中有关负数取余的计算
  14. 图文并茂简介如何查询文章是否被SCI收录以及获取SCI索引号
  15. LintCode 吹气球
  16. 新品成熟EMR源码电子病历系统软件NET网络版CS可用带数据库全文档
  17. bootstrap编写响应式页面
  18. android Error obtaining UI hierarchy
  19. OpenCV角点检测源代码分析(Harris和ShiTomasi角点)
  20. ctf 命令执行总结

热门文章

  1. 利用百度地图api通过城市地址等信息取经纬度
  2. Python数据分析就业前景市场分析报告及暑期规划
  3. 创业者给的30条建议
  4. 单片机实例30——四位数数字温度计(硬件电路图+C语言程序)
  5. C语言整型转字符串类型
  6. 基于国产龙芯 CPU 的气井工业网关研究与设计(一)
  7. 设置卡巴斯基2011防火墙 开启远程桌面及内网资源访问
  8. 十大鲜为人知的恒星真相:黑洞不会吸入物质
  9. svg 缩放_研究:可缩放矢量图形(SVG)
  10. python调用按键精灵插件_【一日一技】python模块的懒加载