我在matlab中进行图像压缩。
在我在图像上应用DCT并且我有img矩阵后,我想在该矩阵上应用阈值掩码。
mask = [1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0];
maskedImg = blkproc(img,[8 8],mask );
我使用了该功能,但它没有工作,我得到错误信息:
==>中的错误blkproc在67 [a,block,border,fun,params,padval] = parse_inputs(varargin {:});
答案 0 :(得分:2)
根据最新的Matlab
文件;最接近blockproc语法(针对您的情况)为B = blockproc(A,[M N],fun)
。显然你的mask
确实应该是一个功能!
但是,我记得blkproc
暂时是一个有效的Matlab
函数,因此通过键入(在命令行中)> help blkproc
来仔细检查调用它的正确方法。 (我很难相信它会与blockproc
共享呼叫签名[在这种情况下])。