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使用xmlrpc实例讲解
Dec 17 Python
python获取文件版本信息、公司名和产品名的方法
Oct 05 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
Python函数的周期性执行实现方法
Aug 13 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
Python正则捕获操作示例
Aug 19 Python
Python简单获取二维数组行列数的方法示例
Dec 21 Python
在python下读取并展示raw格式的图片实例
Jan 24 Python
简单了解Python生成器是什么
Jul 02 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
Python中如何引入第三方模块
May 27 Python
openCV提取图像中的矩形区域
Jul 21 Python
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
Python matplotlib可视化之绘制韦恩图
Python语言中的数据类型-序列
Feb 24 #Python
浅析python中特殊文件和特殊函数
Feb 24 #Python
Python中字符串对象语法分享
Feb 24 #Python
You might like
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
PHP学习之PHP变量
2006/10/09 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
2011/07/12 PHP
php连接mssql数据库的几种方法
2013/02/21 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
PHP里的单例类写法实例
2015/06/25 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
拖拉表格的JS函数
2008/11/20 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
python绘制简单彩虹图
2018/11/19 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
python删除某个目录文件夹的方法
2020/05/26 Python
python访问hdfs的操作
2020/06/06 Python
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
党员入党表决心的话
2014/03/11 职场文书
请假条怎么写
2014/04/10 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
python lambda 表达式形式分析
2022/04/03 Python