Python 实现将数组/矩阵转换成Image类


Posted in Python onJanuary 09, 2020

先说明一下为什么要将数组转换成Image类。我处理的图像是FITS (Flexible Image Transport System)文件,是一种灰度图像文件,也就是单通道图像。

FITS图像的特点是灰度值取值为0~65535,这类图像在python下读成数组首先是不能直接转换成位图,也就不能用OpenCV、Image等方法了。

如果是普通的jpg图像,用自带的Image库就能实现很多功能。

Python 实现将数组/矩阵转换成Image类

Python 实现将数组/矩阵转换成Image类

下方的这幅图就是通过python下的Image库中的rotate函数实现的

接下来贴上代码。

import Image
import numpy as np
#生成一个数组,维度为100*100,灰度值一定比255大
narray=np.array([range(10000)],dtype='int')
narray=narray.reshape([100,100])
#调用Image库,数组归一化
img=Image.fromarray(narry*255.0/9999)
#转换成灰度图
img=img.covert('L')
#可以调用Image库下的函数了,比如show()
img.show()
#Image类返回矩阵的操作
imgdata=np.matrix(img.getdata(),dtype='float')
imgdata=imgdata.reshape(narry.shape[0],narry.shape[1])
#图像归一化,生成矩阵
nmatrix=imgdata*9999/255.0

Python 实现将数组/矩阵转换成Image类

这是刚才代码生成的图片,是不是很简单?

以上这篇Python 实现将数组/矩阵转换成Image类就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
python基础知识(一)变量与简单数据类型详解
Apr 17 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
pytorch1.0中torch.nn.Conv2d用法详解
Jan 10 Python
通过实例了解Python str()和repr()的区别
Jan 17 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
python中用ctypes模拟点击的实例讲解
Nov 26 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 Python
python 实现将Numpy数组保存为图像
Jan 09 #Python
Python+OpenCV实现将图像转换为二进制格式
Jan 09 #Python
如何使用Python破解ZIP或RAR压缩文件密码
Jan 09 #Python
python读取raw binary图片并提取统计信息的实例
Jan 09 #Python
Flask 上传自定义头像的实例详解
Jan 09 #Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 #Python
python中如何使用insert函数
Jan 09 #Python
You might like
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
php递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
JavaScript File分段上传
2016/03/10 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
原生JavaScript实现Ajax异步请求
2017/11/19 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
layui radio性别单选框赋值方法
2018/08/15 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
python封装对象实现时间效果
2020/04/23 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
意大利在线药房:Farmacia Loreto Gallo
2019/08/09 全球购物
传统软件工程与面向对象的软件工程有什么区别
2012/05/31 面试题
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
教师业务培训方案
2014/05/01 职场文书
出售房屋委托书范本
2014/09/24 职场文书
财务工作个人总结
2015/02/27 职场文书
公积金具结保证书
2015/05/11 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers