Inverse dct in matlab
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
So I want to remove the higher frequency dct from an image and reconstruct it, so i followed an example by Matlab https://www.mathworks.com/help/images/ref/dct2.html. However, when i tried with my own image, it didn't turn out to be great. I'm using an image:
and i followed every step in the link with:
img = imread('giraffe.png');
img = rgb2gray(img);
J = dct2(img);
figure
imshow(log(abs(J)),[])
colormap(gca,jet(64))
colorbar
The colorbar
J(abs(J) < 10) = 0;
img_r = idct2(J);
imshow(img_r)
But my output image became:
Why did this happen?
0 commentaires
Réponse acceptée
R.G.
le 1 Sep 2019
Hello! Just specify display range. Use imshow(img_r, [0 255]) instead.
I've checked it.
img = imread('giraffe.png');
img = rgb2gray(img);
J = dct2(img);
J(abs(J) < 100) = 0;
img_r = idct2(J);
imshow(img_r, [0 255])
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!