Python 实现将数组/矩阵转换成Image类
先说明一下为什么要将数组转换成Image类。我处理的图像是FITS(FlexibleImageTransportSystem)文件,是一种灰度图像文件,也就是单通道图像。
FITS图像的特点是灰度值取值为0~65535,这类图像在python下读成数组首先是不能直接转换成位图,也就不能用OpenCV、Image等方法了。
如果是普通的jpg图像,用自带的Image库就能实现很多功能。
下方的这幅图就是通过python下的Image库中的rotate函数实现的
接下来贴上代码。
importImage importnumpyasnp #生成一个数组,维度为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类就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。