2016-10-02 39 views
1

我需要將矩陣保存爲圖像,所以在回讀之後,初始矩陣和恢復矩陣是相同的。我有代碼:將矩陣保存爲圖像後恢復後沒有任何更改

import scipy.misc 


def get_matrix(N, M): 
    import random 
    matrix = [[ random.randint(1, 100) for j in range(M) ] for i in range(N)] 
    return matrix 

def equal(matA, matB): 
    if len(matA) != len(matB): 
     return False 
    if (len(matA[0]) != len(matB[0])): 
     return False 
    for i in range(len(matA)): 
     for j in range(len(matA[i])): 
      if matA[i][j] != matB[i][j]: 
       return False 
    return True 

init_matrix = get_matrix(10, 10) 
scipy.misc.imsave('matrix.jpg', init_matrix) 
recovered_matrix = scipy.misc.imread('matrix.jpg') 
assert equal(init_matrix, recovered_matrix) 

但從磁盤讀取圖像後,矩陣不相等。如何解決這個問題?

+1

你能打印第一個不相等的值嗎?如果這些是浮動的,也許是一個精確的問題? –

回答

2

如果您願意使用matplotlib或scikit-image,這些庫具有您想要的內置功能。否則,看看imageio軟件包。

相關問題