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实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
浅谈Python爬取网页的编码处理
Nov 04 Python
window下eclipse安装python插件教程
Apr 24 Python
Python实现的HMacMD5加密算法示例
Apr 03 Python
Python实现二维数组输出为图片
Apr 03 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
Python SELENIUM上传文件或图片实现过程
Oct 28 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 Python
python 爬取腾讯视频评论的实现步骤
Feb 18 Python
拒绝盗图!教你怎么用python给图片加水印
Jun 04 Python
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
Python matplotlib可视化之绘制韦恩图
Python语言中的数据类型-序列
Feb 24 #Python
浅析python中特殊文件和特殊函数
Feb 24 #Python
Python中字符串对象语法分享
Feb 24 #Python
You might like
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
JavaScript中的标签语句用法分析
2015/02/10 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
js验证身份证号码记录的方法
2019/04/26 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
如何阻止小程序遮罩层下方图层滚动
2019/09/05 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
python 提取文件的小程序
2009/07/29 Python
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
Python实现以时间换空间的缓存替换算法
2016/02/19 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
舞蹈教育学专业推荐信
2013/11/27 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
鸿星尔克广告词
2014/03/21 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
工会换届选举方案
2014/05/21 职场文书
国际贸易专业求职信
2014/06/04 职场文书
品牌转让协议书
2014/08/20 职场文书
农村党员对照检查材料
2014/09/24 职场文书
大学生团员个人总结
2015/02/14 职场文书
《刷子李》教学反思
2016/02/20 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
小程序自定义轮播图圆点组件
2022/06/25 Javascript