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中的函数用法入门教程
Sep 02 Python
Django admin美化插件suit使用示例
Dec 12 Python
Django1.9 加载通过ImageField上传的图片方法
May 25 Python
python3写的简单本地文件上传服务器实例
Jun 04 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
详解Django-auth-ldap 配置方法
Dec 10 Python
PyTorch基本数据类型(一)
May 22 Python
对python 调用类属性的方法详解
Jul 02 Python
python中enumerate() 与zip()函数的使用比较实例分析
Sep 03 Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 Python
Django中使用Json返回数据的实现方法
Jun 03 Python
Python创建SQL数据库流程逐步讲解
Sep 23 Python
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
Python matplotlib可视化之绘制韦恩图
Python语言中的数据类型-序列
Feb 24 #Python
浅析python中特殊文件和特殊函数
Feb 24 #Python
Python中字符串对象语法分享
Feb 24 #Python
You might like
Search Engine Friendly的URL设计
2006/10/09 PHP
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
PHP处理会话函数大总结
2015/08/05 PHP
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
js创建数组的简单方法
2016/07/27 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
详解Python装饰器由浅入深
2016/12/09 Python
python实现简易版计算器
2020/06/22 Python
Python File readlines() 使用方法
2018/03/19 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
Python解析多帧dicom数据详解
2020/01/13 Python
Python实现汇率转换操作
2020/05/03 Python
Python 列表反转显示的四种方法
2020/11/16 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
大学生的四年学习自我评价
2013/12/13 职场文书
幼儿园教学管理制度
2014/02/04 职场文书
出生证明公证书
2014/04/09 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python