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

yipeiwu_com6年前Python基础

先说明一下为什么要将数组转换成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

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

以上这篇Python 实现将数组/矩阵转换成Image类就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python以环状形式组合排列图片并输出的方法

本文实例讲述了python以环状形式组合排列图片并输出的方法。分享给大家供大家参考。具体分析如下: 这段代码可以自定义一个空白画板,然后将指定的图片以圆环状的方式排列起来,用到了pil库...

Django Admin中增加导出CSV功能过程解析

Django Admin中增加导出CSV功能过程解析

参考 https://books.agiliq.com/projects/django-admin-cookbook/en/latest/export.html 在使用Djan...

Django处理多用户类型的方法介绍

Django处理多用户类型的方法介绍

起步 这是许多开发者在项目初期要面临的一个普遍问题。要怎样来处理多用户类型。 本文讲介绍对于不同场景和业务需求如何设计用户模型。为项目提供指导设计。 设计之前 在梳理用户设计之前,有...

使用Python将数组的元素导出到变量中(unpacking)

解决的问题 需要将数组(list)或元组(tuple)中的元素导出到N个变量中。 解决的方案 任何序列都可以通过简单的变量赋值方式将其元素分配到对应的变量中,唯一的要求就是变量的数量和...

python 将日期戳(五位数时间)转换为标准时间

python 将日期戳(五位数时间)转换为标准时间

5位数日期戳 读取 .mat 文件处理里面数据时,发现里面的日期数据全部都是 “5位数” 数字,很不解; 后来查到可以在excel中通过设置单元格调回标准日期格式,如下: 选中日期戳,...