apply 3D DCT on a 3d matrix
3 views (last 30 days)
Show older comments
Hello,
Is there any way to apply 3d dct on a 3d matrix without using the multidimensional function mirt_dctn?
i.e. working seperately on each dimension of the matrix.
Thank you!
0 Comments
Answers (1)
Shlok
on 26 Feb 2025
Hi Konstantina,
Yes, you can apply a 3D Discrete Cosine Transform (DCT) to a 3D matrix without using “mirt_dctn”. This can be done by applying a 1D DCT sequentially along each dimension. To achieve this, use the “dct” function present in Signal Processing Toolbox. Here’s an example of how to apply a 3D DCT manually:
A = rand(4, 4, 4); % Assuming a sample 3D matrix
% Applying 1D DCT along each dimension separately
A_manual = dct(A, [], 1);
A_manual = dct(A_manual, [], 2);
A_manual = dct(A_manual, [], 3);
disp('Manual 3D DCT:');
disp(A_manual);
To know more about “dct”, refer to the following MathWorks documentation link:
0 Comments
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!