Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo agregar la función de codificación Huffman (huffencode()) en matlab?

¿Cómo agregar la función de codificación Huffman (huffencode()) en matlab?

No lo he usado, pero para comprobarlo, el programa matlab viene con huffmancoding. Básicamente, necesitas

1. Descubra la escala de grises de la imagen de prueba (SIG),

2, y luego cuente la distribución de escala de grises (p),

3. Luego genere un diccionario (diccionario),

4. Entonces puedes usar la codificación huffmanenco directamente,

5. Luego continúa huffmandeco.

Lo extraño es que la codificación Huffman no es una compresión sin pérdidas, ¿por qué hay pérdida? Esperando que Daniel responda

Mira el siguiente ejemplo:

SIG = repmat([3 3 1 3 3 3 3 3 2 3], 1,50 % data to); codificar

Símbolos = [1 2 3]; % de símbolos de datos diferentes que aparecen en SIG

valor p = [0,1 0,1 0,8] % de probabilidad de cada símbolo de datos

diccionario = huffmandict(elemento de código, p); % crear

hcode = huffmanencodictionary(sig, diccionario);. % codificación

dhsig = huffmandecodata(hcode, diccionario); % código decodificado.