PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas...
-
Upload
taina-de-sena -
Category
Documents
-
view
214 -
download
1
Transcript of PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas...
![Page 1: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/1.jpg)
PROCESSAMENTO DIGITAL DE IMAGENS
Prof. Dr. Edison Oliveira de Jesus
Instituto de Ciências ExatasDepartamento de Matemática e
Computação
![Page 2: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/2.jpg)
Assuntos a serem abordados nesta aula
• Compressão de Imagens– Método de Huffman
![Page 3: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/3.jpg)
Método de Huffman
• A idéia é usar caracteres (símbolos) com um núme-ro variável de bits
• Caracteres mais freqüentes na mensagem são codi-ficados com menos bits e caracteres menos fre-qüentes são codificados com mais bits ;
![Page 4: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/4.jpg)
Codificação dos Símbolos
•Considere um alfabeto composto de quatro símbolos: A, B, C, D
•a cada um dos símbolos foi atribuído o código como indicado na tabela a seguir:
Símbolo CódigoA 00
B 01
C 10
D 11
![Page 5: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/5.jpg)
Freqüência dos Símbolos
•A mensagem ABCADCA seria codificada com comprimento de 14 bits e ficaria: 00011000111000
•A Tabela a seguir mostra a freqüência de cada símbolo na mensagem
Símbolo FreqüênciaA 3
B 1
C 2
D 1
![Page 6: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/6.jpg)
Algoritmo de Huffman
• O objetivo do algoritmo é criar um código que minimize o comprimento da mensagem
• Para criar este código leva-se em conta a fre-qüência de cada símbolo na mensagem
![Page 7: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/7.jpg)
Nova Codificação dos Símbolos•Desta tabela, verifica-se que se for atribuído ao símbolo A um código binário mais curto que os atribuídos aos símbolos B e D tem-se uma mensagem menor.
•Isto provém do fato que o símbolo A aparece mais vezes do que os símbolos B e D.
•Seja então, os seguintes códigos atribuídos aos símbolos, conforme mostra a tabela seguinte:
Símbolo CódigoA 0
B 110
C 10
D 111
![Page 8: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/8.jpg)
Resultado da Codificação
• Usando este novo código para os símbolos, a mensagem, ABCADCA ficaria com 13 bits, e da seguinte forma: 0110100111100
• Em mensagens longas com mais símbolos menos freqüentes, o ganho pode ser maior;
• Um dos requerimentos deste código é que nenhum código seja prefixo de outro, pois a decodificação é feita da esquerda para direita;
![Page 9: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/9.jpg)
Decodificação
• O processo para a decodificação da mensagem deve ser iniciado da esquerda para a direita;
• caso o primeiro bit seja 0, o código corresponde ao símbolo A.
• caso contrário deve-se continuar a examinar os bits restantes.
• se o segundo bit for 0 o símbolo é um C, caso contrário examina-se o terceiro bit, um 0 indica um B e D no outro caso.
![Page 10: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/10.jpg)
Árvore de Huffman
• A árvore é iniciada com os dois símbolos que aparecem com menor freqüência no conjunto de dados; no exemplo: B e D;
• Atribuí-se o código 0 para B e o código 1 para D.;
• Combine estes dois símbolos em um único, formando a cadeia BD;
• Este novo símbolo terá freqüência igual a soma das freqüências dos símbolos que a formam, ou seja, B e D; no caso 2;
• Tem-se agora os seguintes símbolos A (3), C (2) e BD (2);
![Page 11: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/11.jpg)
• os números entre parênteses indicam as freqüências dos dados no conjunto;
• Novamente deve-se escolher os símbolos de menor freqüência no novo conjunto de símbolos; no caso são C e BD;
• Atribuí-se o código 0 ao símbolo C e 1 ao BD;
• Isto significa adicionar 1 aos códigos de B e D, que passam a valer 10 e 11 respectivamente;
• Os dois símbolos são combinados originando o sím-bolo CBD, de freqüência 4;
• Tem-se agora dois símbolos A (3) e CBD (4);
• Atribuí-se 0 ao símbolo A e 1 ao símbolo CBD;
![Page 12: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/12.jpg)
• O símbolo ACBD é o único símbolo restante e recebe o código NULL de comprimento 0. ;
• A figura a seguir mostra a árvore binária que pode ser construída a partir deste exemplo;
• Cada nó representa um símbolo e sua freqüência.
![Page 13: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/13.jpg)
Árvore de Huffman Obtida
![Page 14: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/14.jpg)
Outro Exemplo de Codificação de Huffman
A tabela ao lado mostra um conjunto de dados e suas respectivas freqüên-cias de ocorrências no total.
125Freq
9380767271
61554140
EChar
TAOIN
RHLD
3127
CX
65S
FreqChar
![Page 15: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/15.jpg)
R S N I
E
H
C X
31 27
5571 7361 65
125
40
T
D L
41
93
A O
80 76
Exemplo de Codificação de Huffman
![Page 16: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/16.jpg)
R S N I
E
H
C X
58
D L
A O T
31 27
5571 7361 65
125
40 41
9380 76
![Page 17: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/17.jpg)
R S N I
E
H
C X
58
D L
81
A O T
31 27
5571 7361 65
125
40 41
9380 76
![Page 18: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/18.jpg)
R S N I
E
H
C X
58
113
D L
81
A O T
31 27
5571 7361 65
125
40 41
9380 76
![Page 19: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/19.jpg)
R S N I
E
H
C X
58
113126
D L
81
A O T
31 27
5571 7361 65
125
40 41
9380 76
![Page 20: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/20.jpg)
R S N I
E
H
C X
58
113144126
D L
81
A O T
31 27
5571 7361 65
125
40 41
9380 76
![Page 21: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/21.jpg)
R S N I
E
H
C X
58
113144126
D L
81
156
A O T
31 27
5571 7361 65
125
40 41
9380 76
![Page 22: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/22.jpg)
R S N I
E
H
C X
58
113144126
D L
81
156 174
A O T
31 27
5571 7361 65
125
40 41
9380 76
![Page 23: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/23.jpg)
R S N I
E
H
C X
58
113144126
238
T
D L
81
156 174
A O
31 27
5571 7361 65
125
40 41
9380 76
![Page 24: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/24.jpg)
R S N I
E
H
C X
58
113144126
238270
T
D L
81
156 174
A O
31 27
5571 7361 65
125
40 41
9380 76
![Page 25: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/25.jpg)
R S N I
E
H
C X
58
113144126
238270
330
T
D L
81
156 174
A O
31 27
5571 7361 65
125
40 41
9380 76
![Page 26: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/26.jpg)
R S N I
E
H
C X
58
113144126
238270
330 508
T
D L
81
156 174
A O
31 27
5571 7361 65
125
40 41
9380 76
![Page 27: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/27.jpg)
R S N I
E
H
C X
58
113144126
238270
330 508
838
T
D L
81
156 174
A O
31 27
5571 7361 65
125
40 41
9380 76
Codificação Final de Huffman
![Page 28: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/28.jpg)
Exemplo de Codificação de Huffman
125Freq
9380767371
61554140
EChar
TAOIN
RHLD
3127
CX
65S
0000Fixo
00010010001101000101
011110001001101010111100
0110
110Huff
011000001
10111010
1000111101010100
1110011101
1001
838Total 4.00 3.62
A tabela ao lado mostra o resultado final da aplicação do método de Huffman para codificação.
Na penúltima coluna são mostrados os 4 bits que codificam os caracteres mostrados na primeira coluna.
Na última coluna, a codificação correspon-dente ao código de Huffman.
No total tem-se um alfabeto de 838 símbo-los;
Quando representados por 4 bits, o tama-nho médio da representação é 4 bits;
Na codificação por Huffman, tem-se um total de 3036 bits, os quais dão uma média de 3.62 bits ( 3036 / 838 ) para representar um símbolo, o que dá uma redução de 10 %
![Page 29: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/29.jpg)
Implementação
Uma árvore binária pode ser utilizada para representar os dados na implementação do algoritmo de Huffman
![Page 30: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/30.jpg)
Nó da árvore
• Cada nó desta árvore, contém:– o símbolo do conjunto;– a freqüência de ocorrência deste símbolo;– um ponteiro para o filho esquerdo do nó;– um ponteiro para o filho direito do nó;
Esquerdo Direito Valor
Freqüência
![Page 31: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/31.jpg)
Algoritmo de Huffman
• PASSO 1:
• Os valores a serem codificados devem ser inicial-mente armazenados numa lista ligada simples.
• Cada nó desta lista deverá conter as seguintes in-formações:– Símbolo – Freqüência do símbolo;– Endereço do próximo nó da lista;– Endereço da árvore de Huffman, correspondente àquele
nó;
![Page 32: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/32.jpg)
Estrutura do nó da lista dos símbolos iniciais
Endereço da raiz da árvore de Huffman deste nó
Próximo nóValor
Freqüência
![Page 33: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/33.jpg)
Algoritmo de Huffman
• Passo 2:
• Busca-se os 2 símbolos com as menores fre-qüências;– os nós destes símbolos são deletados da lista;– em seu lugar, apenas um novo nó é inserido:
• este nó não armazena símbolo;• no lugar da freqüência, é colocado a soma das fre-
qüências dos símbolos que ele está substituindo;• a árvore de Huffman é montada para os nós deletados
e seu endereço é colocado no nó substituto da lista principal.
![Page 34: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/34.jpg)
Exemplo de Codificação de Huffman
R S N I E HC X
31 27 5571 7361 65 12540
TD L
41 93
A O
80 76
Seja a lista inicial formada pelos nós, dos símbolos mostrados no exemplo anterior:
![Page 35: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/35.jpg)
Exemplo de Codificação de Huffman
R S N I E H
C X31 27
5571 7361 65 12540
TD L
41 93
A O
80 76
Busca dos 2 nós com os menores valores de freqüência::
58
58
![Page 36: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/36.jpg)
Exemplo de Codificação de Huffman
R S N I E H
C X31 27
5571 7361 65 125
40
T
D L 41
93
A O
80 76
Busca dos 2 nós com os menores valores de freqüência::
58
58
81
81
![Page 37: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/37.jpg)
Exemplo de Codificação de Huffman
R S N I E
H
C X31 27
55
71 7361 65 125
40
T
D L 41
93
A O
80 76
Busca dos 2 nós com os menores valores de freqüência::
58
113
81
81
113
![Page 38: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/38.jpg)
Exemplo de Codificação de Huffman
R S
N I E
H
C X31 27
55
71 73
61 65
125
40
T
D L 41
93
A O
80 76
Busca dos 2 nós com os menores valores de freqüência::
58
113
81
81
113
126
126
![Page 39: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/39.jpg)
Exemplo de Codificação de Huffman
R S N I
E
H
C X31 27
5571 7361 65
125
40
T
D L
41
93
A O
80 76
Busca dos 2 nós com os menores valores de freqüência::
58
113
81
81
113126
126
144
126
![Page 40: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/40.jpg)
Exemplo de Codificação de Huffman
R S N I
E
H
C X31 27
5571 7361 65
125
40
T
D L
41
93
A O80 76
Busca dos 2 nós com os menores valores de freqüência::
58
113
81
81
113126
126
144
144
156
156
![Page 41: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/41.jpg)
Exemplo de Codificação de Huffman
R S N I
E
H
C X31 27
5571 7361 65
125
40
T
D L41
93A O80 76
Busca dos 2 nós com os menores valores de freqüência::
58
238
81
113126
126
144
144
156
156
174
174
238
![Page 42: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/42.jpg)
Exemplo de Codificação de Huffman
R S N I
E
H
C X31 27
55
71 7361 65
125
40
T
D L41
93A O80 76
Busca dos 2 nós com os menores valores de freqüência::
58
238
81
113
126 144
270
156
156
174
174
238
270
![Page 43: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/43.jpg)
Exemplo de Codificação de Huffman
R S N I
E
H
C X31 27
55
71 7361 65
125
40
T
D L41
93
A O80 76
Busca dos 2 nós com os menores valores de freqüência::
58
238
81
113
126 144
270
156 174
330
238
270330
![Page 44: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/44.jpg)
Exemplo de Codificação de Huffman
R S N I
E
H
C X31 27
55
71 7361 65
125
40
T
D L41
93
A O80 76
58
508
81
113
126 144
156 174
330
238
270330
508
![Page 45: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/45.jpg)
Árvore final da
Codificação de Huffman
R S N I
E
H
C X
58
113144126
238270
330 508
838
T
D L
81
156 174
A O
31 27
5571 7361 65
125
40 41
9380 76
Endereço da lista inicial
![Page 46: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/46.jpg)
Codificação dos símbolos
• O último passo é a busca das folhas da árvore;
• Como a árvore é binária, a partir de sua raiz, cada nó tem um filho esquerdo, codificado como 0, e um filho direito codificado como 1;
• Os símbolos originais estão como folhas desta árvo-re;
• A codificação de um símbolo corresponde aos digi-tos binários obtidos desde a raiz da árvore até a fo-lha onde o símbolo se encontra;
![Page 47: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/47.jpg)
Árvore final da
Codificação de Huffman
R S N I
E
H
C X
58
113144126
238270
330 508
838
T
D L
81
156 174
A O
31 27
5571 7361 65
125
40 41
9380 76
Endereço da lista inicial
0
0
00
00
0
0
0
0
0
0
1
1
1
1
1
1 1
1
1 1
1
1
![Page 48: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/48.jpg)
Códigos dos Símbolos
125Freq
9380767371
61554140
EChar
TAOIN
RHLD
3127
CX
65S
110Huff
01100000110111010
1000111101010100
1110011101
1001
![Page 49: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/49.jpg)
Árvore de Huffman• Cada árvore criada com a junção de dois ou mais
nós da lista original com o objetivo de criar a árvore de Huffman é do tipo HEAP
• Nesta árvore, a cada nova informação adicionada a ela, deve fazê-lo de tal forma que os nós vão sendo completados em seqüência, ou seja, primeiro o filho esquerdo, depois o filho direito.
• Após uma informação ter sido adicionada à árvore, deve-se ajustar sua posição na mesma de tal forma que todos os filhos de um nó sejam menores que o seu pai;
![Page 50: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/50.jpg)
Exemplo de árvore Heap
31 27 5571 7361 65 12540 41 9380 76
Seja um conjunto de valores, com os quais deseja-se montar a respectiva árvore Heap:
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
![Page 51: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/51.jpg)
Exemplo de árvore Heap80
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
O primeiro valor é inserido na árvore;Como está vazia, este valor entra como a raiz da árvore
![Page 52: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/52.jpg)
Exemplo de árvore Heap80
76
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 53: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/53.jpg)
Exemplo de árvore Heap80
7640
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 54: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/54.jpg)
Exemplo de árvore Heap80
7640
41
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 55: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/55.jpg)
Exemplo de árvore Heap80
7640
41 93
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 93 com nó 76
![Page 56: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/56.jpg)
Exemplo de árvore Heap80
9340
41 76
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 93 com nó 80
![Page 57: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/57.jpg)
Exemplo de árvore Heap93
8040
41 76
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 58: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/58.jpg)
Exemplo de árvore Heap93
8040
41 76 61
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 61 com nó 40
![Page 59: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/59.jpg)
Exemplo de árvore Heap93
8061
41 76 40
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 60: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/60.jpg)
Exemplo de árvore Heap93
8061
41 76 6540
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 65 com nó 61
![Page 61: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/61.jpg)
Exemplo de árvore Heap93
8065
41 76 6140
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 62: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/62.jpg)
Exemplo de árvore Heap93
8065
41 76 6140
71
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 71 com nó 41
![Page 63: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/63.jpg)
Exemplo de árvore Heap93
8065
71 76 6140
41
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 64: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/64.jpg)
Exemplo de árvore Heap93
8065
71 76 6140
7341
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 73 com nó 71
![Page 65: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/65.jpg)
Exemplo de árvore Heap93
8065
73 76 6140
7141
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 66: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/66.jpg)
Exemplo de árvore Heap93
8065
73 76 6140
1257141
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 125 com nó 76
![Page 67: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/67.jpg)
Exemplo de árvore Heap93
8065
73 125 6140
767141
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 125 com nó 80
![Page 68: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/68.jpg)
Exemplo de árvore Heap93
12565
73 80 6140
767141
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 125 com nó 93
![Page 69: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/69.jpg)
Exemplo de árvore Heap125
9365
73 80 6140
767141
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 70: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/70.jpg)
Exemplo de árvore Heap125
9365
73 80 6140
76 317141
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 71: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/71.jpg)
Exemplo de árvore Heap125
9365
73 80 6140
76 31 277141
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
todos nós estão ajustados
![Page 72: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/72.jpg)
Exemplo de árvore Heap125
9365
73 80 6140
76 31 27 557141
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
Ajustar nó 55 com nó 40
![Page 73: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/73.jpg)
Exemplo de árvore Heap125
9365
73 80 6155
76 31 27 407141
Valores iniciais: 80 76 40 41 93 61 65 71 73 125 31 27 55
![Page 74: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/74.jpg)
Detalhes da Implementação
• São necessárias as seguintes rotinas para a implementação da lista original:
– rotina cria_nó – rotina insere_nó– rotina deleta_nó– rotina percorre_lista– rotina busca_menor_valor_lista
![Page 75: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/75.jpg)
Detalhes da Implementação
• São necessárias as seguintes rotinas para a implementação da árvore Heap:
– rotina cria_nó – rotina insere_filho_esquerdo– rotina insere_filho_direito– rotina monta_heap– rotina ajusta_nó– rotina busca_folhas
![Page 76: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação.](https://reader036.fdocument.pub/reader036/viewer/2022062818/5706384d1a28abb8238f6dd0/html5/thumbnails/76.jpg)