i am working on image compression and my code gives the error (Dot indexing is not supported for variables of this type). Could anyone help me on the reason why?
1 次查看(过去 30 天)
显示 更早的评论
part of the code can be seen below
% apply DCT on 8x8 blocks of the image, and re-order the coefficients
dct_result = blkproc(image, [8 8], @(block_struct) zigzag(dct2(block_struct.data)));
% for each block, set the last n coefficients to zero
for i = 1:m/8
for j = 1:n/8
start_index = 64 - n + 1;
dct_result(start_index:end, start_index:end, i, j) = 0;
end
end
% apply inverse DCT on each block of coefficients
idct_result = blkproc(dct_result, [8 8], @(block_struct) idct2(izigzag(block_struct.data)));
The erroe also says
Dot indexing is not supported for variables of this type.
Error in dc>@(block_struct)zigzag(dct2(block_struct.data)) (line 17)
dct_result = blkproc(image, [8 8], @(block_struct) zigzag(dct2(block_struct.data)));
0 个评论
回答(1 个)
Amit Dhakite
2023-5-11
Hi Yonta,
As per my understanding, you are trying to block process the images using blkproc function.
It is not recommended to use blkproc, instead you can use blockproc, which will remove the error related to dot indexing.
To know more about blockproc, kindly refer to the following link:
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!