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 基础学习教程
Feb 08 Python
python实现批量转换文件编码(批转换编码示例)
Jan 23 Python
Python中使用PIPE操作Linux管道
Feb 04 Python
浅谈django中的认证与登录
Oct 31 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Python 转义字符详细介绍
Mar 21 Python
详解 Python 读写XML文件的实例
Aug 02 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
如何使用Python实现自动化水军评论
Jun 26 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
Oct 12 Python
OpenCV读取与写入图片的实现
Oct 13 Python
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
Python matplotlib可视化之绘制韦恩图
Python语言中的数据类型-序列
Feb 24 #Python
浅析python中特殊文件和特殊函数
Feb 24 #Python
Python中字符串对象语法分享
Feb 24 #Python
You might like
聊天室php&amp;mysql(三)
2006/10/09 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
javascript 对象定义方法 简单易学
2009/03/22 Javascript
js chrome浏览器判断代码
2010/03/28 Javascript
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
Python yield 小结和实例
2014/04/25 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
汽车工程专业应届生求职信
2013/10/19 职场文书
英语专业推荐信
2013/11/16 职场文书
《钱学森》听课反思
2014/03/01 职场文书
Python图片处理之图片裁剪教程
2021/05/27 Python