最近的工作中遇到了大量的图像读取(图片->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. Python远程连接服务器
  2. R语言ggplot2可视化柱状图添加数值说明并控制文本、数值字体大小、轴标签字体大小实战
  3. scrapy分布式去重组件源码及其实现过程
  4. linux安装mysql、卸载mysql、设置mysql
  5. Sqlserver中格式化日期作为查询条件的语句写法
  6. CentOS下Yum使用
  7. 小明系列问题――小明序列(LIS)
  8. 用VB.NET(Visual Basic 2010)封装EXCEL VBA为DLL_COM组件(二)
  9. windosw应用提示内存不足
  10. 1725.可以形成最大正方形的矩阵数目
  11. mysql存储业务日志_MySQL 日志管理
  12. 新概念英语(1-95)Tickets,please!
  13. NOI题库答案(1.2 编程基础之变量定义、赋值及转换)
  14. linux tar.7z如何解压,Linux下解压:tar、rar、7z命令简单易懂的教程(含实例)
  15. 领英动态和文章如何发布才能更好的带来询盘?
  16. Android Studio 安装AVD (处理器为AMD)图文详解
  17. CURA软件 3D打印切片软件 初次设置界面取消(忘记设置)后怎么再次进行设置
  18. 2022年危险化学品生产单位主要负责人考试题库及在线模拟考试
  19. 机器学习——课后习题解答
  20. 外贸:圣诞新年祝福语语

热门文章

  1. 每日好物分享:手机识别文字的软件哪个好用
  2. Autodesk软件网络授权破解
  3. cad软件打开报错安装CAD提示“problem loading acadres.dll resource file”
  4. Leetcode:NO.136 只出现一次的数字
  5. 写一个网站文案,是关于人工智能的,要求高大上,让不了解人工智能的人也能轻松了解什么是人工智能,...
  6. uniapp 原生安卓开发插件(module),以及android环境本地调试(一)
  7. springBoot极速入门
  8. centos如何创建本地YUM源
  9. errno.h 详解
  10. H - Identity Card