Python读取/保存图片的3种方式(PIL、matplotlib、cv2)
文章目录
- 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()
总结:
'numpy.ndarray’的形状为(H, W, C),而’PIL.Image.Image’的形状为(W, H)。
'numpy.ndarray’的形状属性为.shape,而’PIL.Image.Image’的形状属性为.size。
PIL、cv2、matplotlib这三种读取的图片位深度都为16,那么保存的图片的位深度分别为:16、8、8。
Python读取/保存图片的3种方式(PIL、matplotlib、cv2)相关推荐
- python读取图像的几种方式
python读取图像的几种方式 本文介绍几种基于python的图像读取方式: 基于PIL库的图像读取.保存和显示 基于opencv-python的图像读取.保存和显示 基于matplotlib的图像读 ...
- Python读取文本的三种方式对比
1.概述 Python有三种读取文本的方式,分别是: read() readline() readlines() 2.三种方式的优缺点分析 2.1 read() 最简单的一种方法,一次性读取文件的所有 ...
- 图像处理五:python读取图片的几种方式
一.读取图片方式 PIL.opencv.scikit-image: (1)PIL和Pillow只提供最基础的数字图像处理,功能有限: (2)opencv实际上是一个c++库,只是提供了python接口 ...
- python读取文件的三种方式_python中读取文件的f.seek()方法
用于二进制文件中 F.seek方法 作用: 设置读写位置 F.seek(偏移量, whence=相对位置) 偏移量 大于0的数代表向文件末尾方向移动的字节数 小于0的数代表向文件头方向中移动的字节数 ...
- Python 读取配置文件常用几种方式
我们在设计自动化测试框架的时候,经常使用到配置文件,而配置文件种类有很多,常见的配置文件格式有很多中:ini.yaml.xml.properties.txt.py等. 配置文件ini 虽然配置文件放置 ...
- Python读取文本文件的几种方式
Python 提供了如下 3 种函数,它们都可以帮我们实现读取文件中数据的操作: read() 函数:逐个字节或者字符读取文件中的内容,若有参数,则根据指定值读取字节或字符; readline() 函 ...
- python读取文件的几种方式
下面是不同场景较为合适的数据读取方法: 1.python内置方法(read.readline.readlines) 纯文本格式或非格式化.非结构化的数据,常用语自然语言处理.非结构文本解析.应用正则表 ...
- python读取图片的几种方式以及图像宽和高的存储顺序
1.opencv 2.imageio 3.matplotlib 4.scipy # coding:utf-8import cv2 import imageio from scipy import mi ...
- python读取图片的几种方式
opencv的像素值在[0,1][0,1],show的时候转换到[0,255] import cv2 img = cv2.imread("imgfile") cv2.imshow( ...
最新文章
- 生成Yolox检测负样本-对应空文件夹txt、批量文件重命名、批量转化三通道去除小图
- R语言ggplot2可视化在可视化的接种中插入图片、添加图片实战
- R语言计算回归模型每个样本(观察、observation、sample)的杠杆值(leverage)实战:如果一个样本的预测变量比其他样本的预测变量值更极端,那么被认为具有很高的杠杆作用
- 独家 | 播客:入场券便是你的脸(附链接)
- 虚拟化涉及的关键技术都有哪些,分别实现了什么功能?
- OpenCV Harris 角点检测子
- JAVA并发编程实战---第三章:对象的共享(2)
- 23期PHP基础班第四天
- 什么时候用removeUnusedSpriteFrames和removeUnusedTextures
- 详解C++ friend关键字
- 操作系统学习之windows发展史
- oracle加索引 oracle,Oracle索引创建及管理
- 风格迁移应用_图像风格迁移
- MATLAB 显示和保存傅里叶变化频谱图
- 网管IT服务管理五个心得
- python数字转英文_python:将数字转换成用英文表达的程序 | 学步园
- 8. SpringBoot基础学习笔记
- c语言程序设计创新大作业,C语言程序设计大作业报告.pdf
- 【English】《控方证人》
- 西安翻译学院东区计算机教室,西安翻译学院:200间教室跨进智慧时代
热门文章
- coreldraw课表设计作品_菜鸟如何从零开始学习平面设计?平面设计必备三大软件!...
- Serializable接口解读
- html制作卷轴卷合效果,【HTML5】利用lufylegend实现游戏中的卷轴
- 可迭代对象、迭代器、生成器
- git密钥生成和PuTTYgen私钥生成
- OpenCV图像处理学习十三,图像金字塔——高斯金字塔和拉普拉斯金字塔
- 用python脚本查看电脑内存、CPU使用情况
- 08 款Polo,1.4M BMG 发动机 配件号
- element-ui——element-ui 问号提示组件的使用
- 计算机在药学中的应用案例,案例教学在药学综合课程中的应用