【问题标题】:Matlab reshape functionMatlab重塑函数
【发布时间】:2015-03-13 17:40:00
【问题描述】:

我需要使用 Matlab reshape() 来实现以下功能:

假设我有一张图片(M 行 x N 列 x 3)。所以本质上是一个 M×N 图像,每个像素有 3 个通道,分别为红色、绿色、蓝色。

我想把这张图片重新塑造成。

3 x total number of pixels

在哪里, 第 1 列是图像(1,1)的 RGB, 第 2 列是图像(2,1)的 RGB, 第 3 列是图像(3,1)的 RGB, . . . 是图像(m,1)的RGB, 是图像的 RGB (1,2) 等等……

【问题讨论】:

    标签: image matlab


    【解决方案1】:

    你需要reshape然后转置如下:

    im_out = reshape(im_in, [], 3).';
    

    请注意,reshape 在这里工作(给出您想要的顺序),因为它以 linear-indexing 顺序隐式遍历 3D 数组:首先是行子索引,然后是列子索引,然后是 3rd-dim 子索引。

    【讨论】:

    • 不是reshape(im_in,[],3).'吗?
    • @knedlsepp 谢谢。正是这样。我最初理解的问题是错误的
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 2014-04-21
    • 2016-01-11
    • 2016-04-22
    • 2013-08-09
    • 2012-08-07
    • 1970-01-01
    相关资源
    最近更新 更多