How I can know the size of a quantized image
2 ビュー (過去 30 日間)
古いコメントを表示
I designed a simple uniform quantizer, it is a part of project, I used 'leena.jpg' image the original size is about 65.8 KB, after running this code:
img = imread('leena.jpg');
figure(1)
imshow(img)
[m,n] = size(img);
M = 8; K = 256/M;
for i = 1:m
for j = 1:n
quant_img(i,j) = floor(img(i,j)/K) * K + (K/2);
end
end
figure(2)
imshow(quant_img)
-----------------
It is clear the image quality reduced, but when I save the two figures (the original and the quantized) as jpg format, I got 14.4 KB for the original and 16.5 KB for the quantized image! When I increase the number of levels (M = 32) the size decrease to 14.8 KB! Why the size of the image is decreasing with increasing the number of levels!! It should be the reverse, right?
0 件のコメント
採用された回答
Image Analyst
2016 年 2 月 15 日
It's a moot question because you should not even be using jpg. Use PNG instead. It will be bigger but at least you won't have JPG artifacts because it's lossless compression, and pretty much the new standard that most people use.
7 件のコメント
Image Analyst
2016 年 2 月 15 日
You're probably saving the figure window itself, rather than just the image. The figure will include things like gray background, tick marks, annotations in the graphical overlay, etc.
Use imwrite() rather than saveas().
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Computer Vision with Simulink についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!