python画图常见不同图片格式保存方式

 更新时间:2023年09月14日 09:14:12   作者:没意思不好玩我不玩了  
这篇文章主要介绍了python画图常见不同图片格式保存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python画图常见不同图片格式保存

上周讨论老师要我把data生成 tif / tiff 图给他,方便用于编辑成高清矢量图?(原谅我没太仔细听为什么了。。。这该死的瞌睡虫)放进paper,平常都是直接生成pdf,顺便记录一下简单的存图过程。

import matplotlib.pyplot as plt
import numpy as np
# 生成数据===================================
x = np.arange(0, 1, 0.1) # 横坐标从0到1,步长为0.1
y = np.cos(x) # 纵坐标为 x 对应的 cos(x) 值
# 生成图形===================================
plt.figure(dpi=600)#自己设哈,其实300就够了
plt.plot(x, y)
#保存图片===================================
#习惯了,没有理由
plt.savefig('C:/Users/YuJia/Desktop/cos.pdf')
#JPG/JPEG是最常见的格式,有损压缩,细节流失,但内存小
plt.savefig('C:/Users/YuJia/Desktop/cos.jpeg')
plt.savefig('C:/Users/YuJia/Desktop/cos.jpg')
#档案比JPEG大,压缩不失真,能够相容透明/半透明图像
plt.savefig('C:/Users/YuJia/Desktop/cos.png')
#可缩放向量图,以向量图形组成,而非像素,不被限制于某种解析度(仿佛无限大哈哈哈没有啦),一般用网页浏览器开启(如Chrome、Firefox、Edge或Internet Explorer)
plt.savefig('C:/Users/YuJia/Desktop/cos.svg')
#标签图像文件格式,可进行有损或无损压缩
plt.savefig('C:/Users/YuJia/Desktop/cos.tif')
plt.savefig('C:/Users/YuJia/Desktop/cos.tiff')
# 显示图形===================================
plt.show()

以下是产生的各种图片大小:

稍微看一下,图片大小还跟dpi设置有关,差很多!!!尤其是 tif / tiff 这种,dpi 高的可以有几百MB那么大。

好的,速速讲完,虽然没什么内容,睡觉,同为可爱的画图工具人们。

保存图片的常用方法

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()

4.pytorch保存图片

save_image(real_img,os.path.join(save_img,f"{epoch}_real.jpg"),nrow=10,padding=2,pad_value=255)

参数:

  • tensor:4D张量,形状为(B x C x H x W),分别表示样本数,通道数,图像高度,图像宽度
  • nrow:每行的图片数量,默认值为8
  • padding:相邻图像之间的间隔。默认值为2
  • normalize:如果为True,则把图像的像素值通过range指定的最大值和最小值归一化到0-1。默认为False
  • range:元组,用于指定最大值和最小值。默认使用图像像素的最大最小值。
  • sacle_each:如果为True,就单独对每张图像进行normalize;如果是False,统一对所有图像进行normalize。默认为Flase
  • pad_value:float,上述padding会使得图像之间留出空隙,默认为0

在这里插入图片描述

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python使用BeautifulSoup分析网页信息的方法

    python使用BeautifulSoup分析网页信息的方法

    这篇文章主要介绍了python使用BeautifulSoup分析网页信息的方法,涉及Python使用BeautifulSoup模块分析网页信息的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Django初步使用Celery处理耗时任务和定时任务问题

    Django初步使用Celery处理耗时任务和定时任务问题

    这篇文章主要介绍了Django初步使用Celery处理耗时任务和定时任务问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Django自定义模板过滤器和标签的实现方法

    Django自定义模板过滤器和标签的实现方法

    这篇文章主要介绍了Django自定义模板过滤器和标签的实现方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • python实现微信自动回复功能

    python实现微信自动回复功能

    这篇文章主要为大家详细介绍了使用python实现微信自动回复功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Python字符串、列表、元组、字典、集合的补充实例详解

    Python字符串、列表、元组、字典、集合的补充实例详解

    这篇文章主要介绍了Python字符串、列表、元组、字典、集合,结合实例形式详细分析了Python字符串、列表、元组、字典、集合常见函数使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-12-12
  • Python时间获取及转换知识汇总

    Python时间获取及转换知识汇总

    这篇文章主要介绍了Python时间获取及转换知识汇总的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • 用python打印1~20的整数实例讲解

    用python打印1~20的整数实例讲解

    在本篇内容中小编给大家分享了关于python打印1~20的整数的具体步骤以及实例方法,需要的朋友们参考下。
    2019-07-07
  • django模型层(model)进行建表、查询与删除的基础教程

    django模型层(model)进行建表、查询与删除的基础教程

    这篇文章主要给大家介绍了关于django模型层(model)进行建表、查询与删除的等基础操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • Python PyQt5整理介绍

    Python PyQt5整理介绍

    PyQt5 是Digia的一套Qt5应用框架与python的结合,同时支持2.x和3.x。这篇文章给大家整理了关于Python PyQt5的相关知识,感兴趣的朋友一起看看吧
    2020-04-04
  • 关于dataframe排序 pd.rank()

    关于dataframe排序 pd.rank()

    pandas.DataFrame.rank方法支持不同的排序方式,如按行或列、升序或降序等,主要参数包括axis控制按行或列排名,method定义相同值的处理方式,numeric_only指定是否仅对数字列排序,na_option设置NaN值的排序方法,ascending确定排序方向,pct决定是否以百分比形式展示排名
    2024-09-09

最新评论