關於數據區間變換及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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM