76
PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação

PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação

Embed Size (px)

Citation preview

Page 1: PROCESSAMENTO DIGITAL DE IMAGENS Prof. Dr. Edison Oliveira de Jesus Instituto de Ciências Exatas Departamento de Matemática e Computação

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

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

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

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

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

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

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

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

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

Á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

• 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

• 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

Á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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Á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

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

Á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

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

Á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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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