JPEG Image compression using Huffman encoding and decoding

10 次查看(过去 30 天)
Hi everyone,
i would need some help, im trying to encode a JPEG Image using Huffman coding. i know Matlab has huffmanenco, huffmandict functions. i tried both methods, doesn't work, because the problem is :
Matlab read Images as Matrix. While the function huffmanenco & huffmandict only accept inputs in vector. So it gives me the error saying : "Input must be a Vector" or sort like that.
But it doesn't work as well. or at least i still dont know the input for codewords.
im still working on it.
anyone can help ?
  2 个评论
omar
omar 2012-12-7
(zigzag scan) this function transforms the matrix to vector but this is not it's main purpose which is to to group low frequency coefficients in top of vector.you cannot find this function in matlab directly here u are go to that link http://www.mathworks.com/matlabcentral/fileexchange/15317-zigzag-scan/content/zigzag/zigzag.m
copy this code i a new m-file and save it and then add it's path to matlab path now u can use zigzag function
Walter Roberson
Walter Roberson 2012-12-7
zigzag is not relevant for huffman encoding. huffman encoding depends upon actual probability distribution, by analyzing all occurrences of the symbols, and so is not sensitive to the order of the symbols.

请先登录,再进行评论。

回答(2 个)

Walter Roberson
Walter Roberson 2012-12-5
So reshape() the matrix as a vector. Include the array sizes in what you send. At the decoding stage, decode the vector, extract the array sizes, and reshape() what is left according to the sizes.

Said BOUREZG
Said BOUREZG 2015-2-27
Here in my code you can find the steps to compress it's not a Jpeg but it have the same idea and I use the Huffman coding, take a look and I'm here if you want any explication: DCT Based on Image Compression

类别

Help CenterFile Exchange 中查找有关 Denoising and Compression 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by