i want to know how to find the size of original image & compressed image..
Show older comments
I want to find the size of compressed and original images size after applying FFT or DCT or PCA.Kindly if anyone have idea about it please share it with me.Thanks in advance.
p=imread('picture.jpg');
a=imresize(p,[100,100]);
%DCT
Z(:,:,1)=dct2(a(:,:,1));
Z(:,:,2)=dct2(a(:,:,2));
Z(:,:,3)=dct2(a(:,:,3));
for i=1:100
for j=1:100
if((i+j)>60)
Z(i,j,1)=0;
Z(i,j,2)=0;
Z(i,j,3)=0;
end
end
end
K(:,:,1)=idct2(Z(:,:,1));
K(:,:,2)=idct2(Z(:,:,2));
K(:,:,3)=idct2(Z(:,:,3));
subplot(2,4,1);
%imshow(Z);
imshow(uint8(K));
title('70% compression');
How can we find the size of the '70%' compressed image i.e K ?
Accepted Answer
More Answers (2)
chitresh
on 7 Dec 2013
0 votes
original file size = (width* height*bit depth)/8;
and you can get compressed file size from imfinfo('imagefile'); and rest parameters to like width , height and bitdepth
4 Comments
azizullah khan
on 7 Dec 2013
chitresh
on 10 Dec 2013
use the command
imfinfo('Filename'),
the file size you see here is the compressed size
chitresh
on 15 Dec 2013
dear if your problem is solved then please accept the answer
azizullah khan
on 29 Jan 2014
Edited: azizullah khan
on 29 Jan 2014
Daniel Glez
on 17 Nov 2016
Hello! I would like to add a note here:
Be careful and check that you haven't registered into your workspace a variable named "sum". In that case this error also appears. It happened to me while computing MSE and PSNR in a matrix substraction like follows:
mse = sum(sum((I-I64).^2))/(m*n)
PSNR = 10*log(max(I(:))/sqrt(mse))
OUT:
Subscript indices must either be real positive
integers or logicals.
Error in mse_psnr (line 11)
mse = sum(sum((I-I64).^2))/(m*n)
Thanks to all.
Categories
Find more on Denoising and Compression in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!