processamento digital de imagens prof. dr. edison oliveira de jesus instituto de ciências exatas...

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

Upload: taina-de-sena

Post on 07-Apr-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

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