文章目录

  • Python读取/保存图片的3种方式
    • PIL方式
    • matplotlib方式
    • OpenCV方式
    • 总结:

Python读取/保存图片的3种方式

PIL方式

from PIL import Image
I = Image.open('./image.png')
print(type(I))       #---><class 'PIL.JpegImagePlugin.JpegImageFile'>
print(I.size)        #--->(1280, 720)
I.show()
I.save('./save.png')

matplotlib方式

import matplotlib.pyplot as plt
from scipy.misc import imread, imsave
I = imread('./image.png')
print(type(I))       #---><class 'numpy.ndarray'>
print(I.shape)       #--->(720, 1280, 3)
print(I.size)        #--->2764800
imsave('./save.png', I)
plt.imshow(I)
plt.show()

OpenCV方式

import cv2
I = cv2.imread('./image.png')
cv2.namedWindow('input_image', cv2.WINDOW_AUTOSIZE)I = cv2.cvtColor(I, cv2.COLOR_BGR2GRAY) #灰度化
cv2.imshow('input_image', I)
cv2.imwrite('./save.png', I)
print(type(I))    #---><class 'numpy.ndarray'>
print(I.shape)    #--->(720, 1280, 3)#参数=0:(也可以是小于0的数值)一直显示,不会有返回值,若在键盘上按下一个键即会消失,则会返回一个按键对应的ascii码值
#参数>0:显示多少毫秒,超过这个指定时间则返回-1
cv2.waitKey(0)
cv2.destroyAllWindows()

总结:

  1. 'numpy.ndarray’的形状为(H, W, C),而’PIL.Image.Image’的形状为(W, H)。

  2. 'numpy.ndarray’的形状属性为.shape,而’PIL.Image.Image’的形状属性为.size。

  3. PIL、cv2、matplotlib这三种读取的图片位深度都为16,那么保存的图片的位深度分别为:16、8、8。

Python读取/保存图片的3种方式(PIL、matplotlib、cv2)相关推荐

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

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

  2. Python读取文本的三种方式对比

    1.概述 Python有三种读取文本的方式,分别是: read() readline() readlines() 2.三种方式的优缺点分析 2.1 read() 最简单的一种方法,一次性读取文件的所有 ...

  3. 图像处理五:python读取图片的几种方式

    一.读取图片方式 PIL.opencv.scikit-image: (1)PIL和Pillow只提供最基础的数字图像处理,功能有限: (2)opencv实际上是一个c++库,只是提供了python接口 ...

  4. python读取文件的三种方式_python中读取文件的f.seek()方法

    用于二进制文件中 F.seek方法 作用: 设置读写位置 F.seek(偏移量, whence=相对位置) 偏移量 大于0的数代表向文件末尾方向移动的字节数 小于0的数代表向文件头方向中移动的字节数 ...

  5. Python 读取配置文件常用几种方式

    我们在设计自动化测试框架的时候,经常使用到配置文件,而配置文件种类有很多,常见的配置文件格式有很多中:ini.yaml.xml.properties.txt.py等. 配置文件ini 虽然配置文件放置 ...

  6. Python读取文本文件的几种方式

    Python 提供了如下 3 种函数,它们都可以帮我们实现读取文件中数据的操作: read() 函数:逐个字节或者字符读取文件中的内容,若有参数,则根据指定值读取字节或字符; readline() 函 ...

  7. python读取文件的几种方式

    下面是不同场景较为合适的数据读取方法: 1.python内置方法(read.readline.readlines) 纯文本格式或非格式化.非结构化的数据,常用语自然语言处理.非结构文本解析.应用正则表 ...

  8. python读取图片的几种方式以及图像宽和高的存储顺序

    1.opencv 2.imageio 3.matplotlib 4.scipy # coding:utf-8import cv2 import imageio from scipy import mi ...

  9. python读取图片的几种方式

    opencv的像素值在[0,1][0,1],show的时候转换到[0,255] import cv2 img = cv2.imread("imgfile") cv2.imshow( ...

最新文章

  1. 生成Yolox检测负样本-对应空文件夹txt、批量文件重命名、批量转化三通道去除小图
  2. R语言ggplot2可视化在可视化的接种中插入图片、添加图片实战
  3. R语言计算回归模型每个样本(观察、observation、sample)的杠杆值(leverage)实战:如果一个样本的预测变量比其他样本的预测变量值更极端,那么被认为具有很高的杠杆作用
  4. 独家 | 播客:入场券便是你的脸(附链接)
  5. 虚拟化涉及的关键技术都有哪些,分别实现了什么功能?
  6. OpenCV Harris 角点检测子
  7. JAVA并发编程实战---第三章:对象的共享(2)
  8. 23期PHP基础班第四天
  9. 什么时候用removeUnusedSpriteFrames和removeUnusedTextures
  10. 详解C++ friend关键字
  11. 操作系统学习之windows发展史
  12. oracle加索引 oracle,Oracle索引创建及管理
  13. 风格迁移应用_图像风格迁移
  14. MATLAB 显示和保存傅里叶变化频谱图
  15. 网管IT服务管理五个心得
  16. python数字转英文_python:将数字转换成用英文表达的程序 | 学步园
  17. 8. SpringBoot基础学习笔记
  18. c语言程序设计创新大作业,C语言程序设计大作业报告.pdf
  19. 【English】《控方证人》
  20. 西安翻译学院东区计算机教室,西安翻译学院:200间教室跨进智慧时代

热门文章

  1. coreldraw课表设计作品_菜鸟如何从零开始学习平面设计?平面设计必备三大软件!...
  2. Serializable接口解读
  3. html制作卷轴卷合效果,【HTML5】利用lufylegend实现游戏中的卷轴
  4. 可迭代对象、迭代器、生成器
  5. git密钥生成和PuTTYgen私钥生成
  6. OpenCV图像处理学习十三,图像金字塔——高斯金字塔和拉普拉斯金字塔
  7. 用python脚本查看电脑内存、CPU使用情况
  8. 08 款Polo,1.4M BMG 发动机 配件号
  9. element-ui——element-ui 问号提示组件的使用
  10. 计算机在药学中的应用案例,案例教学在药学综合课程中的应用