zoukankan      html  css  js  c++  java
  • 关于数据区间变换及numpy数组转图片数据的python实现

    python实现区间转换、numpy图片数据转换

    需求:

    客户的需求是永无止境的,这不?前几天,用户提出了一个需求,需要将一组数据从一个区间缩放到另一区间?

    思路:

    先将数据归一化,再乘以对应区间的差加上对于区间下限。

    数据归一化的公式:

    # 区间变换
    def unification_interval(data,interval_min,interval_max):
        # data         :需要变换的数据或矩阵
        # interval_min :变换区间下限。
        # interval_max :变换区间上限。
        import numpy as np
        data = np.array(data)
        n,m = data.shape
        minval = np.min(np.min(data))
        maxval = np.max(np.max(data))
        for i in range(n):
            for j in range(m):
                data[i,j] = (data[i,j]-minval)/(maxval-minval)
        return data*(interval_max-interval_min)+interval_min
    # 整形的转换
    def
    Inter(data): import numpy as np data = np.array(data) n,m = data.shape for i in range(n): for j in range(m): data[i,j] = int(data[i,j]) return data
    # coding:utf-8
    import pandas as pd 
    import numpy as np 
    import matplotlib.pyplot as plt 
    from scipy.misc import imresize
    
    # 区间变换
    def unification_interval(data,interval_min,interval_max):
        # data         :需要变换的数据或矩阵
        # interval_min :变换区间下限。
        # interval_max :变换区间上限。
        import numpy as np
        data = np.array(data)
        n,m = data.shape
        minval = np.min(np.min(data))
        maxval = np.max(np.max(data))
        for i in range(n):
            for j in range(m):
                data[i,j] = (data[i,j]-minval)/(maxval-minval)
        return data*(interval_max-interval_min)+interval_min
    
    def Inter(data):
        import numpy as np 
        data = np.array(data)
        n,m = data.shape
        for i in range(n):
            for j in range(m):
                data[i,j] = int(data[i,j])
        return data
    
    # 图片读入
    img_data = pd.read_csv('./data/milliq.csv',header=0,index_col=0,sep=',')
    # print(np.max(np.max(img_data)))
    # print(np.min(np.min(img_data)))
    
    data = Inter(img_data)
    
    imgData = unification_interval(data,0,255)
    
    # print(np.max(np.max(imgData)),np.min(np.min(imgData)))
    
    data = imresize(data,[200,200])
    
    plt.imshow(data,cmap='gray')
    plt.show()
  • 相关阅读:
    2019年8月16日_实验室学术论文研讨
    2019年8月2日实验室学术研讨会议
    2019年7月26日实验室学术研讨会议
    2019年7月12日实验室开展学术研讨
    hdu 5547
    hdu 1286
    hdu 1272
    hdu 1213
    poj 2533 LIS(最长上升序列)
    HUD 5773 LIS(最长上升序列)
  • 原文地址:https://www.cnblogs.com/wuzaipei/p/9535492.html
Copyright © 2011-2022 走看看