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 相关文章推荐
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
使用python为mysql实现restful接口
Jan 05 Python
Django开发中复选框用法示例
Mar 20 Python
python3中的md5加密实例
May 29 Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 Python
基于windows下pip安装python模块时报错总结
Jun 12 Python
python实现简单的文字识别
Nov 27 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Python字符串大小写转换拼接删除空白
Sep 19 Python
pygame实现俄罗斯方块游戏(AI篇2)
Oct 29 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
Feb 05 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带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
php图片处理函数获取类型及扩展名实例
2014/11/19 PHP
PHP排序算法类实例
2015/06/17 PHP
php中关于换行的实例写法
2019/09/26 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
JavaScript 指导方针
2007/04/05 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
Python中functools模块的常用函数解析
2016/06/30 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
Python之修改图片像素值的方法
2019/07/03 Python
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
自我介绍演讲稿
2014/01/15 职场文书
工程质量承诺书
2014/03/27 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
安全施工标语
2014/06/07 职场文书
教代会闭幕词
2015/01/28 职场文书
司机个人年终总结
2015/03/03 职场文书
论语读书笔记
2015/06/26 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
导游词之杭州西湖
2019/09/19 职场文书
创业计划书之家教中心
2019/09/25 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
css3 文字断裂效果
2022/04/22 HTML / CSS