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中的fileinput模块的简单实用示例
Jul 09 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
Python批量提取PDF文件中文本的脚本
Mar 14 Python
Python基于dom操作xml数据的方法示例
May 12 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
Jun 04 Python
浅析PyCharm 的初始设置(知道)
Oct 12 Python
详解Python中string模块除去Str还剩下什么
Nov 30 Python
Python Selenium异常处理的实例分析
Feb 28 Python
如何使用Python实现一个简易的ORM模型
May 12 Python
Python+OpenCV实现图片中的圆形检测
Apr 07 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中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
php empty() 检查一个变量是否为空
2011/11/10 PHP
基于php权限分配的实现代码
2013/04/28 PHP
Laravel 5 框架入门(一)
2015/04/09 PHP
php多线程并发实现方法
2016/09/30 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
限制文本字节数js代码
2007/03/06 Javascript
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
python openssl模块安装及用法
2020/12/06 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
我的网上商城创业计划书
2013/12/26 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
工商局副局长个人对照检查材料
2014/09/25 职场文书
2014年采购员工作总结
2014/11/18 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书
如何在C++中调用Python
2021/05/21 Python
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android