【python图像处理】tiff文件的保存与解析
【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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
eclipse的properties文件中文被转码解决方案
eclipse的properties文件中文被转码解决方案 如图所示:首次在properties里打中文注释,结果一输入中文就自动被转码,于是查看了一下项目的编码是UTF-8的,而eclipse中默认的properties文件编码是ISO的,所以修改一下即可。 打开window下的preferences,搜索框输入Content Types ,找到如下图的java Properties File修改默认编码 修改后即可成功: 原文地址http://www.bieryun.com/2856.html
- 下一篇
Java内存问题 及 LeakCanary 原理分析
前些天,有人问到 “开发过程中常见的内存泄漏都有哪些?”,一时脱口而出:静态的对象中(包括单例)持有一个生命周期较短的引用时,或内部类的子代码块对象的生命周期超过了外面代码的生命周期(如非静态内部类,线程),会导致这个短生命周期的对象内存泄漏。总之就是一个对象的生命周期结束(不再使用该对象)后,依然被某些对象所持有该对象强引用的场景就是内存泄漏。 这样回答很明显并不是问答人想要的都有哪些场景,所以这里抽时间整理了下内存相关的知识点,及LeakCanary工具的原理分析。 Java内存问题 及 LeakCanary 原理分析 在安卓等其他移动平台上,内存问题显得特别重要,想要做到虚拟机内存的高效利用,及内存问题的快速定位,了解下虚拟机内存模块及管理相关知识是很有必要的,这篇文章将从最基础的知识分析,内存问题的产生地方、原因、解决方案等原理。 一、运行时内存区域 这里以Java虚拟机为例,将运行时内存区分为不同的区域,每个区域承担着不同的功能。 方法区用户存储已被虚拟机加载的类信息,常量,静态常量,即时编译器编译后的代码等数据。异常状态 OutOfMemoryError,其中包含常量池和用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作