笔记: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) #

tif8 = scipy.misc.imread(path8) #

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 #

print(type(y[0,0]))

print()

# Convert y to 16 bit unsigned integers

z16 = (y.astype(np.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)) #

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 16bit转8bit的工具_python存储16bit和32bit图像的实例相关推荐

  1. python 16bit转8bit的工具_wav文件16bit量化比特转8bit量化比特

    将 WAV16bit 量化比特转为 8bit 量化比特 #include #include /* wav 音频头部格式 */ typedefstruct _wave_pcm_hdr { char ri ...

  2. python开发web运维工具_Python web 开发工具箱

    工欲善其事,必先利其器(装逼工具)Pycharm.专业的python IDE,功能很强大,特别喜欢它的代码merge工具,不想被编辑器折腾死的推荐直接使用,五星级推荐.(除了内存占用大点) vim.本 ...

  3. idle不是python自带的开发工具_Python的开发工具

    通常情况下,为了提高开发效率,需要使用相应的开发工具.进行Python开发也可以使用开发工具.下面将详细介绍Python自带的IDLE 一使用自带的IDLE 在安装Python后,会自动安装一个IDL ...

  4. python 16bit转8bit的工具_利用python读取YUV文件 转RGB 8bit/10bit通用

    注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码. 位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1): 位深为10bit时,每个像 ...

  5. python图片保存为txt文件_python + opencv实现提取png图像的像素信息并存储到txt文件中(附安装指导)...

    相关库安装指导: 这里我们需要 opencv_python,numpy,matplotlib库,另外我用的是python3.6.1版本. 一般库大家都是用pip install命令安装的,不过不知道为 ...

  6. python可以做哪些小工具_python的简单实用小工具

    在python进行自动化编写的过程中,常常需要造一些数据,比如,获取随机的合法IP,随机的字符串,当前的时间等,下面的一些方法应该可以用到,希望对你有所帮助 #!/user/bin/env pytho ...

  7. python爬取视频的工具_Python爬取视频(其实是一篇福利)

    原博文 2018-01-09 00:14 − 窗外下着小雨,作为单身程序员的我逛着逛着发现一篇好东西,来自知乎 你都用 Python 来做什么?的第一个高亮答案. 到上面去看了看,地址都是明文的,得, ...

  8. python代码行数统计工具_Python实现代码行数统计工具的功能(实例)

    本篇文章给大家带来的内容是关于Python实现代码行数统计工具的功能(实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我们经常想要统计项目的代码行数,但是如果想统计功能比较完善 ...

  9. python引流脚本开发工具_Python脚本 抖X自动关注粉丝引流脚本

    #python 3.6.4 # encoding:utf-8 #确保已连接好adb #1080 2280 分辨率,一加6测试通过 #抖音版本20200618 import os import cv2 ...

最新文章

  1. 美媒评2018年全球十大突破性技术:AI和人工胚胎上榜
  2. 模板资源管理器的使用
  3. Oracle Goldengate ORA-21780故障处理
  4. 容器学习 之 本地镜像与共有镜像(十)
  5. 老码农90%的程序员都是瞎努力!这份路线教你成为高手
  6. mysql5.7 设置远程访问
  7. Node.js ES6 模块化的基本语法-按需导出与按需导入
  8. [python]一个遍历多层文件夹,然后替换文件内容和目录名称的案例
  9. MyEclipse SVN插件的安装
  10. Java周记(第一周)
  11. log4j自定义配置文件路径
  12. 薛定谔Maestro教程--用户界面1
  13. 配置switchOmegaProxy插件
  14. 快速学习-帕特里夏树
  15. 什么牌子的护眼灯最好推荐?盘点口碑好的护眼灯品牌
  16. PTA ## 统计字符
  17. OpenMP中的Reduction操作 #pragma omp xxx reduction()
  18. phpstorm2018版激活办法,2018/5/28实锤有效
  19. 一维数据中位值平均滤波法MATLAB代码
  20. 三国之麻将无双java_武将无双之三国赵云

热门文章

  1. python – 如何将两个列表的元素添加到一个列表中?extend
  2. XP修改桌面路径方法
  3. ebs系统应用层次架构
  4. c++模板 --- 类模板、自定义类型当做模板参数
  5. onnxruntime gpu 推理
  6. ROS SMACH基础教程(一)
  7. ios 点生成线路 百度地图_百度地图下载-百度地图ios版15.3.0苹果版-东坡下载
  8. AI_Security | 眼见未必为实:警惕AI时代的新诈骗
  9. 分析在线生成模板、导入、导出
  10. matlab减震控制,基于SMA-SPDS的小雁塔结构减震控制研究