使用Matplotlib将图片保存为.tiff格式
Matplotlib将图片保存为.tiff格式
sci论文为防止图片失真,最好提交 tiff 格式(位图)或者其它类型的矢量图。
因为经常用matplotlib绘图,于是可以按照以下方法将图片保存为 tiff 格式,之后使用PS进行压缩。
主要用到了io和PIL模块,流程是先保存为png格式,在后再加载,通过PIL保存为 tiff 格式。
举个简单的例子
import numpy as np import matplotlib.pyplot as plt from matplotlib.lines import Line2D import io from PIL import Image custom_lines = [Line2D([0], [0], color=cmap(0.), lw=4), Line2D([0], [0], color=cmap(.5), lw=4), Line2D([0], [0], color=cmap(1.), lw=4)] N = 10 data = [np.logspace(0, 1, 100) + np.random.randn(100) + ii for ii in range(N)] data = np.array(data).T fig, ax = plt.subplots() lines = ax.plot(data) ax.legend(custom_lines, ['Cold', 'Medium', 'Hot']) # Save the image in memory in PNG format png1 = io.BytesIO() plt.savefig(png1, format="png", dpi=500, pad_inches = .1, bbox_inches = 'tight') # Load this image into PIL png2 = Image.open(png1) # Save as TIFF png2.save("ap_qt_ad.tiff") png1.close()
示例结果:
python图像处理之tiff文件的保存与解析
tiff文件是一种常用的图像文件格式,支持将多幅图像保存到一个文件中,极大得方便了图像的保存和处理。
python中支持tiff文件处理的是libtiff模块中的TIFF类(libtiff下载链接https://pypi.python.org/pypi/libtiff/)。
这里主要介绍tiff文件的解析和保存,
具体见如下代码:
from libtiff import TIFF from scipy import misc ##tiff文件解析成图像序列 ##tiff_image_name: tiff文件名; ##out_folder:保存图像序列的文件夹 ##out_type:保存图像的类型,如.jpg、.png、.bmp等 def tiff_to_image_array(tiff_image_name, out_folder, out_type): tif = TIFF.open(tiff_image_name, mode = "r") idx = 0 for im in list(tif.iter_images()): # im_name = out_folder + str(idx) + out_type misc.imsave(im_name, im) print im_name, 'successfully saved!!!' idx = idx + 1 return ##图像序列保存成tiff文件 ##image_dir:图像序列所在文件夹 ##file_name:要保存的tiff文件名 ##image_type:图像序列的类型 ##image_num:要保存的图像数目 def image_array_to_tiff(image_dir, file_name, image_type, image_num): out_tiff = TIFF.open(file_name, mode = 'w') #这里假定图像名按序号排列 for i in range(0, image_num): image_name = image_dir + str(i) + image_type image_array = Image.open(image_name) #缩放成统一尺寸 img = image_array.resize((480, 480), Image.ANTIALIAS) out_tiff.write_image(img, compression = None, write_rgb = True) out_tiff.close() return
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
这篇文章主要介绍了Win7下Python与Tensorflow-CPU版安装与配置心得,需要的朋友可以参考下2018-01-01Python+OpenCV人脸识别签到考勤系统实现(附demo)
本文主要介绍了Python+OpenCV人脸识别签到考勤系统实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
这篇文章主要介绍了python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例,需要的朋友可以参考下2020-02-02Anaconda+vscode+pytorch环境搭建过程详解
这篇文章主要介绍了Anaconda+vscode+pytorch环境搭建过程详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-05-05
最新评论