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

时间:2021-05-22

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

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

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

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

接下来贴上代码。

import Imageimport 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类就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章