zoukankan      html  css  js  c++  java
  • 数组/矩阵转换成Image类

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

    原创 2017年04月21日 19:21:27

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

    这里写图片描述

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

  • 相关阅读:
    Javascript
    Linux折腾
    arch linux 教程
    fedora 安装 网易云音乐
    angularJS
    vim以超级用户权限保存文件
    Laravel 安装
    nginx
    xargs 简单功能
    yum 安装 php5.6 和 mysql5.6
  • 原文地址:https://www.cnblogs.com/developer-ios/p/7966098.html
Copyright © 2011-2022 走看看