数组/矩阵转换成Image类
Python下将数组/矩阵转换成Image类
先说明一下为什么要将数组转换成Image类。我处理的图像是FITS (Flexible Image Transport System)文件,是一种灰度图像文件,也就是单通道图像。FITS图像的特点是灰度值取值为0~65535,这类图像在python下读成数组首先是不能直接转换成位图,也就不能用OpenCV、Image等方法了。如果是普通的jpg图像,用自带的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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
这是刚才代码生成的图片,是不是很简单?
数组/矩阵转换成Image类的更多相关文章
- C# 将DataTable数据源转换成实体类
using System; using System.Collections.Generic; using System.Data; using System.Reflection; /// < ...
- DataTable转换成匿名类的List类型
DataTable转换成匿名类的List类型 因为匿名类是不能够 Activator.CreateInstance进行反射实例化的 /// <summary> /// 匿名类的转换方式 ...
- 利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理
利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理 2018-3-10 15:18 | 发布:Admin | 分类:代码库 | 评论: ...
- json转换成dart类 JSON to Dart
json_to_dart的使用 如果我们得到一个特别复杂的JSON,有时候会无从下手开始写Model,这时候就可以使用一些辅助工具.我认为json_to_dart是比较好用的一个.它可以直接把json ...
- 用MyEclipse将java文件转换成UML类图
用MyEclipse将java文件转换成UML类图 参考: 用MyEclipse将java文件转换成UML类图 - 君临天下的博客 - CSDN博客 http://blog.csdn.net/dan ...
- PHP二维数组(或任意维数组)转换成一维数组的方法汇总(实用)
目录 1 array_reduce函数法 2 array_walk_recursive函数法 3 array_map函数法 假设有下面一个二维数组: $user = array( '0' => ...
- 使用Sql语句快速将数据表转换成实体类
开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare ...
- JAVA将Byte数组(byte[])转换成文件
/** * 将Byte数组转换成文件 * @param bytes byte数组 * @param filePath 文件路径 如 D://test/ 最后"/"结尾 * @par ...
- PHP实现二维数组(或多维数组)转换成一维数组
1 array_reduce函数法 用array_reduce()函数是较为快捷的方法: $result = array_reduce($user, function ($result, $value ...
随机推荐
- mysql字符集乱码问题
程序错误截图如下: 分析:我们mysql数据库没有设置默认编码, 导致创建的库字符集为 latin1,然而我们创建表的时候,指定字符集为其他的,比如utf8 我的解决思路:把数据库的编码修改为utf8 ...
- lua 之 and or not
and是与运算,返回值如下 如果前者为false或者nil,则返回前者,否则后者 A and B 类似如下语句 if not A then return A else return B end 总结: ...
- MFC程序最小化到系统托盘及其响应函数
预备知识: Windows API函数: WINSHELLAPI BOOL WINAPI Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATA pnid ...
- 【原】简单shell练习(二)
1.查找awk # cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7 ...
- Linux下MySQL 5.7的初始化
要用管理员账号运行. systemctl start mysql#启动MySQL服务 mysqld_safe --user=mysql &#启动MySQL服务(安全方式) mysql -u r ...
- -- HTML标记大全参考手册[推荐]
-- HTML标记大全参考手册[推荐]总类(所有HTML文件都有的) 文件类型 <HTML></HTML> (放在档案的开头与结尾) 文件主题 <TITLE>&l ...
- 神经机器翻译(NMT)开源工具
博客地址:http://blog.csdn.net/wangxinginnlp/article/details/52944432 工具名称:T2T: Tensor2Tensor Transformer ...
- HDU - 2102 A计划(双层BFS)
题目: 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老.年迈的国王正是心急如焚, ...
- python第一章计算机基础
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...
- Python中接收用户的输入
一.如何去接收用户的输入?使用函数 input() 函数 input() 让程序暂停运行,等待用户输入一些文本,获取用户的输入后,Python将其存储到一个变量中,以方便后期使用. name = in ...