python矩阵想成_Python 实现将数组/矩阵转换成Image类

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

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

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

cb885d34d24830dd5d2a28e970a194dd.png

5c0eed0da2a8c59f0312c48d960756d7.png

下方的这幅图就是通过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

355f26991b2a9577ae79cdbe454b4624.png

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值