3D DCT basis matrix in Matlab

Hi,
I am working in compressive sensing, lets say I have video blocks size 7x7x20, 7x7 image patchs and 20 frames each block.
I need the 3D DCT basis matrix in order to work with this blocks, I don't need to perform the transform I just need the elements of the basis.
For 2D I've been doing:
D1 = dctmtx(7);
D2 = kron(D1,D1);
This gives me the 2D DCT basis matrix that allows me to work with 7x7 image patches, now I need to extend this to 7x7x20 video blocks and I'm not sure how should I do it.
Thank you in advance.

1 commentaire

Firman
Firman le 18 Juin 2015
Hi, there is a great code for applying N-dimensional DCT. You can find it here.

Connectez-vous pour commenter.

Réponses (0)

Question posée :

Ana
le 3 Juin 2014

Commenté :

le 18 Juin 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by