Каков наилучший способ хранения кода Хаффмана в MATLAB? , например:Как хранить коды Хаффмана с низким объемом в матрице?
letters = [1:6]; % Distinct symbols the data source can produce
p = [.5 .125 .125 .125 .0625 .0625]; % Probability distribution
[dict,avglen] = huffmandict(letters,p); % Get Huffman code.
sig = randsrc(1,20,[letters; p]) % Create data using p.
comp = huffmanenco(sig,dict) % Encode the data.
-> save('file.mat','comp','dict');
-> clear all;
-> load('file.mat');
deco = huffmandeco(comp,dict) % Decode the encoded signal.
Но функция сохранения не хранит данные в малом объеме. Я использовал функцию dlmwrite, но сохраненный том высок. В других методах, таких как код Хаффмана в изображениях JPEG, как делается хранение? Как вы знаете, код Huffman используется для сжатия изображений JPEG. Как Хаффман вводит код в [imwrite (mat, 'mat.jpeg)], хранящемся на диске?
thank.How я могу найти сохранить метод сжатия изображения JPEG. – omid
мм Пожалуйста, можете ли вы переформулировать этот вопрос? Я не понимаю, извините. Вы имеете в виду просто сохранить его? то вам не нужно ничего менять в коде, просто конвертируйте переменную comp в логическую, чтобы сохранить память (обратите внимание, что у сохраненных архивов есть заголовок, который может заставить их казаться больше. Если вы хотите увидеть большую разницу, вы должны создать sig 500x500 или около того) –