代码之家  ›  专栏  ›  技术社区  ›  0x1337

恢复后将矩阵另存为图像,无需更改

  •  1
  • 0x1337  · 技术社区  · 9 年前

    我需要将矩阵保存为图像,以便在回读后,初始矩阵和恢复矩阵是相同的。我有密码:

    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 回复  |  直到 9 年前
        1
  •  2
  •   Stefan van der Walt    9 年前

    如果您愿意使用matplotlib或scikit映像,这些库具有您想要的内置功能。否则,请查看imageio软件包。

    推荐文章