blockproc
是blkproc
的新名称(已弃用)。它可用于将功能应用于图像中的每个块。例如,如果您想将矩阵I划分为8x8的块并计算每个块的平均值,则可以这样做:
B=blockproc(I, [8 8], @(x) mean(x.data(:)));
那么B是一个包含块均值的矩阵。
这里要注意两件事:
说明符
[8 8]
指定块的大小 ,而不是块的数目 。在传递给
blockproc
的函数之外,您无法访问块本身。如果您自己需要块,则必须按照Adrien的建议进行:A1=I(1:128, 1:128); A2=I(129:256, 1:128); A3=I(1:128, 129:256); A4=I(129:256, 129:256);
当然,在实际程序中,您可能应该使用循环来执行此操作。
0
我有一个256x256的图片,我想将其分为4个128x128的块,并将它们分别命名为A1至A4。现在,我想分别调用它们并对其进行一些操作。我知道可以使用
blkproc
函数完成此操作-但究竟如何呢?我这样叫
blkproc
吗?我要用什么代替“?”,如何处理创建的4个块?