【问题标题】:Matlab work with each vector from a 4D arrayMatlab 使用 4D 数组中的每个向量
【发布时间】:2014-02-25 02:48:12
【问题描述】:

我有一个大小为 4D 的矩阵,比如说 100x200x3x10,其中 100x200 是一张图像的大小,3 是通道数(RGB 图像),10 是图像数。

我想计算每个图像中每个 RGB 向量与其自身的内积。生成的图像大小应为 100x200x10。如何在不使用循环的情况下有效地计算这些产品?

谢谢。

【问题讨论】:

    标签: arrays image matlab image-processing


    【解决方案1】:

    如果你调用你的矩阵M,这应该可以工作:

    squeeze(dot(M,M,3))
    

    squeeze 是因为 matlab 给出了一个 100x200x1x10 矩阵作为结果,squeeze 剔除了冗余维度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-13
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      相关资源
      最近更新 更多