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 相关文章推荐
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 Python
在python中实现将一张图片剪切成四份的方法
Dec 05 Python
python设置环境变量的原因和方法
Jun 24 Python
Python利用matplotlib做图中图及次坐标轴的实例
Jul 08 Python
简单了解python代码优化小技巧
Jul 08 Python
Python自动化测试笔试面试题精选
Mar 12 Python
Django权限设置及验证方式
May 13 Python
Python实现封装打包自己写的代码,被python import
Jul 12 Python
Pycharm配置autopep8实现流程解析
Nov 28 Python
基于Django快速集成Echarts代码示例
Dec 01 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
Dec 21 Python
matplotlib部件之套索Lasso的使用
Feb 24 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 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
PHP小教程之实现链表
2014/06/09 PHP
PHP线程的内存回收问题
2016/07/08 PHP
PHP new static 和 new self详解
2017/02/19 PHP
PHP两种实现无级递归分类的方法
2017/03/02 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
Prototype RegExp对象 学习
2009/07/19 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
python基础教程之lambda表达式使用方法
2014/02/12 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
python实现斗地主分牌洗牌
2020/06/22 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
基于Python实现体育彩票选号器功能代码实例
2020/09/16 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
HTML文本属性&amp;颜色控制属性的实现
2019/12/17 HTML / CSS
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
淘宝活动策划方案
2014/02/06 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
公司年会主持词
2014/03/22 职场文书
北京天坛导游词
2015/02/12 职场文书