MATLAB blockproc不会连接结果

时间:2017-06-18 07:10:31

标签: matlab

出于某种原因,使用以下代码:

myimg = rand(30, 30);
myfun = @(block) block.data;
B = blockproc(myimg, [5 5], myfun)

blockproc将B返回为30x30矩阵。这似乎与blockproc的帮助文本不一致,后者声称myfun的结果正在连接(我也尝试将myfun作为一个单独的函数输出每个块到命令行,它确实处理了一堆5x5图像)。 B不应该是5x5矩阵的串联吗?

编辑:我想要实现的目标:将输入图像平铺为重叠图块。建议的线程处理非重叠的tile。

编辑2:所以这是blockproc帮助文本:

“B = blockproc(A,[M N],FUN)通过应用来处理图像A.     函数FUN到A的每个不同的M-by-N块并连接     结果输出到输出矩阵B. FUN是a的函数句柄     接受“块结构”作为输入并返回矩阵的函数,     向量或标量Y:“

对我来说,这听起来如果FUN是身份,我应该得到所有图块的连接,(特别是因为文本允许FUN的返回值是一个矩阵)但也许还有其他方法来解释文本?

1 个答案:

答案 0 :(得分:0)

我想你想要

myimg = rand(5, 5);
B=repmat(myimg,6);

enter image description here