python存储16bit和32bit图像的实例


Posted in Python onDecember 05, 2018

笔记:python中存储16bit和32bit图像的方法。

说明:主要是利用scipy库和pillow库,比较其中的不同。

'''
测试16bit和32bit图像的python存储方法
'''
import numpy as np
 
import scipy.misc
from PIL import Image
 
# 用已有的8bit和16bit图作存储测试
path16 = 'D:\Py_exercise\lena16.tif'
path8 = 'D:\Py_exercise\lena8.tif'
tif16 = scipy.misc.imread(path16)  #<class 'numpy.uint16'>
tif8 = scipy.misc.imread(path8)   #<class 'numpy.uint8'>
print(np.shape(tif16),type(tif16[0,0])) 
print(np.shape(tif8),type(tif8[0,0])) 
print()
 
save16 = 'D:\Py_exercise\lena16_save.tif'
save8 = 'D:\Py_exercise\lena8_save.tif'
scipy.misc.imsave(save16, tif16)   #--> 8bit
scipy.misc.imsave(save8, tif8)   #--> 8bit
 
 
# Create a mat which is 64 bit float
nrows = 512
ncols = 512
np.random.seed(12345)
y = np.random.randn(nrows, ncols)*65535 #<class 'numpy.float64'>
print(type(y[0,0]))
print()
 
# Convert y to 16 bit unsigned integers
z16 = (y.astype(np.uint16))    #<class 'numpy.uint16'>
print(type(z16[0,0]))
print()
 
# 用产生的随机矩阵作存储测试
save16 = 'D:\Py_exercise\lena16_save1.tif'
scipy.misc.imsave(save16, z16)     #--> 8bit
 
im = Image.frombytes('I;16', (ncols,nrows), y.tostring())
im.save('D:\Py_exercise\lena16_save21.tif') #--> 16bit
im = Image.fromarray(y)      
im.save('D:\Py_exercise\lena16_save22.tif') #--> 32bit
im = Image.fromarray(z16)      
im.save('D:\Py_exercise\lena16_save23.tif') #--> 16bit
 
# 归一化后的np.float64仍然存成了uint8
zNorm = (z16-np.min(z16))/(np.max(z16)-np.min(z16)) #<class 'numpy.float64'>
print(type(zNorm[0,0]))
save16 = 'D:\Py_exercise\lena16_save11.tif'
scipy.misc.imsave(save16, zNorm)    #--> 8bit
 
# 归一化后的np.float64直接转8bit或16bit都会超出阈值,要*255或*65535
# 如果没有astype的位数设置,会直接存成32bit
zImg = (zNorm*65535).astype(np.uint16) 
im = Image.fromarray(zImg)
im.save('D:\Py_exercise\lena16_save31.tif') #--> 16bit
im = Image.fromarray(zNorm)
im.save('D:\Py_exercise\lena16_save32.tif') #--> 32bit(0~1)

以上这篇python存储16bit和32bit图像的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用动态变量名的方法
May 06 Python
Python实现进程同步和通信的方法
Jan 02 Python
Python分支结构(switch)操作简介
Jan 17 Python
python算法与数据结构之单链表的实现代码
Jun 27 Python
对django2.0 关联表的必填on_delete参数的含义解析
Aug 09 Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
Ubuntu16.04安装python3.6.5步骤详解
Jan 10 Python
Python实现密钥密码(加解密)实例详解
Apr 26 Python
Python Django form 组件动态从数据库取choices数据实例
May 19 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
Python selenium的这三种等待方式一定要会!
Jun 10 Python
Python随机生成身份证号码及校验功能
Dec 04 #Python
python 从文件夹抽取图片另存的方法
Dec 04 #Python
使用Python实现微信提醒备忘录功能
Dec 04 #Python
flask-restful使用总结
Dec 04 #Python
Python读取YUV文件,并显示的方法
Dec 04 #Python
对Python3+gdal 读取tiff格式数据的实例讲解
Dec 04 #Python
用python代码将tiff图片存储到jpg的方法
Dec 04 #Python
You might like
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
JsRender for object语法简介
2014/10/31 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
简单解析Django框架中的表单验证
2015/07/17 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
numpy中矩阵合并的实例
2018/06/15 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
岗位竞聘演讲稿
2014/01/10 职场文书
社会实践活动总结报告
2014/04/29 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
离婚财产分割协议书
2015/08/11 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书