JPEG Image compression using Huffman encoding and decoding

17 views (last 30 days)
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 Comments
omar
omar on 7 Dec 2012
(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 on 7 Dec 2012
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.

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 5 Dec 2012
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 on 27 Feb 2015
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

Categories

Find more on Denoising and Compression in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!