compression and decompresion
5 次查看(过去 30 天)
显示 更早的评论
I have a code foe compressing a image
a is input image
singvals=20 ;
%a=imread('15.jpg');
dvalue=double(a);
[u,s,v] = svds(dvalue, singvals);
if isa(a,'uint8')
im = uint8(u * s * transpose(v));
% end
elseif isa(a,'uint16')
im = uint16(u * s * transpose(v));
%end
elseif isa(a,'double')
im = (u * s * transpose(v));
else im = (u * s * transpose(v));
end
please tell how todecompress an image
please help
0 个评论
回答(3 个)
Jan
2012-3-13
This method of compressing works by deleting of "unnecessary" details. If these details are deleted, you cannot reconstruct them afterwards. Therefore there is no way to "decompress" the result to reconstruct the original.
6 个评论
Walter Roberson
2012-3-15
ebcot is part of JPEG 2000, which has an unclear legal status that cannot be investigated without agreeing to the license terms. If the agreement said that you owed them 95% of your first decade of post-graduate salary, you would not be able to find out out without signing the agreement before being allowed to read it.
Walter Roberson
2012-3-15
The array "im" that is calculated by the routine is the (lossy) decompressed image.
8 个评论
Jan
2012-3-18
The maximum line length in M-code and inside EVAL commands was discussed here: http://www.mathworks.com/matlabcentral/newsreader/view_thread/288439
Walter Roberson
2012-3-18
Ah, so post 6.5, the shortest line that had problems was my test on 2008b Linux-64 with +0 repmat 40050 times, which would be 80000 characters. I knew I remembered "40000" in there somewhere!
Jan
2012-3-18
A short JPEG compression:
img = rand(100, 100, 3);
imwrite(img, 'File.jpg'); % Compressed image
decompressed = imread('File.jpg');
What's wrong with using imwrite as compressor? svds is neither "more direct" or "more trivial".
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!