python保存图片的四个常用方法


Posted in Python onFebruary 28, 2022

前言

python中图像处理相关库有很多,这里简单介绍PIL、cv2、scipy.imageio 、matplotlib.image、skimage等常用库,其中PIL库使用最方便,cv2库功能最强大。下面分享保存图片的常用方法

1.PIL的保存图片方法

path = r"./001.jpg"     #图片路径
img = Image.open(path)  #打开图片
img.save("1.jpg")      #将图片保存为1.jpg

2.opencv保存图片

path = r"./001.jpg"     #图片路径
#img = cv.imdecode(np.fromfile("动漫人物_0.jpg",np.uint8))#含有中文路径的图片打开
img = cv2.imread(path)  #读取图片
cv2.imwrite("1.jpg",img)  #将图片保存为1.jpg

3.Matplotlib保存图片的方法

import matplotlib.pyplot as plt
import cv2
import os

images_path = "./minist_img"

for i,img_name in enumerate(os.listdir(images_path)):
    img_path = os.path.join(images_path,img_name)
    img = cv2.imread(img_path)  #numpy的数组形式,色彩空间为BGR
    img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) #
    plt.subplot(2,2,i+1),plt.imshow(img)
plt.savefig("./minist.jpg")
plt.show()

python保存图片的四个常用方法

4.pytorch保存图片

save_image(real_img,os.path.join(save_img,f"{epoch}_real.jpg"),nrow=10,padding=2,pad_value=255)

参数:

  1. tensor:4D张量,形状为(B x C x H x W),分别表示样本数,通道数,图像高度,图像宽度
  2. nrow:每行的图片数量,默认值为8
  3. padding:相邻图像之间的间隔。默认值为2
  4. normalize:如果为True,则把图像的像素值通过range指定的最大值和最小值归一化到0-1。默认为False
  5. range:元组,用于指定最大值和最小值。默认使用图像像素的最大最小值。
  6. sacle_each:如果为True,就单独对每张图像进行normalize;如果是False,统一对所有图像进行normalize。默认为Flase
  7. pad_value:float,上述padding会使得图像之间留出空隙,默认为0

python保存图片的四个常用方法

matplotlib 扩展:

1.图像缩放、显示

from scipy import misc
lena_new_sz = misc.imresize(img, 0.5) # 第二个参数如果是整数,则为百分比,如果是tuple,则为输出图像的尺寸
plt.imshow(img_new_sz)
plt.axis('off')
plt.show()

2. 将np.array保存为图像、直接保存np.array

# 2.1 np.array=>image file
from scipy import misc
misc.imsave('img_new_sz.png', img_new_sz)
"""
from scipy import misc
# load image
lena = misc.imread('lena.png')
# <type 'numpy.ndarray'>
type(lena) 
# lena.shape, lena.dtype
"""

# 2.2 np.array=>np data file
import numpy as np
np.save('img_new_sz', img_new_sz) # 会在保存的名字后面自动加上.npy
img = np.load('img_new_sz.npy') # 读取前面保存的数组

注意: np.array数据可以通过np.save函数直接保存在磁盘上,扩展名为.npy, 通过np.load函数直接恢复; scipy.misc提供了对numpy.array格式图像的处理函数,特别是misc.imsave函数可以直接将np.array数据保存成图像文件。

总结 

到此这篇关于python保存图片的四个常用方法的文章就介绍到这了,更多相关python保存图片方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现文件分组复制到不同目录的例子
Jun 04 Python
Python的Bottle框架中获取制定cookie的教程
Apr 24 Python
python读取oracle函数返回值
Jul 18 Python
Python处理JSON数据并生成条形图
Aug 05 Python
python3对拉勾数据进行可视化分析的方法详解
Apr 03 Python
微信公众号token验证失败解决方案
Jul 22 Python
详解Python3定时器任务代码
Sep 23 Python
Flask框架路由和视图用法实例分析
Nov 07 Python
python如何求数组连续最大和的示例代码
Feb 04 Python
Python3如何判断三角形的类型
Apr 12 Python
python爬虫把url链接编码成gbk2312格式过程解析
Jun 08 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 Python
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
Python matplotlib可视化之绘制韦恩图
Python语言中的数据类型-序列
Feb 24 #Python
浅析python中特殊文件和特殊函数
Feb 24 #Python
Python中字符串对象语法分享
Feb 24 #Python
You might like
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
PHP4在Windows2000下的安装
2006/10/09 PHP
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
Firefox中使用outerHTML的2种解决方法
2014/06/07 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
javascript常用的方法整理
2015/08/20 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
2016/07/18 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
vue+element实现批量删除功能的示例
2018/02/28 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
python中os包的用法
2020/06/01 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
柏林通行证:Berlin Pass
2018/04/11 全球购物
大学生职业生涯规划书模板
2014/01/03 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
实训报告范文大全
2014/11/04 职场文书
2014年电教工作总结
2014/12/19 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
食品安全主题班会
2015/08/13 职场文书
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript