矩阵不能被索引

Shr*_*gli 6 indexing matrix

我正在尝试编写有关图像压缩的代码。

I = imread('cameraman.bmp');
I = im2double(I);
T = dctmtx(8);
dct = @(block_struct) T * block_struct.data * T';
B = blockproc(I,[8 8],dct);
Run Code Online (Sandbox Code Playgroud)

每当我尝试执行上述行时,都会遇到错误

error: matrix cannot be indexed with .
error: called from
    @<anonymous> at line 1 column 45
    blockproc at line 135 column 6
Run Code Online (Sandbox Code Playgroud)

请帮我解决一下这个。谢谢。

Nic*_*eld 3

@anonymous> 在第 1 行第 45 列

它写道“block_struct.data”的位置有错误。

发生错误是因为您的 block_struct 是一个矩阵(例如,[1 2; 3 4])并且它不是可调用对象(换句话说,“block_struct.”是禁止的)。

尝试删除“.data”。