DCT and DST (+ inverse) in arbitrary dimension
Y = DCTN(X) returns the discrete cosine transform (DCT) of X.
X = IDCTN(Y) returns the inverse discrete cosine transform (IDCT) of Y.
Y = DSTN(X) returns the discrete sine transform (DST) of X.
X = IDSTN(Y) returns the inverse discrete sine transform (IDST) of Y.
X and Y can be N-dimensional.
D = DSTMTX(k) returns the k-by-k DST transform matrix.
Faster DCT2 and IDCT2 are also included in the zip file.
Enter "help dctn", "help dstn", "help idctn", "help idstn" and "help dstmtx" in the Matlab command window for complete information.
Example
-------
RGB = imread('autumn.tif');
I = rgb2gray(RGB);
J = dstn(I);
imshow(log(abs(J)),[]), colormap(jet), colorbar
The commands below set values less than magnitude 10 in the DST matrix to zero, then reconstruct the image using the inverse DST.
J(abs(J)<10) = 0;
K = idstn(J);
figure, imshow(I)
figure, imshow(K,[0 255])
------
http://www.biomecardio.com/matlab
-----
引用格式
Damien Garcia (2024). DCT and DST (+ inverse) in arbitrary dimension (https://www.mathworks.com/matlabcentral/fileexchange/26040-dct-and-dst-inverse-in-arbitrary-dimension), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- Signal Processing > Signal Processing Toolbox > Transforms, Correlation, and Modeling > Transforms > Discrete Fourier and Cosine Transforms >
- Image Processing and Computer Vision > Image Processing Toolbox > Image Segmentation and Analysis > Image Transforms >
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!