【问题标题】:Python transfering from matrix to vector, odd resultPython从矩阵转移到向量,奇怪的结果
【发布时间】:2015-07-30 05:36:33
【问题描述】:

我有一个名为 1 到 100 的 100 个图像,我想将每个图像读入一个矩阵 A,然后将矩阵 A 拟合到另一个矩阵 B 的行向量中。很简单。

每一张图片都是 768x512=393216,我有 100 张图片,所以我的矩阵 B 应该是 100x393216(每张图片是一行)

这是我的代码:

dimensions=(100,393216)
B=np.zeros(dimensions)
for i in range(1,101):
    A=color.rgb2gray(io.imread('/home/oria/Desktop/DB/%s.ppm' %(i)))
    for j in range(0,768):
        l=0
        for k in range(0,512):
            B[i-1][l]=A[j][k]
            l=l+1

我不明白为什么这不起作用。但事实并非如此。在这个过程结束时,矩阵A不是矩阵B的最后一行。

【问题讨论】:

    标签: python matrix vector row


    【解决方案1】:

    您所做的是每次在图像中从一行跳到另一行时重置l,因此您正在创建一个大小为 100x512 的矩阵,并且每次迭代另一行时,您都会覆盖您之前编写的内容。只需将 l=0 移到迭代行的 for 循环之外。

    dimensions=(100,393216)
    B=np.zeros(dimensions)
    for i in range(1,101):
        A=color.rgb2gray(io.imread('/home/oria/Desktop/DB/%s.ppm' %(i)))
        l=0
        for j in range(0,768):
            for k in range(0,512):
                B[i-1][l]=A[j][k]
                l=l+1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 2021-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多