how wa can discard 75% of small coefficients after get the DCT conversion of each image block?
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, i want to do this step on one image but i don't know how i can discard 75% of smal coefficients after get the DCT, please help me .
Can i do this without using for and if?
step:
Divide the input image into smaller blocks with dimensions nXn.
Get the DCT conversion of each image block.
Discard 75% of small coefficients.
Recreate and view the image
my code:
im=imread('s1.jpg');
im = rgb2gray(im);
figure;
imshow(im)
title('Original image');
img_dct=dct2(im);
figure;
imagesc(img_dct);
colormap(gray);
im_dct=idct2(img_dct);
title('DCT Compress Image');
figure;
imagesc(im_dct);
colormap(gray);
0 Kommentare
Antworten (1)
Jonas
am 30 Mai 2021
Bearbeitet: Jonas
am 30 Mai 2021
use the
Y = prctile(block,75,'all')
command to get the 75% percentile, you can then set all values smaller than this threshold to 0 by
block(block<=Y)=0;
3 Kommentare
Siehe auch
Kategorien
Mehr zu Convert Image Type finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!