这个错误出现的原因是左侧的变量 diff_blocks_img 是一个大小为 8×8×3 的数组,而右侧的变量 repmat(color_block, [1,1,length(col_idx)]) 是一个大小为 8×24×8 的数组。这两个数组的大小不一致,所以无法执行赋值操作。

要解决这个问题,你需要确定你想要的结果是什么。如果你想要将 color_block 复制到 diff_blocks_img 的每一行和列中,那么你可以使用以下代码:

for i = 1:length(row_idx)
    for j = 1:length(col_idx)
        diff_blocks_img(row_idx(i), col_idx(j), :) = color_block;
    end
end

这个代码将循环遍历 row_idxcol_idx 中的每一个索引,然后将 color_block 复制到对应的位置上。

如果你想要将 color_block 沿着每一列复制到 diff_blocks_img 中,那么你可以使用以下代码:

for i = 1:length(row_idx)
    diff_blocks_img(row_idx(i), col_idx, :) = repmat(color_block, [1, length(col_idx), 1]);
end

这个代码将循环遍历 row_idx 中的每一个索引,然后将 color_block 沿着每一列复制到 diff_blocks_img

无法执行赋值因为左侧的大小为 8×8×3右侧的大小为 8×24×8。出错 Untitled2 第 88 行 diff_blocks_imgrow_idx col_idx = repmatcolor_block 11lengthcol_idx;

原文地址: https://www.cveoy.top/t/topic/hgyF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录