You are on page 1of 331

MARQUES FILHO, Og; VIEIRA NETO, Hugo.

Processamento Digital de Imagens, Rio de Janeiro:


Brasport, 1999. ISBN 8574520098.




Processamento
Digital de Imagens















Og Marques Filho
Hugo Vieira Neto







1999
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.










minha esposa Fabiana, pelo apoio incondicional e permanente.
Og Marques Filho










minha famlia e meus verdadeiros amigos.
Hugo Vieira Neto

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
ii

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Agradecimentos
Inmeras pessoas colaboraram, direta ou indiretamente para a concretizao deste projeto e a
elas dedicamos nossa eterna gratido.
Editora Brasport, em especial ao Sr. Srgio Martins, pela confiana depositada na
importncia deste trabalho e na seriedade de seus autores.
Ao Sr. Joaquim Guerreiro, da Guerreiro Livros Tcnicos de Curitiba, amigo de longa
data, pela sua generosidade e pelo apoio decisivo para a materializao desta obra.
Aos familiares e verdadeiros amigos que apoiaram esta e outras iniciativas, nosso
sincero reconhecimento.
Aos professores e orientadores do Philips International Institute, Philips Research
Laboratories e Delft University of Technology, particularmente Bart de Greef, D. E. Boekee e
Harald Ihle, por terem guiado nossos primeiros passos nesta rea de estudo e pesquisa, nossa
sincera gratido.
Nosso agradecimento a todos os colegas docentes do Centro Federal de Educao
Tecnolgica do Paran - CEFET-PR, em especial a lvaro Stelle, Maria Gertrudes Te
Vaarwerk, Paulo Roberto Brero de Campos e Walter Godoy Junior, e particularmente ao
colega Humberto Remigio Gamba, pela paciente reviso dos originais.
A outros autores que nos inspiraram a trilhar o mesmo rumo, dentre eles: Borko
Furht, Juarez do Nascimento, Raul Marques Pereira Friedmann e Volnei Antonio Pedroni.
Ao apoio das bibliotecrias Arlene de Oliveira Dias, Mrcia Andreiko e Marilene do
Rocio Veiga.
Agradecemos de forma especial aos alunos e ex-alunos que dedicaram seus esforos
na pesquisa e implementao de tcnicas de Processamento Digital de Imagens, dentre eles:
Aderbal Paz, Alex Holztratner, Alsemiro Alves Junior, Augusto Serbena, Carlos Alberto
Jayme, Carlos Alberto Zanella, Ciro de Carvalho Braga, Cludio Navarro, Dalton Roberto
Maran Salvatti, Daniel Gri Palka, Diego de Alves e Souza, Domingo Edmundo Saucedo,
Edson Luis Morais, Eduardo Nascimento de Freitas, Eduardo Saito, Emanuel-Werner
Kohlscheen, Emerson Kamogari, Emerson Luis Parolin, Fabiana Leskiu Marques, Fabio Luis
Ur, Fbio Luiz de Andrade, Fbio Morais da Costa, Gilson Yukio Sato, Hlio Okuyama,
Horst Lindner Junio, Ildio Dinis Matola, Jefferson Osowsky, Joo Cadamuro Junior, Julio
Fujisawa, Leonardo Carvalho Neto, Luiz Renato Quinalha, Manoel Garbuio de Souza,
Marcelo Diogo dos Santos, Marcelo Mazzotti, Marcelo Monteiro, Marcos Alberto Lopes,
Marcos Francisco Canali, Maurcio Hadime Suzuki, Otvio Sugeno, Ricardo Schmidlin
Imbiriba, Rodrigo Nasts Acras, Sacha Tadeu Branco, Srgio Kubo, Srgio L. Rocha Loures,
Sergio Luis Resnauer, Silvio Cezar Bortolini, Simone Crocetti Pereira, Wilson Kawano e
Zundir Buzzi Junior.

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
iv



































MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Sumrio
Prefcio xix
Captulo 1 Introduo 1
1.1 Processamento de Imagens: breve histrico e exemplos de
aplicaes 1
1.2 Um sistema de processamento de imagens e seus componentes 2
1.3 O sistema visual humano 5
1.4 Sistemas de Viso Artificial: fundamentos e desafios 7
1.5 Estrutura e escopo do livro 11
Exerccios Propostos 11
Na Internet 11
Bibliografia 15
Bibliografia Recomendada 16
Captulo 2 - Fundamentos de Imagens Digitais 19
2.1 Aquisio e digitalizao de imagens 19
2.2 Propriedades de uma imagem digital 25
2.3 Operaes lgicas e aritmticas 28
2.4 Operaes de convoluo com mscaras 34
2.5 Transformaes geomtricas 42
Exerccios Propostos 48
No computador 51
Na Internet 51
Bibliografia 52
Captulo 3 - Tcnicas de Modificao de Histograma 55
3.1 Conceito de histograma 55
3.2 Transformaes de intensidade 59
3.3 Equalizao de histograma 61
3.4 Especificao direta de histograma 65
3.5 Outras tcnicas 68
3.6 Limiarizao (Thresholding) 71

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
vi
Exerccios Propostos 77
No computador 79
Na Internet 79
Bibliografia 80
Captulo 4 - Filtragem, Realce e Suavizao de Imagens 83
4.1 Consideraes iniciais 83
4.2 Suavizao de imagens no domnio espacial 85
4.3 Realce de imagens no domnio espacial 95
4.4 Transformada de Fourier 99
4.5 Filtragem no domnio da freqncia 108
4.6 Processamento de imagens coloridas 118
4.7 Filtros adaptativos 126
Exerccios Propostos 133
No computador 134
Na Internet 135
Bibliografia 136
Captulo 5 - Morfologia Matemtica 139
5.1 Introduo 139
5.2 Dilatao e Eroso 139
5.3 Abertura e Fechamento 143
5.4 Transformao hit-or-miss 147
5.5 Algoritmos morfolgicos bsicos 148
Exerccios Propostos 163
No computador 164
Na Internet 164
Bibliografia 164
Captulo 6 - Compresso e Codificao de Imagens 167
6.1 Fundamentos 167
6.2 Modelos de compresso de imagem 172
6.3 Elementos de Teoria da Informao 175
6.4 Compresso sem perdas 180

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
vii
6.5 Compresso com perdas 192
6.6 Padres de compresso de imagens 197
Exerccios Propostos 219
No computador 221
Na Internet 221
Bibliografia 222
Captulo 7 - Aspectos prticos de hardware e software para
processamento de imagens 225
7.1 O hardware 225
7.2 O software 232
Na Internet 239
Bibliografia 240
Apndice A - Formatos de arquivos de imagens 243
A.1 Representao atravs de bitmaps e atravs de vetores 243
A.2 Formatos de Arquivos de Imagem 244
Na Internet 261
Bibliografia 262
Apndice B - Roteiros de laboratrio de processamento de
imagens 263
B.1 Conceitos Introdutrios 263
B.2 Utilizando o MATLAB 263
B.3 Comandos e Funes da Toolbox de Processamento de
Imagens 267
B.4 Roteiros de prticas de laboratrio 271
Na Internet 298
Bibliografia 298
Glossrio 299

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
viii

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Contedo
Prefcio xix
Captulo 1 Introduo 1
1.1 Processamento de Imagens: breve histrico e exemplos de
aplicaes 1
1.2 Um sistema de processamento de imagens e seus componentes 2
1.2.1 Aquisio 2
1.2.2 Armazenamento 2
1.2.3 Processamento 3
1.2.4 Transmisso 4
1.2.5 Exibio 4
1.3 O sistema visual humano 5
1.4 Sistemas de Viso Artificial: fundamentos e desafios 7
1.4.1 Estrutura de um Sistema de Viso Artificial 9
1.4.2 Domnio do problema e resultado 9
1.4.3 Aquisio da imagem 9
1.4.4 Pr-processamento 9
1.4.5 Segmentao 10
1.4.6 Representao e Descrio 10
1.4.7 Reconhecimento e Interpretao 10
1.4.8 Base de Conhecimento 10
1.5 Estrutura e escopo do livro 11
Exerccios Propostos 11
Na Internet 11
Bibliografia 15
Bibliografia Recomendada 16
Captulo 2 - Fundamentos de Imagens Digitais 19
2.1 Aquisio e digitalizao de imagens 19
2.1.1 Aquisio 21
2.1.2 Digitalizao 22
2.2 Propriedades de uma imagem digital 25

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
x
2.2.1 Vizinhana 25
2.2.2 Conectividade 26
2.2.3 Adjacncia 27
2.2.4 Caminho 27
2.2.5 Medies de distncia 27
Distncia Euclidiana 27
Distncia D
4
(city-block) 27
Distncia D
8
(tabuleiro de xadrez) 27
2.3 Operaes lgicas e aritmticas 28
2.3.1 Operaes aritmticas pixel a pixel 29
2.3.2 Operaes lgicas pixel a pixel 31
2.3.3 Operaes orientadas a vizinhana 33
2.4 Operaes de convoluo com mscaras 34
2.4.1 Deteo de pontos isolados 37
2.4.2 Deteo de linhas 37
2.4.3 Deteo de bordas 37
2.5 Transformaes geomtricas 42
2.5.1 Ampliao e reduo (zoom) 42
2.5.2 Alteraes de dimenses (scaling e sizing) 42
2.5.3 Translao 44
2.5.4 Rotao 44
2.5.5 Espelhamento (Flip) 45
2.5.6 Warping 45
2.5.7 Cropping, cutting e pasting 47
Exerccios Propostos 48
No computador 51
Na Internet 51
Bibliografia 52
Captulo 3 - Tcnicas de Modificao de Histograma 55
3.1 Conceito de histograma 55
3.2 Transformaes de intensidade 59
3.3 Equalizao de histograma 61
3.4 Especificao direta de histograma 65

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xi
3.5 Outras tcnicas 68
3.5.1 Hiperbolizao 69
3.5.2 Hiperbolizao quadrtica 69
3.5.3 Expanso de histograma (Input cropping) 70
3.5.4 Compresso de histograma (Output cropping) 70
3.6 Limiarizao (Thresholding) 71
3.6.1 Influncia da iluminao 74
3.6.2 Limiarizao pelas propriedades estatsticas da imagem 75
Exerccios Propostos 77
No computador 79
Na Internet 79
Bibliografia 80
Captulo 4 - Filtragem, Realce e Suavizao de Imagens 83
4.1 Consideraes iniciais 83
4.1.1 Filtragem no domnio espacial 83
4.1.2 Filtragem no domnio da freqncia 84
4.2 Suavizao de imagens no domnio espacial 85
4.2.1 Introduo 85
4.2.2 Filtro da mdia 86
4.2.3 Filtro da mediana 90
4.2.4 Outros filtros 93
Mdia de mltiplas imagens 93
Mdia dos k vizinhos mais prximos 94
4.3 Realce de imagens no domnio espacial 95
4.3.1 Filtro passa-altas bsico 95
4.3.2 Realce por diferenciao 96
4.3.3 Filtragem high-boost 97
4.4 Transformada de Fourier 99
4.4.1 Transformada de Fourier para sinais unidimensionais (1-D)
contnuos 99
4.4.2 Transformada de Fourier para sinais bidimensionais (2-D)
contnuos 100
4.4.3 Transformada de Fourier para sinais unidimensionais (1-D)
discretos 101

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xii
4.4.4 Transformada de Fourier para sinais bidimensionais (2-D)
discretos 102
4.4.5 Propriedades da transformada de Fourier para sinais
bidimensionais (2-D) discretos 103
Separabilidade 103
Translao 104
Periodicidade e simetria conjugada 104
Distributividade 105
Rotao 105
Escala 106
Valor mdio 106
Laplaciano 107
Convoluo 107
4.4.6 A Transformada Rpida de Fourier (FFT) 107
4.5 Filtragem no domnio da freqncia 108
4.5.1 Filtro passa-baixas (FPB) 108
Filtro passa-baixas ideal 108
Filtro passa-baixas Butterworth 111
4.5.2 Filtro passa-altas (FPA) 113
Filtro passa-altas ideal 114
Filtro passa-altas Butterworth 114
4.5.3 Filtragem homomrfica 115
4.6 Processamento de imagens coloridas 118
4.6.1 Conceitos bsicos 119
4.6.2 Modelos de representao de cores 121
Modelo RGB 122
O modelo CMY 122
O modelo YIQ 122
O modelo HSI 122
4.6.3 Pseudocolorizao 124
4.6.4 Processamento de imagens coloridas full color 125
4.7 Filtros adaptativos 126
4.7.1 Introduo 126
4.7.2 Aspectos Estatsticos 126

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xiii
4.7.3 Alguns tipos de filtros adaptativos 128
Filtro de Erro Mdio Quadrtico Mnimo (MMSE - Minimum Mean-
Square Error) 128
Filtro de mdia e mediana com dupla janela (DW-MTM - Double
Window-Modified Trimmed Mean) 129
Filtro da Mediana Adaptativo (SAM - Signal Adaptive Median) 131
Exerccios Propostos 133
No computador 134
Na Internet 135
Bibliografia 136
Captulo 5 - Morfologia Matemtica 139
5.1 Introduo 139
5.2 Dilatao e Eroso 139
5.2.1 Definies bsicas 140
5.2.2 Dilatao 140
5.2.3 Eroso 142
5.3 Abertura e Fechamento 143
5.3.1 Interpretao geomtrica da abertura e do fechamento 144
5.3.2 Propriedades da abertura 144
5.3.3 Propriedades do fechamento 144
5.4 Transformao hit-or-miss 147
5.5 Algoritmos morfolgicos bsicos 148
5.5.1 Extrao de contornos 148
5.5.2 Preenchimento de regies (Region filling) 149
5.5.3 Extrao de componentes conectados 150
5.5.4 Casco convexo (Convex Hull) 151
5.5.5 Afinamento (Thinning) 153
5.5.6 Espessamento (Thickening) 155
5.5.7 Esqueletos 155
5.5.8 Poda (Pruning) 158
Exerccios Propostos 163
No computador 164
Na Internet 164

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xiv
Bibliografia 164
Captulo 6 - Compresso e Codificao de Imagens 167
6.1 Fundamentos 167
6.1.1 Redundncia de Codificao 168
6.1.2 Redundncia Interpixel 170
6.1.3 Redundncia Psicovisual 170
6.1.4 Critrios de Fidelidade 171
6.2 Modelos de compresso de imagem 172
6.2.1 O codificador e decodificador de fonte 172
6.2.2 O codificador e decodificador de canal 173
6.3 Elementos de Teoria da Informao 175
6.3.1 Medidas de informao 175
6.3.2 O canal de informao 176
6.3.3 Utilizando a Teoria da Informao 179
6.4 Compresso sem perdas 180
6.4.1 Cdigos de palavra-cdigo de comprimento varivel 180
Cdigo de Huffman 181
Cdigo de Huffman Truncado 182
Codificao Aritmtica 182
Codificao LZW (Lempel-Ziv-Welch) 185
6.4.2 Codificao bit-plane 188
Decomposio bit-plane 188
Codificao de reas constantes 189
Run-length unidimensional 189
Run-length bidimensional 190
6.4.3 Codificao Preditiva sem Perdas 190
6.5 Compresso com perdas 192
6.5.1 Codificao Preditiva com Perdas 192
Modulao Delta (DM) 193
Modulao por Codificao Diferencial de Pulsos (DPCM) 195
A etapa de quantizao 195
6.5.2 Codificao por transformadas 196
Seleo de Transformadas 196

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xv
6.5.3 Outras tcnicas 197
6.6 Padres de compresso de imagens 197
6.6.1 Padres CCITT para fac-smiles Grupo 3 e Grupo 4 198
Codificao unidimensional 198
Codificao bidimensional 198
6.6.2 JPEG 203
Caractersticas do JPEG 203
Codificador seqencial 204
DCT (Transformada Discreta de Cossenos) 204
Quantizao 205
Ordenao zig-zag 205
Codificador por entropia 205
Decodificador seqencial 206
Compresso progressiva 207
Codificao seqencial sem perdas 207
Outros aspectos do JPEG 208
6.6.3 H.261 209
Caractersticas do H.261 209
Estrutura de dados 210
Codificador 211
Decodificador 211
6.6.4 H.263 212
6.6.5 MPEG 213
Caractersticas do MPEG 1 e 2 214
Estrutura dos quadros MPEG 215
Codificao interframe 216
MPEG-4 218
MPEG-7 218
Exerccios Propostos 219
No computador 221
Na Internet 221
Bibliografia 222

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xvi
Captulo 7 - Aspectos prticos de hardware e software para
processamento de imagens 225
7.1 O hardware 225
7.1.1 Sensores 225
Sensores a vlvula 225
Sensores de estado slido (linear e de rea) 226
7.1.2 Frame grabbers / frame buffers 227
7.1.3 Arquiteturas 228
7.1.4 Dispositivos de sada 229
Monitores de vdeo 229
Impressoras 230
Plotters 231
7.1.5 Dispositivos de armazenamento 232
7.2 O software 232
7.2.1 Ttulos disponveis e classificao 233
Software para Aplicaes Cientficas 233
Software para Composio de Imagens Animadas 234
Software para Converso de Formatos 234
Software para Manipulao de Imagens 235
Software para Visualizao de Imagens 236
7.2.2 Linguagens e ambientes para desenvolvimento 237
Na Internet 239
Bibliografia 240
Apndice A - Formatos de arquivos de imagens 243
A.1 Representao atravs de bitmaps e atravs de vetores 243
A.1.1 Comparaes entre as formas de representao 243
A.1.2 Outras classes de representao 244
A.2 Formatos de Arquivos de Imagem 244
A.2.1 Arquivos de Imagens 2-D 244
A.2.2 Arquivos de Imagens 3-D 257
A.2.3 Arquivos de Animao e Vdeo 259
Na Internet 261
Bibliografia 262

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xvii
Apndice B - Roteiros de laboratrio de processamento de
imagens 263
B.1 Conceitos Introdutrios 263
B.2 Utilizando o MATLAB 263
Operadores matriciais 264
Operadores relacionais 264
Operadores lgicos 264
Caracteres especiais 264
Entrada de variveis e matrizes 265
Principais funes 266
B.3 Comandos e Funes da Toolbox de Processamento de
Imagens 267
B.4 Roteiros de prticas de laboratrio 271
Prtica 1 - Fundamentos da toolbox de processamento de imagens
do MATLAB 272
Prtica 2 - Operaes lgicas, aritmticas e estatsticas com
imagens 276
Prtica 3 - Transformaes geomtricas e verificao de nveis de
cinza de pixels 280
Prtica 4 - Mtodos ponto-a-ponto de realce e anlise de
imagens 284
Prtica 5 - Filtragem no domnio espacial 287
Prtica 6 - Filtragem no domnio da freqncia 291
Prtica 7 - Morfologia Matemtica 294
Na Internet 298
Bibliografia 298
Glossrio 299

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xviii

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Prefcio
As reas de processamento de imagens e viso por computador vm apresentando expressivo
desenvolvimento nas ltimas dcadas. Tal crescimento pode ser detetado na rea acadmica /
onde o assunto objeto de pesquisas, teses e dissertaes nas mais importantes universidades
brasileiras e mundiais /, na esfera industrial / onde a cada dia aumenta o nmero de empresas
que produzem, comercializam e utilizam solues de processamento eletrnico de imagens
em seus processos / e na vida cotidiana, com a popularizao dos computadores pessoais e
das aplicaes multimdia.
Profissionais das reas de Engenharia, Informtica, Matemtica e Fsica, dentre
outras, esto sendo reciclados para incorporarem os novos conhecimentos oriundos desta rea
e contam com pequeno nmero de referncias em portugus sobre o assunto. Alm disso, o
crescimento espantoso do uso de microcomputadores em ambientes residenciais e a
popularizao da multimdia e da Internet colaboraram ainda mais para a difuso de
informaes com forte contedo visual e, conseqentemente, despertaram tambm no
chamado 'pblico leigo' a curiosidade de conhecer melhor as tcnicas de processamento e
manipulao de imagens disponveis.
Foi por ver todo este crescente interesse em torno destes temas que este livro foi
escrito. Com ele, esperamos poder atender as expectativas dos leitores vidos por informaes
tcnicas precisas e adequadas explorao deste fantstico universo da imagem.
Sobre o contedo e filosofia do livro
Este livro resultado de resultado de quase 10 anos de experincia na docncia e
pesquisa nas reas de viso por computador e processamento de imagens e procura refletir o
resultado desta experincia, suprindo o leitor com uma obra que aborda temas clssicos e
obrigatrios relacionados a esta rea de conhecimento / permitindo sua utilizao como livro-
texto em disciplinas de graduao e ps-graduao / bem como abrindo os horizontes para a
explorao de assuntos inovadores de grande interesse tanto para aqueles que esto travando
um primeiro contato com o assunto quanto para pesquisadores da rea.
Procuramos estrutur-lo de forma didtica, clara e agradvel, incluindo grande
quantidade de imagens ilustrativas das tcnicas descritas, exemplos, exerccios resolvidos e
propostos, prticas utilizando computador e o programa MATLAB e sugestes de endereos
na Internet para maiores informaes sobre cada captulo. Por filosofia, entendemos que este
livro no deveria se limitar a compilar os principais aspectos da rea de processamento de
imagens, mas deveria ir um pouco alm, e ser tambm um guia de estudo. Por esta razo
foram empreendidos esforos para que o leitor perceba que o assunto no se esgota aqui e
para gui-lo na busca de informaes adicionais sobre cada tpico. Exemplos destes esforos
so as sees Leitur a Complementar e Na Inter net. Elas trazem indicaes bibliogrficas
precisas para um aprofundamento do assunto assim como apresentam sugestes de sites na
Internet diretamente relacionados aos temas considerados.
Ainda em funo da filosofia do livro, entendemos ser oportuno fazer algumas
ressalvas sobre seu contedo. As tcnicas de processamento de imagens descritas neste livro
trabalham fundamentalmente com imagens digitais, monocromticas e estticas, com raras
excees (fundamentos de imagens coloridas, apresentados no captulo 4 e tcnicas de
compresso de imagens coloridas e seqncias de vdeo, no captulo 6). Este livro no trata de
anlise de imagens bi- ou tridimensionais nem detalha tcnicas ticas para processamento de
imagens. As menes feitas a empresas e produtos de hardware e software so meramente
ilustrativas e no tm qualquer carter comercial. Os produtos mencionados neste livro so
marcas registradas de propriedade dos seus respectivos fabricantes.
xx
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Finalmente, o livro no traz exemplos de cdigo-fonte para a implementao dos
algoritmos descritos, mas contm inmeras referncias bibliogrficas e indicaes de
endereos na Internet para o leitor interessado.
A quem se destina
Este livro naturalmente dedicado a estudantes de graduao e ps-graduao, professores e
pesquisadores das reas de Engenharia, Informtica e correlatas, pelo contedo tcnico e
abordagem didtica dos captulos. Neste caso, houve uma preocupao em adequar seu
contedo ao programa recomendado pela Sociedade Brasileira de Computao (SBC), que em
documento datado de 1996, intitulado "Currculo de Referncia da SBC para Cursos de
Graduao Plena em Computao", menciona a disciplina "Processamento de Imagens", cujo
ementrio completamente coberto pelo contedo desta obra.
Serve tambm a profissionais de diversas reas, atrados pela inevitvel popularizao
do uso de tcnicas e sistemas de processamento de imagens e pelo aspecto prtico do livro,
ressaltado particularmente pelos roteiros de experimentos utilizando microcomputador e pelas
indicaes de endereos na Internet.
Comentrios, crticas, sugestes e colaboraes para o contnuo aprimoramento de
nosso trabalho so bem-vindos e podem ser feitos por e-mail para:
omarques@ieee.org
ou
hugo@daeln.cefetpr.br.



Og Marques Filho
Hugo Vieira Neto

Curitiba, Brasil, 1999.


MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Captulo 1
Introduo
1.1 Processamento de Imagens: breve histrico e exemplos de
aplicaes
A rea de processamento de imagens vem sendo objeto de crescente interesse por permitir
viabilizar grande nmero de aplicaes em duas categorias bem distintas: (1) o aprimoramento
de informaes pictricas para interpretao humana; e (2) a anlise automtica por computador
de informaes extradas de uma cena. Ao longo deste livro, reservaremos a expresso
'processamento de imagens' para designar a primeira categoria, adotando os termos 'anlise de
imagens', 'viso por computador' (ou 'viso computacional') e 'reconhecimento de padres' para
a segunda.
Uma das primeiras aplicaes na primeira categoria remonta ao comeo deste sculo,
onde buscavam-se formas de aprimorar a qualidade de impresso de imagens digitalizadas
transmitidas atravs do sistema Bartlane de transmisso de imagens por cabo submarino entre
Londres e Nova Iorque. Os primeiros sistemas Bartlane, no incio da dcada de 20, codificavam
uma imagem em cinco nveis de intensidade distintos. Esta capacidade seria expandida, j em
1929, para 15 nveis, ao mesmo tempo em que era desenvolvido um mtodo aprimorado de
revelao de filmes atravs de feixes de luz modulados por uma fita que continha informaes
codificadas sobre a imagem.
Mas o grande impulso para a rea de Processamento de Imagens viria cerca de trs
dcadas mais tarde, com o advento dos primeiros computadores digitais de grande porte e o
incio do programa espacial norte-americano. O uso de tcnicas computacionais de
aprimoramento de imagens teve incio no Jet Propulsion Laboratory (Pasadena, California -
EUA)
1
em 1964, quando imagens da lua transmitidas por uma sonda Ranger
2
eram processadas
por computador para corrigir vrios tipos de distoro inerentes cmera de TV acoplada
sonda. Estas tcnicas serviram de base para mtodos aprimorados de realce e restaurao de
imagens de outros programas espaciais posteriores, como as expedies tripuladas da srie
Apollo, por exemplo.
De 1964 aos dias atuais, a rea de processamento de imagens vem apresentando
crescimento expressivo e suas aplicaes permeiam quase todos os ramos da atividade humana.
Em Medicina, o uso de imagens no diagnstico mdico tornou-se rotineiro e os avanos em
processamento de imagens vm permitindo tanto o desenvolvimento de novos equipamentos
quanto a maior facilidade de interpretao de imagens produzidas por equipamentos mais
antigos, como por exemplo o de raio X. Em Biologia, a capacidade de processar
automaticamente imagens obtidas de microscpios, por exemplo contando o nmero de clulas
de um certo tipo presentes em uma imagem, facilita sobremaneira a execuo de tarefas
laboratoriais com alto grau de preciso e repetibilidade. O processamento e a interpretao
automtica de imagens captadas por satlites auxiliam os trabalhos nas reas de Geografia,
Sensoriamento Remoto, Geoprocessamento e Meteorologia, dentre outras. Tcnicas de
restaurao de imagens auxiliam arqueologistas a recuperar fotos borradas de artefatos raros, j
destrudos. O uso de robs dotados de viso artificial em tarefas tais como controle de qualidade
em linhas de produo aumenta a cada ano, num cenrio de crescente automao industrial.
Inmeras outras reas to distintas como Astronomia, Segurana, Publicidade e Direito / para
citar apenas algumas / vm sendo beneficiadas com os avanos nas reas de processamento de
imagens e viso por computador.

1
"http://www.jpl.nasa.gov"
2
"http://www.jpl.nasa.gov/missions/ranger/"
2 Intr oduo
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Leitura complementar
Mascarenhas [Mascarenhas 1990] apresenta um abrangente texto introdutrio aos assuntos
abordados neste livro.
1.2 Um sistema de processamento de imagens e seus componentes
Os elementos de um sistema de processamento de imagens de uso genrico so mostrados na
figura 1. Este diagrama permite representar desde sistemas de baixo custo at sofisticadas
estaes de trabalho utilizadas em aplicaes que envolvem intenso uso de imagens. Ele
abrange as principais operaes que se pode efetuar sobre uma imagem, a saber: aquisio,
armazenamento, processamento e exibio. Alm disso, uma imagem pode ser transmitida
distncia utilizando meios de comunicao disponveis. Todas estas operaes so descritas a
seguir.

Aqui sio Processamento Sada
Armazenamento
Cmeras de Vdeo
Scanners
Computador
Monitores de Vdeo
Impressoras
Plotters
Discos pticos
Discos Magnticos
Fitas Magnticas
Videotape

Figura 1 - Elementos de um sistema de processamento de imagens.

1.2.1 Aquisio
A etapa de aquisio tem como funo converter uma imagem em uma representao numrica
adequada para o processamento digital subseqente. Este bloco compreende dois elementos
principais. O primeiro um dispositivo fsico sensvel a uma faixa de energia no espectro
eletromagntico (como raio X, ultravioleta, espectro visvel ou raios infravermelhos), que
produz na sada um sinal eltrico proporcional ao nvel de energia detetado. O segundo / o
digitalizador propriamente dito / converte o sinal eltrico analgico em informao digital, isto
, que pode ser representada atravs de bits 0s e 1s. Um mdulo de aquisio de imagens
normalmente conhecido pelo nome de frame grabber. Os captulos 2 e 7 deste livro trazem mais
detalhes sobre os aspectos envolvidos na aquisio de imagens digitais.
1.2.2 Armazenamento
O armazenamento de imagens digitais um dos maiores desafios no projeto de sistemas de
processamento de imagens, em razo da grande quantidade de bytes necessrios para tanto. Este
armazenamento pode ser dividido em trs categorias: (1) armazenamento de curta durao de
uma imagem, enquanto ela utilizada nas vrias etapas do processamento, (2) armazenamento
Intr oduo 3
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
de massa para operaes de recuperao de imagens relativamente rpidas, e (3) arquivamento
de imagens, para recuperao futura quando isto se fizer necessrio. O espao de
armazenamento requerido normalmente especificado em bytes (8 bits) e seus mltiplos: KB
(kilobyte 1000 bytes), MB (megabyte 1 milho de bytes), GB (gigabyte 1 bilho de bytes)
e TB (terabyte 1 trilho de bytes). O captulo 7 discute aspectos de armazenamento de
imagens em maior profundidade.
Para o armazenamento de curta durao, a alternativa mais simples utilizar parte da
memria RAM do computador principal. Outra opo consiste no uso de placas especializadas,
chamadas frame buffers, que armazenam uma ou mais imagens completas e podem ser
acessadas a uma alta velocidade, tipicamente 30 imagens completas por segundo. O uso de
frame buffers permite tambm que operaes de zoom (ampliao ou reduo para fins de
visualizao), scroll (rolagem na vertical) e pan (rolagem na horizontal) sejam executadas de
forma praticamente instantnea. Placas frame buffers disponveis no mercado atualmente
apresentam capacidade de armazenamento na faixa de alguns MB de memria.
A segunda categoria de armazenamento normalmente requer o uso de discos magnticos
de no mnimo algumas centenas de MB e recentemente passou a utilizar tambm discos
magneto-pticos, por vezes agrupados em jukeboxes contendo de 30 a 100 discos. Nesta
categoria o fator 'tempo de acesso' to ou mais importante que a capacidade (em bytes) do
meio de armazenamento. Atravs de clculos simples (n de pixels na horizontal x n de pixels
na vertical x n de bits necessrios para a escala de cinza / 8), pode-se estimar a quantidade de
bytes necessrios para armazenar uma imagem monocromtica em disco. Este clculo entretanto
considera uma imagem representada como uma matriz, cujos elementos so os valores de tons
de cinza dos respectivos pixels.
3
Na prtica, informaes adicionais (tamanho da imagem e
nmero de cores ou tons de cinza, no mnimo) so necessrias. Estas informaes costumam ser
colocadas em um cabealho (header) no incio do arquivo. Infelizmente, no existe um nico
cabealho ou formato de armazenamento de imagens padronizados. Alguns dos formatos mais
comuns so o BMP, PCX, TIFF, JPEG e GIF. Estes formatos de arquivos de imagem, alm de
muitos outros, so apresentados no Apndice A.
Finalmente, o arquivamento de imagens caracterizado por quantidades gigantescas de
bytes contendo imagens cuja recuperao espordica. Nesta categoria, as fitas magnticas
esto dando lugar aos discos pticos WORM (Write-Once-Read-Many), com capacidade que
pode chegar a mais de 10 GB por disco, e que tambm podem ser agrupados em jukeboxes, com
capacidade total de armazenamento superior a 1 TB.
1.2.3 Processamento
O processamento de imagens digitais envolve procedimentos normalmente expressos sob forma
algortmica. Em funo disto, com exceo das etapas de aquisio e exibio, a maioria das
funes de processamento de imagens pode ser implementada via software. O uso de hardware
especializado para processamento de imagens somente ser necessrio em situaes nas quais
certas limitaes do computador principal (por exemplo, velocidade de transferncia dos dados
atravs do barramento) forem intolerveis.
A tendncia atual do mercado de hardware para processamento de imagens a
comercializao de placas genricas compatveis com os padres de barramento consagrados
pelas arquiteturas mais populares de microcomputadores e estaes de trabalho. O software de
controle destas placas que determinar sua aplicao especfica a cada situao. As vantagens
mais imediatas so: reduo de custo, modularidade, reutilizao de componentes de software
em outra aplicao rodando sobre o mesmo hardware e independncia de fornecedor. Convm
notar, entretanto, que sistemas dedicados continuam sendo produzidos e comercializados para
atender a tarefas especficas, tais como processamento de imagens transmitidas por satlites.

3
Para imagens coloridas, a situao um pouco mais complexa. Normalmente estes nmeros sero
ndices (endereos) de uma tabela de cores, denominada palheta ou palette. Para maiores detalhes, veja a
seo 4.6 e o Resumo da Teoria da Prtica de Laboratrio n 1.
4 Intr oduo
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
1.2.4 Transmisso
Imagens digitalizadas podem ser transmitidas distncia utilizando redes de computadores e
protocolos de comunicao j existentes. O grande desafio da transmisso de imagens
distncia a grande quantidade de bytes que se necessita transferir de uma localidade a outra,
muitas vezes atravs de canais de comunicao de baixa velocidade e banda passante estreita.
Este problema ainda mais srio quando se deseja transmitir seqncias de vdeo (imagens em
movimento com udio associado) em tempo real, onde outros fatores, como por exemplo
sincronizao, devem ser considerados. Nestes casos, o uso de tcnicas de compresso e
descompresso de imagens, como as descritas no captulo 6, mandatrio.
1.2.5 Exibio
O monitor de vdeo um elemento fundamental de um sistema de processamento de imagens.
Os monitores em uso atualmente so capazes de exibir imagens com resoluo de pelo menos
640 x 480 pixels com 256 cores distintas. A tecnologia mais usual ainda o TRC (Tubo de
Raios Catdicos).
Um TRC para um sistema de processamento de imagens normalmente segue um padro
de vdeo. O padro de vdeo mais comum para sistemas monocromticos o RS-170. Ele prev
480 linhas horizontais entrelaadas, isto , a varredura de um quadro feita em duas etapas,
abrangendo primeiramente as linhas mpares e posteriormente as linhas pares. Cada uma destas
etapas denominada campo. O tempo necessrio para percorrer um campo 1/60 s;
conseqentemente, o tempo total de um quadro 1/30 s. As caractersticas de persistncia visual
do olho humano fazem com que, nesta velocidade, a varredura individual de cada campo no
seja perceptvel, bem como do a impresso de que a seqncia de quadros explorados
perfeitamente contnua.
O padro RS-170 especifica resoluo vertical de 480 pixels, sendo a resoluo
horizontal determinada pelos circuitos eletrnicos do monitor e pelo tamanho dos pontos de
fsforo na tela. Este nmero costuma ser 512, proporcionado imagens de 512 x 480 pixels.
A resoluo espacial dos monitores normalmente especificada em pontos por polegada
(dots per inch - dpi). Um valor tpico de resoluo 72 dpi, suficiente para exibir uma imagem
de 1024 x 1024 pixels em um monitor de 19 polegadas ou uma imagem de 640 x 400 pontos em
uma tela cuja diagonal mea 12 polegadas. A ttulo de comparao, uma tela de TV tem
resoluo na faixa de 40 dpi.
Um TRC colorido difere radicalmente de seu antecessor monocromtico, por apresentar
trs feixes eletrnicos, cada um correspondente a uma das trs cores primrias (vermelho, verde
e azul). A superfcie interna da tela constituda por trs tipos de fsforo, dispostos de forma
triangular, cada qual sensvel a uma das cores primrias e excitado pelo respectivo canho
eletrnico. Isto significa dizer que, do ponto de vista construtivo, cada pixel na verdade uma
combinao de trs pequenos pixels, um para cada cor primria.
A indstria de dispositivos de exibio vem apresentando sistematicamente novas
tecnologias de fabricao de monitores de vdeo, dentre eles os monitores de cristal lquido
(LCD), cada vez mais populares graas disseminao dos computadores portteis (notebooks).
Existem diversas formas de reproduo de imagens em papel. A melhor, e mais cara, a
reproduo fotogrfica, onde o nmero de gradaes de cinza funo da densidade dos
grnulos de prata no papel. Outra possibilidade o uso de papel sensvel a temperatura, cuja
composio qumica faz com que ele apresente colorao mais escura medida que a
temperatura aumenta. Este tipo de impresso ainda o mais difundido em equipamentos de fax.
Uma de suas desvantagens o desvanecimento das imagens com o tempo. Nos ltimos anos
aumentou consideravelmente a oferta de impressoras trmicas coloridas no mercado. Estas
impressoras baseiam-se na deposio de cera colorida sobre um papel especial para produzir a
impresso. O captulo 7 apresenta maiores informaes sobre dispositivos de exibio e
impresso de imagens.
Dispositivos perifricos de sada especializados na produo de cpias da imagem em
forma de fotografias, slides ou transparncias tambm esto se tornando cada vez mais usuais.
Intr oduo 5
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Uma alternativa s tcnicas fotogrficas consiste no uso de tcnicas de halftoning. o
mtodo usado por jornais e por impressoras convencionais (laser, matriciais ou a jato de tinta)
para a impresso de imagens. Esta tcnica consiste basicamente em imprimir pontos escuros de
diferentes tamanhos, espaados de tal maneira a reproduzir a iluso de tons de cinza. medida
que a distncia entre o observador e a imagem impressa aumentam, os detalhes finos vo
desaparecendo e a imagem parece cada vez mais uma imagem contnua monocromtica.
No jargo computacional, d-se o nome de dithering ao processo de produo do efeito
de halftoning, bem como a todas as tcnicas de converso de uma imagem para adapt-la a
resolues menores, tanto para efeito de exibio como para impresso. Existem vrios
algoritmos de dithering, sendo o mais comum o de Floyd-Steinberg, que consiste de um
processo adaptativo no qual o padro de dither a ser atribudo a um pixel depende de seu tom de
cinza e de seus vizinhos. Uma discusso mais detalhada destes algoritmos foge ao escopo deste
livro.
Leitura complementar
O captulo 7 de [Lindley 1991] e o captulo 11 de [Rimmer 1993] trazem explicaes tericas e
cdigo-fonte em C para impresso de imagens monocromticas e/ou coloridas utilizando
dithering.
O captulo 10 de [Dougherty 1994] uma excelente referncia para um estudo mais
aprofundado dos conceitos e tcnicas de halftoning.
1.3 O sistema visual humano
A figura 2 mostra um corte horizontal do olho humano. O globo ocular tem formato
aproximadamente esfrico e um dimetro de cerca de 20 mm. Ele envolvido por trs
membranas: a camada externa formada pela crnea e pela esclertica, a coride e a retina, que
a camada interna. A crnea uma pelcula transparente que cobre a parte anterior do olho.
Dando continuidade crnea, a esclertica uma membrana opaca que reveste o globo ocular.
A coride est situada abaixo da esclertica. Essa membrana contm uma rede de vasos
sangneos que servem como a principal fonte de nutrio do olho. O revestimento da coride
fortemente pigmentado, o que ajuda a reduzir a quantidade de luz que entra no olho. Ela
dividida em corpo ciliar e diafragma da ris, sendo este ltimo responsvel por controlar a
quantidade de luz que deve penetrar no olho. O dimetro da abertura central da ris (pupila)
varia entre 2 mm e 8 mm. A parte frontal da ris contm o pigmento visvel do olho, enquanto
sua poro posterior possui um pigmento negro.
A membrana mais interna do olho a retina, situada na sua parede posterior. Quando o
olho focaliza uma cena, a imagem correspondente projetada sobre a retina, na qual esto
distribudos dois tipos de receptores de luz discretos: os cones e os bastonetes. Os cones so em
nmero de 6 a 7 milhes em cada olho e esto localizados na poro central da retina, chamada
de fvea. Eles so altamente sensveis a cor e cada qual est conectado a uma terminao
nervosa dedicada. O nmero de bastonetes bastante maior, cerca de 75 a 150 milhes,
distribudos em toda a superfcie da retina. Os bastonetes servem para dar uma viso geral da
imagem captada no campo de viso. Eles no distinguem cores, mas so sensveis a baixos
nveis de iluminao.
A fvea uma reentrncia circular na retina com aproximadamente 1,5 mm de
dimetro. De forma aproximada, podemos consider-la um sensor de rea quadrada de 1,5 mm
por 1,5 mm. A densidade de cones nesta rea da retina de aproximadamente 150.000
elementos por mm
2
. Baseando-se nessas aproximaes, o nmero de cones na regio de maior
acuidade do olho de aproximadamente 337.000 elementos. Para efeito comparativo, esta
resoluo facilmente alcanada pela tecnologia atual, usando CCD de rea no superior a 7
mm x 7 mm.

6 Intr oduo
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Figura 2 - Vista em corte do olho humano (adaptado de Gonzalez, R.C., Woods, R.E., Digital
Image Processing, Addison-Wesley, 1992).

Dentre as caractersticas do sistema visual humano relevantes para o projeto de sistemas
de viso artificial, podemos destacar a enorme faixa de valores de intensidade luminosa (da
ordem de 10
10
) aos quais o olho pode se adaptar e a relao aproximadamente logartmica entre
os nveis de intensidade luminosa presentes na cena e a sensao subjetiva de brilho, ilustrada
na figura 3. Convm notar, entretanto, que o olho humano no pode operar sobre toda esta faixa
simultaneamente. Ao invs disso, ele excursiona ao longo de toda esta faixa atravs de
adaptaes em sua sensibilidade global, um fenmeno conhecido como adaptao de brilho. A
faixa total de valores de intensidade que o olho pode discriminar simultaneamente
comparativamente pequena em relao faixa total de adaptao. Para um certo conjunto de
condies, o nvel de sensibilidade atual do sistema visual chamado nvel de adaptao de
brilho, como por exemplo o valor B
a
na figura 3. A pequena poro de curva que intercepta a
curva principal representa a faixa de brilho subjetivo que o olho pode perceber quando adaptado
a este nvel. Esta faixa bastante restrita, existindo um nvel de brilho B
b
abaixo do qual todos
os estmulos so indistinguveis. O trecho tracejado da curva no , na verdade, restrito, mas se
estendido alm de um limite perde seu sentido, porque neste caso o olho humano buscaria outro
nvel de adaptao maior que B
a
.

Intr oduo 7
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
-6 -2 -4 0 4 2
Log da Intensi dade (mL)
Limi ar Escotpi co
Limi te de Cl ari dade
Escotpi ca
Fotpica
Ba
Bb
B
r
i
l
h
o

S
u
b
j
e
t
i
v
o
G
a
m
a

d
e

a
d
a
p
t
a

o

Figura 3 - Curva que relaciona a sensao subjetiva de brilho com o logaritmo da intensidade
luminosa incidente sobre o olho humano.

A tabela 1 apresenta uma viso comparativa entre o sistema visual humano e um sistema
de viso artificial.
Leitura complementar
Para maiores informaes sobre aspectos do processo de percepo visual humana e suas
implicaes no projeto de sistemas de viso artificial, uma referncia obrigatria [Marr 1982].
A seo 2.1 de [Gonzalez e Woods 1992] apresenta interessantes fenmenos de
percepo visual tais como contraste simultneo, discriminao de brilho usando a razo de
Weber e o padro de faixas de Mach.
1.4 Sistemas de Viso Artificial: fundamentos e desafios
Nas primeiras pginas de seu livro Digital Image Processing and Computer Vision, Robert J.
Schalkoff [Schalkoff 1989] formula uma sugestiva pergunta quando questiona: "O que estamos
tentando fazer e por que isto to difcil?"
Uma resposta simplista primeira parte da pergunta acima : "Estamos tentando ensinar
robs a enxergar." Ao relacionarmos as dificuldades inerentes ao processo de dotar o
computador de uma capacidade visual semelhante dos seres humanos, deparamo-nos com trs
admirveis caractersticas do processo de percepo visual humano, que so:
uma base de dados muito rica;
altssima velocidade de processamento; e
a capacidade de trabalhar sob condies muito variadas.
Os avanos na tecnologia de dispositivos de armazenamento de massa e o surgimento de
novas CPUs e arquiteturas computacionais cada vez mais rpidas, com alto grau de paralelismo,
nos induzem a crer que dispomos de condies cada vez melhores de modelar as duas primeiras
caractersticas relacionadas acima. O grande desafio permanece sendo o de fazer com que os
sistemas de viso artificial trabalhem em diferentes condies de luminosidade, contraste,
8 Intr oduo
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
posicionamento relativo dos objetos em uma cena sem perder a capacidade de interpretar a cena,
de forma anloga a nossa capacidade de reconhecer um amigo ou parente com relativa
facilidade, independentemente de ele estar usando culos ou no, ter deixado crescer a barba ou
estar no carro ao lado do nosso em uma esquina num final de tarde, onde no dispomos de outra
imagem seno a vista de perfil e onde as condies de luminosidade so bastante inferiores s
que obteramos ao meio-dia.

Tabela 1 - Comparao entre o sistema visual humano e um sistema de viso artificial.
Sistema visual humano Sistema de viso ar tificial
Espectro Limitado faixa de luz visvel
(300 nm a 700 nm) do espectro de
ondas eletromagnticas.

Pode operar em praticamente todo
o espectro de radiaes
eletromagnticas, dos raios X ao
infravermelho.

Flexibilidade Extremamente flexvel, capaz de se
adaptar a diferentes tarefas e
condies de trabalho.
Normalmente inflexvel, apresenta
bom desempenho somente na
tarefa para a qual foi projetado.

Habilidade Pode estabelecer estimativas
relativamente precisas em assuntos
subjetivos.

Pode efetuar medies exatas,
baseadas em contagem de pixels e,
portanto, dependentes da
resoluo da imagem digitalizada.

Cor Possui capacidade de interpretao
subjetiva de cores.
Mede objetivamente os valores
das componentes R, G e B para
determinao de cor.

Sensibilidade Capaz de se adaptar a diferentes
condies de luminosidade,
caractersticas fsicas da superfcie
do objeto e distncia ao objeto.
Limitado na distino de muitos
nveis diferentes de cinza,
simultaneamente.
Sensvel ao nvel e padro de
iluminao, bem como distncia
em relao ao objeto e suas
caractersticas fsicas.
Pode trabalhar com centenas de
tons de cinza, conforme projeto do
digitalizador.

Tempo de resposta Elevado, da ordem de 0,1 s. Dependente de aspectos de
hardware, podendo ser to baixo
quanto 0,001 s.

2-D e 3-D Pode executar tarefas 3-D e com
mltiplos comprimentos de onda
(dentro do espectro de luz visvel)
facilmente.

Executa tarefas 2-D com relativa
facilidade, mas lento e limitado
em tarefas 3-D.

Percepo Percebe variaes de brilho em
escala logartmica. A interpretao
subjetiva de brilho depende da rea
ao redor do objeto considerado.

Pode perceber brilho em escala
linear ou logartmica.

Intr oduo 9
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
1.4.1 Estrutura de um Sistema de Viso Artificial
Definiremos um Sistema de Viso Artificial (SVA) como um sistema computadorizado
capaz de adquirir, processar e interpretar imagens correspondentes a cenas reais. A figura 4
mostra esquematicamente um diagrama de blocos de um SVA. Suas principais etapas so
explicadas a seguir, partindo da premissa de que um problema prtico, por exemplo a leitura do
Cdigo de Endereamento Postal (CEP) de um lote de envelopes, deve ser solucionado.

Aqui sio
Pr-processamento
Segmentao
Extrao de
Caractersti cas
Reconhecimento
e Interpretao
Base de
Conhecimento
Probl ema
Resul tado

Figura 4 - Um Sistema de Viso Artificial (SVA) e suas principais etapas.

1.4.2 Domnio do problema e resultado
O domnio do problema, neste caso, consiste no lote de envelopes e o objetivo do SVA ler o
CEP presente em cada um deles. Logo, o resultado esperado uma seqncia de dgitos
correspondentes ao CEP lido.
1.4.3 Aquisio da imagem
O primeiro passo no processo a aquisio de imagens dos envelopes. Para tanto so
necessrios um sensor e um digitalizador. O sensor converter a informao ptica em sinal
eltrico e o digitalizador transformar a imagem analgica em imagem digital.
Dentre os aspectos de projeto envolvidos nesta etapa, pode-se mencionar: a escolha do
tipo de sensor, o conjunto de lentes a utilizar, as condies de iluminao da cena, os requisitos
de velocidade de aquisio (assumindo que os envelopes passariam pela frente da cmera a uma
certa velocidade), a resoluo e o nmero de nveis de cinza da imagem digitalizada, dentre
outros. Esta etapa produz sada uma imagem digitalizada do envelope.
1.4.4 Pr-processamento
A imagem resultante do passo anterior pode apresentar diversas imperfeies, tais como:
presena de pixels ruidosos, contraste e/ou brilho inadequado, caracteres (especialmente os
dgitos do CEP) interrompidos ou indevidamente conectados etc. A funo da etapa de pr-
10 Intr oduo
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
processamento aprimorar a qualidade da imagem para as etapas subseqentes. As operaes
efetuadas nesta etapa so ditas de baixo nvel porque trabalham diretamente com os valores de
intensidade dos pixels, sem nenhum conhecimento sobre quais deles pertencem aos dgitos do
CEP, a outras informaes impressas no envelope ou ao fundo. A imagem resultante desta etapa
uma imagem digitalizada de melhor qualidade que a original.
1.4.5 Segmentao
A tarefa bsica da etapa de segmentao a de dividir uma imagem em suas unidades
significativas, ou seja, nos objetos de interesse que a compem. Esta tarefa, apesar de simples de
descrever, das mais difceis de implementar.
No caso especfico do problema do CEP, possvel que o problema seja dividido em
duas etapas: em um primeiro momento os algoritmos de segmentao tentaro localizar o CEP
do restante das informaes para posteriormente, trabalhando sobre esta subimagem, segmentar
cada dgito individualmente. Segundo esta linha de raciocnio, este bloco produzir sada oito
subimagens, cada qual correspondendo a um dgito do CEP.
1.4.6 Extrao de Caractersticas
Esta etapa procura extrair caractersticas das imagens resultantes da segmentao atravs de
descritores que permitam caracterizar com preciso cada dgito e que apresentem bom poder de
discriminao entre dgitos parecidos, como o '5' e o '6'. Estes descritores devem ser
representados por uma estrutura de dados adequada ao algoritmo de reconhecimento.
importante observar que nesta etapa a entrada ainda uma imagem, mas a sada um conjunto
de dados correspondentes quela imagem.
Para maior clareza, suponhamos que os descritores utilizados para descrever um
caractere sejam as coordenadas normalizadas x e y de seu centro de gravidade e a razo entre
sua altura e largura. Neste caso, um vetor de trs elementos uma estrutura de dados adequada
para armazenar estas informaes sobre cada dgito processado por esta etapa.
1.4.7 Reconhecimento e Interpretao
Nesta ltima etapa do sistema, denominamos reconhecimento o processo de atribuio de um
rtulo a um objeto baseado em suas caractersticas, traduzidas por seus descritores. A tarefa de
interpretao, por outro lado, consiste em atribuir significado a um conjunto de objetos
reconhecidos. Neste exemplo, uma forma simples de interpretao seria a verificao do CEP
em uma base de dados de CEPs vlidos, para descobrir se o conjunto dos oito caracteres (cada
qual reconhecido individualmente) faz sentido ou no.
1.4.8 Base de Conhecimento
Todas as tarefas das etapas descritas acima pressupem a existncia de um conhecimento sobre
o problema a ser resolvido, armazenado em uma base de conhecimento, cujo tamanho e
complexidade podem variar enormemente. Idealmente, esta base de conhecimento deveria no
somente guiar o funcionamento de cada etapa, mas tambm permitir a realimentao entre elas.
Por exemplo, se a etapa de representao e descrio recebesse 7 caracteres ao invs de 8, ela
deveria ser capaz de realimentar a etapa de segmentao (provvel responsvel pela falha) para
que esta procurasse segmentar novamente a subimagem 'suspeita' (aquela de maior largura),
buscando dividi-la em duas. Esta integrao entre as vrias etapas atravs da base de
conhecimento ainda um objetivo difcil de alcanar e no est presente na maioria dos SVAs
existentes atualmente.
Finalmente, cumpre observar que nem todos os SVAs possuem todos estes blocos e que
a maioria das tcnicas descritas neste livro esto delimitadas at o bloco 'pr-processamento'.
1.5 Estrutura e escopo do livro
Este livro est estruturado em sete captulos, sendo os dois primeiros dedicados apresentao
de conceitos fundamentais que serviro de base para a compreenso dos captulos seguintes. O
captulo 2 apresenta os principais aspectos das imagens digitais, caracterizando-as sob o ponto
Intr oduo 11
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
de vista matemtico, apresentando suas principais propriedades e ilustrando as principais
operaes lgicas, aritmticas e transformaes geomtricas que se pode efetuar sobre elas. O
captulo 3 define histograma de uma imagem e apresenta diversas tcnicas de modificao de
histograma.
Os captulos 4, 5 e 6 tratam das tcnicas de pr-processamento aplicadas a uma imagem.
O captulo 4 abrange as principais tcnicas de filtragem de imagens no domnio espacial ou
freqencial, tanto com o objetivo de real-las como de remover rudo eventualmente presente
sobre elas. Tambm so apresentados conceitos de processamento de imagens coloridas e de
filtragem adaptativa. J o captulo 5 inteiramente dedicado a tcnicas de processamento e
anlise de imagens baseadas em morfologia matemtica. Por sua vez, o captulo 6 trata de um
tema importante e atual que a compresso de imagens, desde os fundamentos conceituais at
os padres mais utilizados atualmente.
O captulo 7 serve como referncia prtica para o leitor interessado em implementar seu
prprio sistema de processamento de imagens, abrangendo informaes conceituais e prticas
sobre o hardware e software disponvel para tanto.
O livro contm ainda dois apndices. O apndice A apresenta uma viso resumida,
porm abrangente, dos principais formatos de arquivos de imagens disponveis atualmente. O
apndice B traz um conjunto de roteiros de prticas de laboratrio utilizando a toolbox de
Processamento de Imagens do software MATLAB

. Estas prticas so referenciadas nos


captulos correspondentes ao longo do livro.
Exerccios Propostos
1. Seja o diagrama da figura 4, destacando as principais etapas de um sistema de viso
artificial. Supondo que se deseje utilizar os conceitos de anlise de imagens para reconhecer
placas de veculos entrada e/ou sada de um estacionamento automatizado, comente quais as
tarefas que cada bloco desempenhar na soluo do problema, indicando os principais aspectos
prticos envolvidos e seu impacto no projeto do sistema completo.

2. Em nosso estudo de viso por computador, vimos que as dificuldades em simular o
sistema visual humano residem em trs frentes:
Base de dados muito extensa
Velocidade de processamento muito alta
Condies de trabalho muito variadas
Explique cada uma delas e comente o grau de dificuldade relativa de cada uma, bem como a
relao entre os progressos tecnolgicos em software e hardware e seu impacto na minimizao
destas dificuldades.

3. Qual a diferena entre os termos 'processamento de imagens' e 'reconhecimento de
padres' ?
Na Internet
4

Para maiores informaes sobre alguns dos tpicos deste captulo, sugerimos as pginas a
seguir:
"http://www.jpl.nasa.gov"
NASA Jet Pr opulsion Labor ator y
Home page do Jet Propulsion Lab da NASA.


4
Convm lembrar que a referncia a informaes disponveis na Internet est sujeita a problemas
decorrentes da natureza extremamente dinmica da rede. possvel que alguns links indicados neste livro
sejam removidos de seus servidores, transferidos para outros servidores ou estejam temporariamente fora
do ar.
12 Intr oduo
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
"http://www.jpl.nasa.gov/missions/ranger/"
Ranger : Mission to the Moon
Apresenta detalhes tcnicos e histricos das misses Ranger.

Para aprofundar ou complementar outros assuntos tratados neste livro, existem inmeras
pginas teis e interessantes relacionadas s reas de processamento de imagens e viso por
computador na World Wide Web. Relacionamos a seguir algumas delas, classificando-as em seis
grupos, a saber:
Top 10: dez pginas selecionadas pelos autores por apresentarem grande quantidade de
informao e inmeros links a outros sites de interesse.
Gr upos de pesquisa: pginas com links para grupos de pesquisa em viso computacional e
processamento de imagens no Brasil e no exterior.
5

Publicaes: neste grupo esto includas informaes tcnicas sobre processamento de
imagens e tpicos correlatos, incluindo pginas relativas a peridicos cientficos (journals),
sites de revistas tcnicas, pginas de perguntas mais freqentes (FAQs), cursos interativos
disponveis na WWW, (trechos de) livros disponveis on-line, notas de aula de professores
da rea, resenhas de livros etc.
Eventos: contm links para as pginas dos principais simpsios e conferncias mundiais na
rea.
Imagens: sites contendo imagens para teste e ilustrao de resultados de algoritmos.

Top 10
"http://www.cs.cmu.edu/~cil/vision.html"
Computer Vision Home Page
Excelente ponto de partida para pesquisas na WWW. Desdobra-se em vrias pginas
especficas, cada qual contendo inmeros links de interesse.

"http://www.ph.tn.tudelft.nl/PRInfo.html"
Patter n Recognition Infor mation
Pgina de referncia para assuntos relacionados ao reconhecimento de padres e temas
correlatos.

"http://www.lpac.ac.uk/SEL-HPC/Articles/VisionArchive.html"
SEL-HPC Vision and Image Pr ocessing Ar chive
Repositrio de artigos tcnicos na rea de processamento de imagens. Pode ser atualizado
dinamicamente.

"http://iris.usc.edu/Vision-Notes/bibliography/contents.html"
USC Annotated Computer Vision Bibliogr aphy
Extensa e bem estruturada compilao de quase tudo o que j foi publicado na rea. Um
bookmark obrigatrio.

"http://ecvnet.lira.dist.unige.it"
ECVNet
Relata atividades de um consrcio europeu na rea de viso computacional e contm diversos
links teis.


5
Se o leitor for pesquisador da rea, procure verificar se seu grupo de pesquisa est cadastrado nestes
sites.
Intr oduo 13
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
"http://viswiz.gmd.de/MultimediaInfo"
Multimedia Info & Resour ces
Excelente site para pesquisa de tpicos ligados a sistemas multimdia, processamento de sons,
imagens e vdeo e temas correlatos.

"http://reality.sgi.com/employees/rchiang_esd/TI-ImageProc.html"
Technical Infor mation - Image Pr ocessing
Outra tima pgina repleta de links classificados de forma razoavelmente estruturada.

"http://peipa.essex.ac.uk/"
The Pilot Eur opean Image Pr ocessing Ar chive: Home Page
Repositrio de arquivos de interesse nas reas de processamento de imagens e viso por
computador, mantido pela University of Essex (Inglaterra).

"http://www.vision1.com/"
The Vision and Imaging Technology Resour ce!
Guia tcnico-comercial de produtos, servios e recursos para desenvolvedores de solues em
viso computacional. Possui uma extensa biblioteca de links.

"http://vision.arc.nasa.gov/VisionScience/VisionScience.html"
Vision Science: The Wor ld-Wide Web Vir tual Libr ar y
Guia de referncia para pesquisa de temas relacionados a viso biolgica (principalmente) e
computacional na Web.

Grupos de pesquisa
"http://www.cs.cmu.edu/~cil/v-groups.html"
Computer Vision: Resear ch Gr oups
Pgina com links para os principais grupos de pesquisa em processamento de imagens e viso
por computador em todo o mundo.

"http://www.cs.cmu.edu/~cil/txtv-groups.html"
Computer Vision: Resear ch Gr oups (text only)
Verso texto da pgina indicada acima, adequada para reduzir o tempo de carga da pgina de
abertura na tela.

"http://www.ph.tn.tudelft.nl/PRInfo/groups.html"
Patter n Recognition Resear ch Gr oups
Lista de grupos de pesquisa ativos na rea, classificados por continente.

Publicaes
"http://www.lpac.ac.uk/SEL-HPC/Articles/VisionArchive.html"
SEL-HPC Vision and Image Pr ocessing Ar chive
Repositrio de artigos tcnicos na rea de processamento de imagens. Pode ser atualizado
dinamicamente. Selecionado pelos autores deste livro como um dos dez sites mais relevantes na
rea.

"http://www.nr.com/"
Numer ical Recipes in C
14 Intr oduo
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Referncia obrigatria para programadores na rea cientfica, este livro est agora disponvel
on-line. A verso PostScript de cada captulo pode ser obtida gratuitamente no endereo acima.

"http://www.cs.hmc.edu/~fleck/computer-vision-handbook/index.html"
The Computer Vision Handbook
Ainda em construo, prope-se a ser um grande livro-texto on-line sobre o assunto, com
muitos links e referncias bibliogrficas.

"http://www.khoral.com/dipcourse/dip17sep97/"
Digital Image Pr ocessing (DIP) with Khor os 2
Pioneira e feliz iniciativa do Prof. Roberto de Alencar Lotufo da Unicamp, em parceria com o
Prof. Ramiro Jordn da University of New Mexico (EUA), um curso interativo completo de
processamento de imagens na rede. Parte do curso exige a plataforma Khoros.

"http://www.cogs.susx.ac.uk/users/davidy/teachvision/vision0.html"
Sussex Computer Vision: Intr oduction to the HTML teach files
Curso on-line de viso por computador com exemplos de programas em POP-11 [Barrett et al.
1985].

"http://www.ime.usp.br/mac/khoros/mmach.old/tutor/mmach.html"
A Tutor ial on Mathematical Mor phology
Curso interativo de Morfologia Matemtica desenvolvido pela Universidade de So Paulo sobre
a plataforma Khoros 2.0. Possui opo para aqueles que desejarem uma viso geral do assunto
de forma rpida e independente de hardware ou software.

"http://www.cs.washington.edu/research/metip/metip.html"
Mathematics Exper iences Thr ough Image Pr ocessing (METIP)
Home-page de inovador projeto desenvolvido pela University of Washington que se prope a
utilizar operaes de processamento de imagens para motivar e facilitar o ensino de matemtica.
Permite o download gratuito dos ttulos de software j desenvolvidos no mbito do projeto.

"http://www.cm.cf.ac.uk/Dave/Vision_index.html"
MSc AI (and Engineer ing Application) Vision Systems Cour se Documentation
Curso abrangendo tpicos clssicos em formato eletrnico, porm pouco interativo e com
pequeno nmero de imagens.

"http://www.inforamp.net/~poynton/Poynton-T-I-Digital-Video.html"
A Technical Intr oduction to Digital Video
Contm o ndice do livro homnimo, bem como verses on-line dos captulos 1 e 6.

"http://www.eecs.wsu.edu/IPdb/title.html"
Digital Image Pr ocessing Home Page
Curso de processamento de imagens em formato de hipertexto, ainda em construo,
apresentando a teoria bsica, exemplos de imagens e trechos de cdigo-fonte em C.

Eventos
"http://iris.usc.edu/Information/Iris-Conferences.html"
Computer Vision Confer ence Listing fr om USC
Contm bem diagramada agenda de eventos e links para as pginas relacionadas a cada evento.

Intr oduo 15
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
"http://www.cs.cmu.edu/~cil/v-conf.html"
Computer Vision: Confer ences and Symposia
Lista de conferncias e eventos na rea, com links para as pginas de cada evento e para outras
listas de eventos.

"http://www.ph.tn.tudelft.nl/PRInfo/conferences.html"
Patter n Recognition Related Confer ences
Outra lista de conferncias e eventos na rea, com links para as pginas de cada evento.

"http://afrodite.lira.dist.unige.it/confs/confs.html"
Confer ences Main Menu
Pgina de links para conferncias e eventos, mantida pela ECVNet.

Imagens
"http://www.ics.forth.gr/ecvnet/imageDB/index.html"
ECVNet Image DataBases Page
Pgina contendo links para diversos repositrios de imagens na Internet.

"http://www.cs.cmu.edu/~cil/v-images.html"
Computer Vision: Test Images
Outra pgina contendo diversos links para diversos repositrios de imagens na Internet.

Bibliografia

[Barrett et al. 1985] Barrett, R. et allii, POP-11: a practical language for artificial
intelligence. Ellis Horwood Ltd., 1985.

[Dougherty 1994] Dougherty, E.R. (ed.), Digital Image Processing Methods,
Marcel Dekker, 1994.

[Gonzalez e Woods 1992] Gonzalez, R.C. e Woods, R.E., Digital Image Processing - Third
Edition, Addison-Wesley, 1992.

[Lindley 1991] Lindley, C.A., Practical Image Processing in C, Wiley, 1991.

[Marr 1982] Marr, D., Vision: A Computational Investigation into the Human
Representation and Processing of Visual Information, W. H.
Freeman and Co., 1982.

[Mascarenhas 1990] Mascarenhas, N.D., "Introduo ao Processamento Digital de
Imagens", Anais da I Jornada EPUSP/IEEE de Computao
Visual, 1990, 387-420.

[Rimmer 1993] Rimmer, S., Bit-Mapped Graphics, Windcrest Books, 1993.

[Schalkoff 1989] Schalkoff, R.J., Digital Image Processing and Computer Vision,
Wiley, 1989.

16 Intr oduo
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Bibliografia Recomendada
Cada captulo deste livro contm ao seu final indicaes bibliogrficas referentes ao assunto
abordado. Para uma viso mais abrangente das principais fontes de consulta na rea,
relacionamos a seguir alguns dos mais renomados livros e peridicos disponveis atualmente.
Alguns dos principais peridicos cientficos (journals) ligados s reas de
processamento de imagens e viso por computador so (em ordem alfabtica):
Computer Vision, Graphics and Image Processing
Graphical Models and Image Processing
IEEE Computer Graphics and Applications
IEEE Expert-Intelligent Systems and their Applications
IEEE Multimedia
IEEE Transactions on Image Processing
IEEE Transactions on Information Theory
IEEE Transactions on Medical Imaging
IEEE Transactions on Multimedia
IEEE Transactions on Pattern Analysis and Machine Intelligence
IEEE Transactions on Signal Processing
IEEE Transactions on Systems, Man and Cybernetics
Image and Vision Computing
Image Understanding, International Journal of Computer Vision
Journal of Mathematical Imaging and Vision
Machine Vision and Applications
Pattern Recognition
Proceedings of the IEEE.
Real-Time Imaging
Dentre os livros-texto consagrados na rea, citamos e recomendamos (por ordem
alfabtica de autor):
Castleman, K.R., Digital Image Processing, Prentice-Hall, 1995.
Dougherty, E.R. e Giardina, C.R., Matrix Structured Image Processing, Prentice-Hall, 1987.
Gonzalez, R.C. e Woods, R.E., Digital Image Processing, Addison-Wesley, 1992.
Jain, A.K., Fundamentals of Digital Image Processing, Prentice-Hall, 1989.
Jain, R.C., Kasturi, R., e Schunck, B.G., Machine Vision, McGraw-Hill, 1995.
Lim, J.S., Two-dimensional Signal and Image Processing, Prentice-Hall, 1990.
Lindley, C.A., Practical Image Processing in C, Wiley, 1991.
Marr, D., Vision: A Computational Investigation into the Human Representation and
Processing of Visual Information, W. H. Freeman and Co., 1982.
Myler, H.R. e Weeks, A.R., Computer Imaging Recipes in C, Prentice Hall, 1993.
Pavlidis, T., Algorithms for Graphics and Image Processing, Computer Science Press, 1982.
Pratt, W. K., Digital Image Processing, Wiley Interscience, 1991.
Russ, J. C., The Image Processing Handbook, CRC Press, 1995.
Schalkoff, R.J., Digital Image Processing and Computer Vision, Wiley, 1989.
Sonka, M., Hlavac, V. e Boyle, R., Image Processing, Analysis and Machine Vision,
Chapman & Hall, 1993.
Intr oduo 17
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Captulo 2
Fundamentos de Imagens Digitais
Este captulo tem por objetivo apresentar as principais caractersticas das imagens digitais. A
primeira seo caracteriza uma imagem do ponto de vista matemtico e descreve o processo de
aquisio de imagens e sua converso para o formato digital. A seo 2.2 descreve as principais
propriedades de uma imagem digital, padronizando a terminologia a ser utilizada no restante do
livro. As principais operaes lgicas e aritmticas sobre imagens so exemplificadas na seo
2.3. A seo 2.4 introduz o importante conceito de convoluo com mscaras e fornece
exemplos de mscaras teis para enfatizar e/ou detetar propriedades de uma imagem.
Finalmente, a seo 2.5 trata das transformaes geomtricas que podem ser aplicadas a
imagens, fundamentando-as matematicamente e ilustrando-as com exemplos.
2.1 Aquisio e digitalizao de imagens
Uma imagem monocromtica pode ser descrita matematicamente por uma funo f(x,y) da
intensidade luminosa, sendo seu valor, em qualquer ponto de coordenadas espaciais (x,y),
proporcional ao brilho (ou nvel de cinza) da imagem naquele ponto. A figura 1 mostra uma
imagem monocromtica e a conveno utilizada neste livro para o par de eixos (x,y)
1
.

Y
X
(0,0)

Figura 1 - Uma imagem monocromtica e a conveno utilizada para o par de eixos (x,y).

A funo f(x,y) representa o produto da interao entre a iluminncia i(x,y) que
exprime a quantidade de luz que incide sobre o objeto e as propriedades de refletncia ou de
transmitncia prprias do objeto, que podem ser representadas pela funo r(x,y), cujo valor

1
Como o leitor deve ter notado, a posio e a direo dos eixos x e y so diferentes das utilizadas na
Geometria Analtica. Em Processamento de Imagens, a notao (x,y) pode ser entendida como (linha,
coluna). Convm observar que esta notao no est padronizada na literatura tcnica da rea.
20 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
exprime a frao de luz incidente que o objeto vai transmitir ou refletir ao ponto (x,y). Estes
conceitos esto ilustrados na figura 2. Matematicamente:

f ( x, y ) = i ( x, y ) . r ( x, y ) (2.1)

com:
0 < i ( x, y ) < e
0 < r (x,y) < 1

R
I

Figura 2 - Os componentes iluminncia (I) e refletncia (R) de uma imagem.

As tabelas 1 e 2 apresentam valores tpicos de iluminncia e refletncia.

Tabela 1 - Exemplos de valores para i(x,y) [em lux ou lmen/m
2
]
i(x,y)
900 dia ensolarado
100 dia nublado
10 iluminao mdia de escritrio
0,001 noite clara de lua cheia

Tabela 2 - Exemplos de valores para r(x,y)
r(x,y)
0,93 neve
0,80 parede branco-fosca
0,65 ao inoxidvel
0,01 veludo preto

Ao longo deste livro, a intensidade de uma imagem monocromtica f nas coordenadas
(x,y) ser denominada nvel de cinza (ou tom de cinza) (L) da imagem naquele ponto. Este valor
estar no intervalo:
L L L
min max
s s
sendo L
min
e L
max
valores positivos e finitos.
O intervalo [L
min
, L
max
] denominado escala de cinza da imagem. comum deslocar
este intervalo numericamente para o intervalo dos inteiros [0, W), onde L = 0 significa pixel
preto e L = W-1 representa pixel branco. Normalmente, W uma potncia inteira positiva de 2.
Fundamentos de Imagens Digitais 21
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
No caso de uma imagem que possui informaes em intervalos ou bandas distintas de
freqncia, necessrio uma funo f(x,y) para cada banda. o caso de imagens coloridas
padro RGB, que so formadas pela informao de cores primrias aditivas, como o vermelho
(R - Red), verde (G - Green) e azul (B - Blue). A seo 4.6 apresenta informaes adicionais
sobre imagens coloridas.
As tcnicas de processamento de imagens descritas neste livro trabalham
fundamentalmente com imagens monocromticas, bidimensionais e estticas. Para que uma
imagem seja processada por alguma destas tcnicas, fundamental representar sua informao
num formato adequado ao tratamento computacional, por exemplo, uma matriz de nmeros
inteiros no-negativos, cujos valores referenciam o brilho mdio amostrado no ponto
correspondente da cena.
Para converter uma cena real em uma imagem digitalizada, duas etapas so
imprescindveis: a aquisio da imagem e sua digitalizao.
2.1.1 Aquisio
Chamaremos de aquisio de uma imagem o processo de converso de uma cena real
tridimensional em uma imagem analgica, ou seja, delimitaremos esta etapa ao processo de
transduo optoeletrnica.
O primeiro passo na converso de uma cena real tridimensional em uma imagem
eletrnica a reduo de dimensionalidade. Assumiremos que uma cmera fotogrfica, cmera
de vdeo ou outro dispositivo converter a cena 3-D em uma representao 2-D adequada, sem
nos preocuparmos com as questes envolvidas nesta etapa.
O dispositivo de aquisio de imagens mais utilizado atualmente a cmera CCD
(Charge Coupled Device). Ela consiste de uma matriz de clulas semicondutoras fotossensveis,
que atuam como capacitores, armazenando carga eltrica proporcional energia luminosa
incidente. O sinal eltrico produzido condicionado por circuitos eletrnicos especializados,
produzindo sada um Sinal Composto de Vdeo (SCV) analgico e monocromtico.
Para a aquisio de imagens coloridas utilizando CCDs necessrio um conjunto de
prismas e filtros de cor encarregados de decompor a imagem colorida em suas componentes R,
G e B, cada qual capturada por um CCD independente. Os sinais eltricos correspondentes a
cada componente so combinados posteriormente conforme o padro de cor utilizado (NTSC
(National Television Standards Committee) ou PAL (Phase Alternating Line), por exemplo).
Uma cmera CCD monocromtica simples consiste basicamente de um conjunto de lentes que
focalizaro a imagem sobre a rea fotossensvel do CCD, o sensor CCD e seus circuitos
complementares. A figura 3 mostra uma viso simplificada da aquisio de imagens com
cmera CCD. O captulo 7 traz maiores detalhes sobre sensores de imagem.

Corpo da Cmera
Objeto
Imagem
CCD
Lente

Figura 3 - Viso esquemtica de uma cmera CCD.

22 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
2.1.2 Digitalizao
O sinal analgico de vdeo obtido sada do dispositivo de aquisio deve ser submetido a uma
discretizao espacial e em amplitude para tomar o formato desejvel ao processamento
computacional.
Chamaremos de amostr agem o processo de discretizao espacial e daremos o nome de
quantizao ao processo de discretizao em amplitude.
Basicamente, a amostragem converte a imagem analgica em uma matriz de M por N
pontos, cada qual denominado pixel (ou elemento de imagem):

f x y
f f f N
f f f N
f M f M f M N
( , )
( , ) ( , ) ... ( , )
( , ) ( , ) ... ( , )
( , ) ( , ) ... ( , )
=

(
(
(
(
0 0 0 1 0 1
1 0 11 1 1
1 0 11 1 1
6 6 6 6

(2.2)

Maiores valores de M e N implicam em uma imagem de maior resoluo.
Por seu lado, a quantizao faz com que cada um destes pixels assuma um valor inteiro,
na faixa de 0 a 2
n
-1. Quanto maior o valor de n, maior o nmero de nveis de cinza presentes na
imagem digitalizada.
Do ponto de vista eletrnico, a digitalizao consiste em uma converso analgico-
digital na qual o nmero de amostras do sinal contnuo por unidade de tempo indica a taxa de
amostragem e o nmero de bits do conversor A/D utilizado determina o nmero de tons de cinza
resultantes na imagem digitalizada.
Sob uma abordagem matemtica formal, o processo de amostragem pode ser visto como
uma diviso do plano xy em uma grade, com as coordenadas do centro de cada grade sendo uma
dupla de elementos do produto cartesiano ZxZ (tambm escrito Z), o qual o conjunto de todos
os pares ordenados dos elementos (a, b) com a e b sendo nmeros pertencentes a Z (conjunto
dos inteiros). Portanto f(x,y) uma imagem digital se (x,y) forem nmeros inteiros de ZxZ e f
uma funo que atribui um valor de nvel de cinza (isto , um nmero real do conjunto de
nmeros reais R) para cada par distinto de coordenadas, ou seja, f o processo de quantizao
descrito anteriormente. Se os nveis de cinza resultantes forem tambm nmeros inteiros (como
geralmente o caso), Z substitui R e uma imagem digital ento se torna uma funo
bidimensional cujas coordenadas e valores de amplitude so nmeros inteiros.
Na especificao do processo de digitalizao deve-se decidir que valores de N, M e n
so adequados, do ponto de vista de qualidade da imagem e da quantidade de bytes necessrios
para armazen-la. A tabela 3 fornece uma idia estimativa do nmero de bytes necessrios para
armazenar uma imagem de N x N pixels com 2
n
tons de cinza, calculados como: N x N x n / 8.
Assume-se que um pixel estar inteiramente contido em um byte, mesmo que isto signifique que
alguns bits de cada byte permaneam vazios. Por exemplo, para n = 5, assume-se que cada pixel
ocupa um byte, restando 3 bits sem utilizao em cada byte.
Do ponto de vista qualitativo, poder-se-ia perguntar: quantos pontos e nveis de cinza
sero necessrios para que a verso digitalizada de uma imagem apresente qualidade
comparvel imagem original? Parece evidente que quanto maiores os valores de M, N e n,
melhor a imagem digital resultante. Mas sabendo que elevados valores de M, N e n implicaro
em maiores custos de digitalizao e armazenamento, deve existir uma forma de definir valores
adequados qualidade desejada. Convm observar ainda que 'qualidade de imagem' um
conceito altamente subjetivo, que tambm depende fortemente dos requisitos da aplicao dada.
Para que o leitor possa tirar suas prprias concluses sobre a dependncia entre
qualidade subjetiva e resoluo espacial, a figura 4(a) mostra uma imagem de 256 x 256 pixels,
com 256 nveis de cinza. Mantendo constante o nmero de tons de cinza, as figuras 4 (b)-(d)
mostram os resultados da reduo espacial de N = 256 para N = 128, 64 e 32, respectivamente.

Fundamentos de Imagens Digitais 23
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Tabela 3 - Nmero de bytes necessrios para armazenar uma imagem digital NxN com 2
n
nveis
de cinza
n
N
1 2 3 4 5 6 7 8
32 128 256 512 512 1.024 1.024 1.024 1.024
64 512 1.024 2.048 2.048 4.096 4.096 4.096 4.096
128 2.048 4.096 8.192 8.192 16.384 16.384 16.384 16.384
256 8.192 16.384 32.768 32.768 65.536 65.536 65.536 65.536
512 32.768 65.536 131.072 131.072 262.144 262.144 262.144 262.144
1.024 131.072 262.144 393.216 524.288 655.360 786.432 917.504 1.048.576



(a)






(b)

(c)


(d)
Figura 4 - Efeito da resoluo espacial na qualidade da imagem.

A figura 5 ilustra os efeitos da reduo do nmero de nveis de cinza sobre a qualidade
da imagem. Na figura 5(a) tem-se uma imagem de 442 x 299 pixels com 256 tons de cinza (n =
8). As figuras 5(b)-(h) foram obtidas reduzindo-se o nmero de bits de n = 7 at n = 1, enquanto
a resoluo espacial foi mantida constante em 442 x 299 pixels. A partir da imagem com 32 tons
de cinza perceptvel o surgimento de uma imperfeio na imagem, conhecida como 'falso
contorno' (false contouring).

24 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
(a)

(b)
(c)

(d)
(e)

(f)
(g) (h)
Figura 5 - Efeito do nmero de nveis de cinza na qualidade de uma imagem 442 x 299 com
256, 128, 64, 32, 16, 8, 4 e 2 nveis de cinza, respectivamente.
Fundamentos de Imagens Digitais 25
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Para obter uma imagem digital de qualidade semelhante a de uma imagem de televiso
P&B, so necessrios 512 x 512 pixels e 128 nveis de cinza. Em geral, 64 nveis de cinza so
considerados suficientes para o olho humano. Apesar disto, a maioria dos sistemas de viso
artificial utiliza imagens com 256 nveis de cinza.
Os processos de amostragem e quantizao podem ser aprimorados usando tcnicas
adaptativas. Sob o aspecto da amostragem, a idia bsica utilizar maior nmero de pontos em
regies de grande detalhe, em detrimento das regies homogneas de grandes dimenses, que
poderiam ser amostradas com menor nmero de pixels. Sob o ngulo da quantizao, uma vez
que o olho humano no capaz de perceber sutis diferenas de tons de cinza nas imediaes de
variaes abruptas de intensidade, o objetivo seria utilizar poucos nveis de cinza nestas regies.
O principal obstculo para a implementao destas tcnicas a necessidade de identificao
prvia (ainda que aproximada) das regies presentes na imagem e das fronteiras entre elas. No
caso da quantizao, entretanto, outra tcnica adaptativa pode ser utilizada. Efetuando um
levantamento da freqncia de ocorrncia de todos os nveis de cinza permitidos, pode-se
diminuir os degraus de quantizao nas regies da escala de cinza com maior concentrao de
ocorrncia de pixels, aumentando-os nas demais regies.
Leitura complementar
Para uma introduo questo da converso de uma cena tridimensional em uma imagem
bidimensional, incluindo transformaes de perspectiva, aspectos de calibrao de cmeras e
viso estreo, sugerimos [Faugeras 1993], o captulo 2 de [Schalkoff 1989] e a seo 2.5 de
[Gonzalez e Woods 1992].
Para maiores detalhes sobre o funcionamento de cmeras CCD e fundamentos de sinais
analgicos de vdeo recomendamos [Nince 1991].
Os captulos 1 a 5 de [Lindley 1991] trazem uma descrio pormenorizada de um
projeto de digitalizador de imagens (hardware e software).
Para uma anlise dos efeitos produzidos na qualidade da imagem pela variao
simultnea da resoluo espacial e do nmero de nveis de cinza, ver o trabalho de Huang
[Huang 1965], resumido na seo 2.3 de [Gonzalez e Woods 1992].
O captulo 2 de [Pavlidis 1982] traz informaes adicionais sobre os aspectos de
amostragem e quantizao.
Aos interessados em um aprofundamento matemtico dos aspectos abordados nesta
seo, recomendamos os captulos 1, 4, 5 e 6 de [Pratt 1991].
2.2 Propriedades de uma imagem digital
Nesta seo consideraremos as principais relaes entre pixels em uma imagem digital. Uma
imagem digital uma imagem f(x,y) discretizada tanto espacialmente quanto em amplitude.
Portanto, uma imagem digital pode ser vista como uma matriz cujas linhas e colunas identificam
um ponto na imagem, cujo valor corresponde ao nvel de cinza da imagem naquele ponto. Para
efeito de notao, uma imagem digital ser indicada por f(x,y). Quando nos referirmos a um
pixel em particular, utilizaremos letras minsculas, tais como p e q. Um subconjunto de pixels
de f(x,y) ser indicado por S.
2.2.1 Vizinhana
Um pixel p, de coordenadas (x,y), tem 4 vizinhos horizontais e verticais, cujas coordenadas so
(x+1, y), (x-1, y), (x, y+1) e (x, y-1). Estes pixels formam a chamada "4-vizinhana" de p, que
ser designada N
4
(p).
Os quatro vizinhos diagonais de p so os pixels de coordenadas (x-1, y-1), (x-1, y+1),
(x+1, y-1) e (x+1, y+1), que constituem o conjunto N
d
(p).
A "8-vizinhana" de p definida como:

26 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
N
8
(p) = N
4
(p) N
d
(p) (2.3)

Os vrios tipos de vizinhana esto ilustrados na figura 6.

p p p

Figura 6 - Conceitos de 4-vizinhana, vizinhana diagonal e 8-vizinhana.

2.2.2 Conectividade
A conectividade entre pixels um importante conceito usado para estabelecer limites de objetos
e componentes de regies em uma imagem. Para se estabelecer se dois pixels esto conectados,
necessrio determinar se eles so adjacentes segundo algum critrio e se seus nveis de cinza
satisfazem a um determinado critrio de similaridade. Por exemplo, em uma imagem binria,
onde os pixels podem assumir os valores 0 e 1, dois pixels podem ser 4-vizinhos, mas somente
sero considerados 4-conectados se possurem o mesmo valor.
Seja V o conjunto de valores de tons de cinza utilizados para se definir a conectividade.
Por exemplo, numa imagem binria, V = {1} para a conexo de pixels com valor 1. Numa
imagem de mltiplos tons de cinza, para a conexo de pixels com valores de intensidade na
faixa de 32 a 64, V = {32, 33, ..., 63, 64}. Conhecendo o conceito de vizinhana e dado o
conjunto V, podemos definir os seguintes critrios de conectividade:
1. "4-conectividade": dois pixels p e q com valores de tom de cinza contidos em V, so "4-
conectados" se q N
4
(p).
2. "8-conectividade": dois pixels p e q com valores de tom de cinza contidos em V, so "8-
conectados" se q N
8
(p).
3. "m-conectividade (conectividade mista)": dois pixels p e q com valores de tom de cinza
contidos em V, so "m-conectados" se:
(i) q N
4
(p) ou
(ii) q N
d
(p) e N
4
(p) N
4
(q) = .
A conectividade mista uma modificao da 8-conectividade e introduzida para
eliminar os mltiplos caminhos que geralmente surgem quando a 8-conectividade usada. Por
exemplo, seja o trecho de imagem da figura 7(a). Para V = {1} os caminhos entre 8 vizinhos do
pixel do centro so indicados por linhas contnuas na figura 7(b), onde se pode observar a
existncia de caminhos redundantes entre os pixels do centro e do canto superior esquerdo da
figura. Esta redundncia resolvida utilizando-se a m-conectividade, que remove a conexo
diagonal redundante, como mostra a figura 7(c).

1 1 0 1 1 0 1 1 0
0 1 0 0 1 0 0 1 0
1 0 0 1 0 0 1 0 0
(a) (b) (c)
Figura 7 - (a) Segmento de imagem binria, (b) 8-vizinhos do pixel central, (c) m-vizinhos do
pixel central.
Fundamentos de Imagens Digitais 27
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
2.2.3 Adjacncia
Um pixel p adjacente a um pixel q se eles forem conectados. H tantos critrios de adjacncia
quantos so os critrios de conectividade. Dois subconjuntos de imagens, S
1
e S
2
, so
adjacentes se algum pixel em S
1
adjacente a algum pixel em S
2
.
2.2.4 Caminho
Um caminho (path) de um pixel p de coordenadas (x,y) a um pixel q de coordenadas (s,t) uma
seqncia de pixels distintos de coordenadas: (x
0
, y
0
), (x
1
, y
1
), ... , (x
n
, y
n
),
onde:
(x
0
, y
0
) = (x,y)
(x
n
, y
n
) = (s,t)
(x
i
, y
i
) adjacente a (x
i-1
, y
i-1
)
1 s i s n
n denominado o comprimento do caminho.
2.2.5 Medies de distncia
Dados os pixels p, q e z, de coordenadas (x,y), (s,t) e (u,v), respectivamente, define-se a funo
distncia D, cujas propriedades so:
(i) D(p,q) > 0 (D(p,q) = 0 se e somente se p = q)
(ii) D(p,q) = D(q,p)
(iii) D(p,z) s D(p,q) + D(q,z)
Distncia Euclidiana

D p q x s y t
e
( , ) ( ) ( ) = +
2 2

(2.4)

Para esta medida de distncia, os pixels com distncia euclidiana em relao a (x,y) menor ou
igual a algum valor r, so os pontos contidos em um crculo de raio r centrado em (x,y).
Distncia D
4
(city-block)

D p q x s y t
4
( , ) = +
(2.5)

onde | . | denota mdulo (ou valor absoluto).
Neste caso, os pixels tendo uma distncia D
4
em relao a (x,y) menor ou igual a algum
valor r formam um losango centrado em (x,y). Os pixels com D
4
= 1 so os 4-vizinhos de (x,y).
Distncia D
8
(tabuleiro de xadrez)

( )
D p q max x s y t
8
( , ) , =
(2.6)

onde max um operador que devolve o maior valor dentre um conjunto de valores entre
parnteses.
Neste caso os pixels com distncia D
8
em relao a (x,y) menor ou igual a algum valor r
formam um quadrado centrado em (x,y). Os pixels com D
8
= 1 so os 8-vizinhos de (x,y).
28 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
O conceito de distncia pode estar relacionado ao conceito de conectividade. A
distncia D
m
expressa a distncia entre dois pontos m-conectados.

Exerccio resolvido
Seja o trecho de imagem binria a seguir:
p
3
p
4

p
1
p
2

p
Supondo que V = {1}, p = p
2
= p
4
= 1 e que p
1
e p
3
podem apresentar valores 0 ou 1, calcular a
distncia D
m
entre p e p
4
para as seguintes situaes:
a) Se p
1
= p
3
= 0.
Soluo: a distncia D
m
vale 2, pois o caminho m entre p e p
4
obtido unindo-se os pixels p, p
2

e p
4
.
b) Se p
1
ou p
3
valem 1.
Soluo: a distncia D
m
vale 3, pois o caminho m entre p e p
4
ser p, p
1
, p
2
, p
4
ou p, p
2
, p
3
, p
4
.
c) Se p
1
e p
3
valem 1.
Soluo: a distncia D
m
vale 4, pois o caminho m entre p e p
4
ser p, p
1
, p
2
, p
3
, p
4
.
Leitura complementar
As subsees 2.4.3 e 2.4.4 de [Gonzalez e Woods 1992] apresentam um mtodo de atribuio de
rtulos a aglomerados de pixels conectados de uma imagem e relacionam este procedimento aos
conceitos matemticos de relao binria, relao de equivalncia e fecho transitivo.
2.3 Operaes lgicas e aritmticas
Sabemos que aps uma imagem ter sido adquirida e digitalizada, ela pode ser vista como uma
matriz de inteiros e portanto pode ser manipulada numericamente utilizando operaes lgicas
e/ou aritmticas. Estas operaes podem ser efetuadas pixel a pixel ou orientadas a vizinhana.
No primeiro caso, elas podem ser descritas pela seguinte notao:
X opn Y = Z
onde X e Y podem ser imagens (matrizes) ou escalares, Z obrigatoriamente uma matriz e opn
um operador aritmtico (+, -, x e /) ou lgico (AND, OR, XOR) binrio
2
.
Sejam duas imagens X e Y de igual tamanho. Estas imagens podem ser processadas
pixel a pixel utilizando um operador aritmtico ou lgico, produzindo uma terceira imagem Z,
cujos pixels correspondem ao resultado de X opn Y para cada elemento de X e Y, conforme
ilustra esquematicamente a figura 8.

X Z Y
opn

Figura 8 - Operaes lgicas / aritmticas pixel a pixel.


2
Aqui, o termo binrio deve ser entendido como 'que requer dois operandos' e no tem qualquer relao
com imagem binria.
Fundamentos de Imagens Digitais 29
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
2.3.1 Operaes aritmticas pixel a pixel
Ao executarmos operaes aritmticas sobre imagens, devemos tomar especial cuidado
com os problemas de underflow ou overflow do resultado. A adio de duas imagens de 256
tons de cinza, por exemplo, pode resultar em um nmero maior que 255 para alguns pixels, ao
mesmo tempo que a subtrao de duas imagens pode resultar em valores negativos para alguns
elementos. Para contornar estes problemas, existem basicamente duas alternativas: (1) manter os
resultados intermedirios em uma matriz na qual o espao em memria alocado para cada pixel
permita a representao de nmeros negativos e/ou maiores que 255 e em seguida proceder a
uma normalizao destes valores intermedirios; (2) truncar os valores maiores que o mximo
valor permitido, bem como os valores negativos, igualando-os a 255 e 0, respectivamente. A
deciso depende do objetivo que se tem em mente ao executar determinada operao.
Efetivamente, a segunda alternativa mais simples que a primeira.

Exerccio resolvido
Dadas as matrizes X e Y a seguir, correspondentes a trechos 3 x 3 de imagens de 256 tons de
cinza, adicion-las e informar: (a) o resultado intermedirio (sem consideraes de underflow e
overflow), (b) o resultado final utilizando normalizao, (c) o resultado final utilizando
truncamento.
X Y =

(
(
(
=

(
(
(
200 100 100
0 10 50
50 250 120
100 220 230
45 95 120
205 100 0

Soluo:

(a)
300 320 330
45 105 170
255 350 120

(
(
(


(b) Fazendo com que a escala [45, 350] seja adequada ao intervalo [0, 255], utilizando-se a
relao

g
f f
f f
max min
min
=


255
( ) ,
(2.7)

obtm-se:
213 230 238
0 50 105
175 255 63

(
(
(


(c) Truncando os valores maiores que 255, obtm-se:
255 255 255
45 105 170
255 255 120

(
(
(



30 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
As principais aplicaes das operaes aritmticas sobre imagens esto resumidas na
tabela 4. Assim como Y foi implicitamente considerado at aqui como sendo uma matriz, ele
tambm pode ser um escalar. A segunda coluna da tabela 4 avalia os efeitos qualitativos das
operaes aritmticas sobre imagens, abordando ambas as possibilidades. As figuras 9 a 12
mostram exemplos de cada operao aritmtica.

Tabela 4 - Efeitos e aplicaes das operaes aritmticas sobre imagens
Operao Efeito sobre a imagem Aplicaes
Adio Z o resultado da soma dos valores de
intensidade de X e Y. Se Y for um escalar
positivo, Z ser uma verso mais clara de
X; o acrscimo de intensidade ser o
prprio valor de Y.
Normalizao de brilho
3
de
imagens
Remoo de rudos (ver
tcnica da filtragem pela mdia
de mltiplas imagens na
subseo 4.2.4)
Subtrao Z o resultado da diferena dos valores de
intensidade de X e Y. Se Y for um escalar
positivo, Z ser uma verso mais escura de
X; o decrscimo de intensidade ser o
prprio valor de Y.
Deteo de diferenas entre
duas imagens (eventualmente
adquiridas de forma
consecutiva) da mesma cena
Multiplicao Z o produto dos valores de intensidade de
X e Y. Se Y for um escalar positivo, os
valores de intensidade de Z sero
diretamente proporcionais a X por um fator
Y.
Calibrao de brilho
4

Diviso Z o razo dos valores de intensidade de X
pelos valores correspondentes em Y. Se Y
for um escalar positivo, os valores de
intensidade de Z sero inversamente
proporcionais a X por um fator Y.
Normalizao de brilho




(a)

(b)

(c)
Figura 9 - Exemplo de adio de imagens monocromticas: (a) X, (b) Y, (c) X + Y
(normalizado).


3
O processo de normalizao de brilho consiste em adequar a faixa total de nveis de cinza a um
intervalo pr-definido, de forma semelhante ao efetuado na parte (b) do Exerccio Resolvido desta seo.
4
A calibrao de brilho um processo semelhante normalizao de brilho, mas que pode estar
relacionado adequao a diferentes valores de iluminncia sobre uma mesma cena, por exemplo.
Fundamentos de Imagens Digitais 31
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Figura 10 - Exemplo de subtrao das imagens monocromticas das figuras 9(a) e 9(b): X - Y
(normalizado).


Figura 11 - Exemplo de multiplicao das imagens monocromticas das figuras 9(a) e 9(b): XY
(normalizado).


Figura 12 - Exemplo de diviso de imagens monocromticas das figuras 9(a) e 9(b): X / Y
(normalizado).

2.3.2 Operaes lgicas pixel a pixel
Todas as operaes lgicas (ou booleanas) conhecidas podem ser aplicadas entre imagens,
inclusive a operao de complemento (NOT), que uma operao unria (requer apenas um
operando). Operaes lgicas podem ser efetuadas em imagens com qualquer nmero de nveis
de cinza mas so melhor compreendidas quando vistas em imagens binrias, como ilustra a
figura 13. As figuras 14 a 17 ilustram as operaes AND, OR, XOR e NOT aplicadas a imagens
com mltiplos tons de cinza.

32 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
X

(a)
Y

(b)

X and Y

(c)

X or Y

(d)

X xor Y

(e)

(not X) and Y

(f)

not X

(g)

not Y

(h)
Figura 13 - Exemplos de operaes lgicas em imagens binrias.

Fundamentos de Imagens Digitais 33
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

(a) (b) (c)
Figura 14 - Exemplo de operao AND entre imagens monocromticas: (a) X, (b) Y, (c) X . Y.


(a) (b) (c)
Figura 15 - Exemplo de operao OR entre imagens monocromticas: (a) X, (b) Y, (c) X v Y.


(a) (b) (c)
Figura 16 - Exemplo de operao XOR entre imagens monocromticas: (a) X, (b) Y, (c) X Y.


(a)

(b)
Figura 17 - Exemplo de operao NOT sobre imagem monocromtica: (a) X, (b) NOT X.

2.3.3 Operaes orientadas a vizinhana
As operaes lgicas e aritmticas orientadas a vizinhana utilizam o conceito de convoluo
com mscaras (ou janelas ou templates), que ser introduzido a seguir e detalhado na prxima
seo.
34 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Seja uma sub-rea de uma imagem:

Z
1
Z
2
Z
3

Z
4
Z
5
Z
6

Z
7
Z
8
Z
9


onde: Z
1
, ..., Z
9
so os valores de tons de cinza de cada pixel.
Seja uma mscara 3 x 3 de coeficientes genricos W
1
, ..., W
9
:

W
1
W
2
W
3

W
4
W
5
W
6

W
7
W
8
W
9


A mscara acima percorrer a imagem, desde o seu canto superior esquerdo at seu
canto inferior direito. A cada posio relativa da mscara sobre a imagem, o pixel central da
subimagem em questo ser substitudo, em uma matriz denominada 'imagem-destino', por um
valor:
Z Wi Zi
i
=
=

.
1
9
,
(2.8)

As operaes de convoluo com mscaras so amplamente utilizadas no processamento de
imagens. Uma seleo apropriada dos coeficientes W
1
, ..., W
9
torna possvel uma grande
variedade de operaes teis, tais como reduo de rudo, afinamento e deteo de
caractersticas da imagem. Deve-se observar, entretanto, que a operao de convoluo com
mscaras exige grande esforo computacional. Por exemplo, a aplicao de uma mscara 3 x 3
sobre uma imagem 512 x 512 requer nove multiplicaes e oito adies para cada localizao de
pixel, num total de 2.359.296 multiplicaes e 2.097.152 adies. Por esta razo, aliada
relativa simplicidade de implementao de multiplicadores, somadores e registradores de
deslocamento (shift registers), a literatura registra diversas implementaes de convoluo com
mscaras em hardware.
Leitura complementar
O captulo 11 de [Lindley 1991] apresenta, alm das operaes abordadas nesta seo, outras
funes interessantes que operam pixel a pixel e podem ser aplicadas a imagens
monocromticas.
O captulo 1 de [Dougherty e Giardina 1987] apresenta as operaes bsicas sobre
imagens monocromticas sob um enfoque exclusivamente matricial.
2.4 Operaes de convoluo com mscaras
Conforme antecipamos na seo anterior, inmeras operaes teis em processamento de
imagens so efetuadas a partir de um mesmo conceito bsico, o de convoluo com mscaras.
Nesta seo abordaremos em mais detalhes o funcionamento das operaes de convoluo e
apresentaremos alguns exemplos tpicos de mscaras e os resultados que elas produzem quando
aplicadas a imagens monocromticas.
A operao de convoluo unidimensional entre dois vetores A e B, denotada A*B,
pode ser entendida como um conjunto de somas de produtos entre os valores de A e B, sendo
que inicialmente o vetor B espelhado e aps cada soma de produtos deslocado espacialmente
de uma posio. Para ilustrar este conceito, mostraremos a seguir, passo a passo, a convoluo
do vetor A = {0, 1, 2, 3, 2, 1, 0} com o vetor B = {1, 3, -1}.
Fundamentos de Imagens Digitais 35
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
1. Inicialmente, o vetor B espelhado e alinhado com o primeiro valor de A. O resultado da
convoluo (0 x (-1)) + (0 x 3) + (1 x 1) = 1 (valores em branco assumidos como zero) e
colocado em A*B na posio correspondente ao centro do conjunto B.
A 0 1 2 3 2 1 0
B -1 3 1
A*B 1

2. O conjunto B deslocado de uma posio. O resultado da convoluo A*B (0 x (-1)) + (1 x
3) + (2 x 1) = 5.
A 0 1 2 3 2 1 0
B -1 3 1
A*B 1 5

3. O conjunto B deslocado de uma posio. O resultado da convoluo A*B (1 x (-1)) + (2 x
3) + (3 x 1) = 8.
A 0 1 2 3 2 1 0
B -1 3 1
A*B 1 5 8

4. O conjunto B deslocado de uma posio. O resultado da convoluo A*B (2 x (-1)) + (3 x
3) + (2 x 1) = 9.
A 0 1 2 3 2 1 0
B -1 3 1
A*B 1 5 8 9

5. O conjunto B deslocado de uma posio. O resultado da convoluo A*B (3 x (-1)) + (2 x
3) + (1 x 1) = 4.
A 0 1 2 3 2 1 0
B -1 3 1
A*B 1 5 8 9 4

6. O conjunto B deslocado de uma posio. O resultado da convoluo A*B (2 x (-1)) + (1 x
3) + (0 x 1) = 1.
A 0 1 2 3 2 1 0
B -1 3 1
A*B 1 5 8 9 4 1

7. O conjunto B deslocado de uma posio. O resultado da convoluo A*B (1 x (-1)) + (0 x
3) + (0 x 1) = -1. (valores em branco assumidos como zero)
A 0 1 2 3 2 1 0
B -1 3 1
A*B 1 5 8 9 4 1 -1

O conjunto {1, 5, 8, 9, 4, 1, -1} o resultado final da operao de convoluo.
Este raciocnio pode ser expandido para o caso bidimensional, onde a imagem a ser
processada uma matriz bidimensional relativamente grande e corresponde ao conjunto A de
36 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
nosso exemplo anterior, enquanto uma matriz de pequenas dimenses (tambm chamada
mscara ou janela) corresponde ao conjunto B. A mscara, aps ter sido espelhada tanto na
horizontal quanto na vertical, percorrer todos os pontos da imagem deslocando-se ao longo de
cada linha e entre as vrias linhas, da direita para a esquerda, de cima para baixo, at ter
processado o ltimo elemento da matriz imagem. O resultado ser armazenado em uma matriz
de mesmas dimenses que a imagem original.
Seja a matriz A (imagem) dada por:
5 8 3 4 6 2 3 7
3 2 1 1 9 5 1 0
0 9 5 3 0 4 8 3
4 2 7 2 1 9 0 6
9 7 9 8 0 4 2 4
5 2 1 8 4 1 0 9
1 8 5 4 9 2 3 8
3 7 1 2 3 4 4 6

(
(
(
(
(
(
(
(
(
(
(


e seja a matriz B (mscara) a seguir:
2 1 0
1 1 1
0 1 2

(
(
(
.

A operao de convoluo bidimensional produzir como resultado a matriz:

20 10 2 26 23 6 9 4
18 1 -8 2 7 3 3 -11
14 22 5 -1 9 -2 8 -1
29 21 9 -9 10 12 -9 -9
21 1 16 -1 -3 -4 2 5
15 -9 -3 7 -6 1 17 9
21 9 1 6 -2 -1 23 2
9 -5 -25 -10 -12 -15 -1 -12


20
(-2x0)+(-1x0)+(0x0)+
(-1x0)+(1x5)+(1x8)+
(0x0)+(1x3)+(2x2)=20
-2x0
-1x0
0x0
0x0
-1x0
1x5
1x8
1x3
2 x2

Figura 18 - Clculo do primeiro valor da convoluo de A por B.

Fundamentos de Imagens Digitais 37
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
A figura 18 ilustra em detalhes o clculo do resultado correspondente ao pixel no canto
superior esquerdo da imagem. Observar que a mscara B foi espelhada em relao a x e a y
antes do clculo das somas de produtos.
Para calcular os valores resultantes dos pixels prximos s bordas da imagem, podem
ser adotadas diversas estratgias, dentre elas:
1. preencher com zeros o contorno da imagem, de maneira condizente com o tamanho
de mscara utilizado, como ilustra a figura 18.
2. preencher o contorno da imagem com os mesmos valores da(s) primeira(s) e ltima(s)
linha(s) e coluna(s).
3. prevenir a eventual introduo de erros nas regies de bordas da imagem causados
por qualquer um dos mtodos acima, considerando na imagem resultante apenas os valores para
os quais a mscara de convoluo ficou inteiramente contida na imagem original.
A seguir, ilustraremos o uso do conceito de convoluo com mscaras aplicado
deteo de caratersticas de imagens, particularmente pontos isolados, linhas e bordas.
2.4.1 Deteo de pontos isolados
A mscara a seguir um exemplo de operador de convoluo que, quando aplicado a uma
imagem, destacar pixels brilhantes circundados por pixels mais escuros. Como ser visto na
seo 4.3, este operador corresponde a um filtro passa-altas.



(
(
(
1 1 1
1 8 1
1 1 1

2.4.2 Deteo de linhas
As mscaras a seguir podem ser utilizadas para a deteo de linhas horizontais e verticais
(acima) e diagonais (abaixo).


(
(
(
1 1 1
2 2 2
1 1 1



(
(
(
1 2 1
1 2 1
1 2 1



(
(
(
1 1 2
1 2 1
2 1 1

2 1 1
1 2 1
1 1 2


(
(
(

2.4.3 Deteo de bordas
O tema 'deteo de bordas' (edge detection) vem desafiando os pesquisadores da rea de
Processamento de Imagens h muitos anos e sobre ele continuam sendo experimentadas novas
tcnicas, cujos resultados so publicados ainda hoje nos mais conceituados peridicos
cientficos mundiais. Trata-se, portanto, de um tema em aberto, a deteo de bordas em cenas
consideradas 'difceis'.
Apenas a ttulo de ilustrao da operao de convoluo com mscaras apresentamos a
seguir alguns exemplos de mscaras que podem ser utilizadas para a tarefa de deteo de
bordas.
Define-se borda (edge) como a fronteira entre duas regies cujos nveis de cinza
predominantes so razoavelmente diferentes. Pratt [Pratt 1991] define uma borda de
luminosidade como uma descontinuidade na luminosidade de uma imagem. Analogamente,
pode-se definir borda de textura ou borda de cor, em imagens onde as informaes de textura ou
38 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
cor, respectivamente, so as mais importantes. Neste livro trataremos somente de bordas de
luminosidade, s quais denominaremos simplesmente bordas.
Para a deteo e realce de bordas, aplicam-se habitualmente filtros espaciais lineares de
dois tipos: (a) baseados no gradiente da funo de luminosidade, I(x,y), da imagem, e (b)
baseados no laplaciano de I(x,y).
Tanto o gradiente quanto o laplaciano costumam ser aproximados por mscaras de
convoluo ou operadores 3 x 3. Exemplos destas mscaras so os operadores de Roberts,
Sobel, Prewitt e Frei-Chen, mostrados na tabela 5.

Tabela 5 - Operadores 3 x 3 utilizados para estimar a amplitude do gradiente atravs de uma
borda.
Operador Vertical Horizontal
Roberts
0 0 1
0 1 0
0 0 0

(
(
(

(
(
(
1 0 0
0 1 0
0 0 0

Sobel
1
4
1 0 1
2 0 2
1 0 1

(
(
(

1
4
1 2 1
0 0 0
1 2 1

(
(
(

Prewitt
1
3
1 0 1
1 0 1
1 0 1

(
(
(

1
3
1 1 1
0 0 0
1 1 1

(
(
(

Frei-Chen
1
2 2
1 0 1
2 0 2
1 0 1
+

(
(
(

1
2 2
1 2 1
0 0 0
1 2 1
+

(
(
(



(a) (b) (c)
Figura 19 - Exemplo de realce e deteo de bordas. (a) imagem original, (b) realce de bordas
utilizando os operadores de Prewitt horizontal e vertical, (c) realce de bordas utilizando os
operadores de Sobel horizontal e vertical.
A figura 19 mostra os resultados da aplicao dos operadores de Prewitt e Sobel a uma
imagem monocromtica. Os resultados obtidos com a aplicao dos operadores verticais e
Fundamentos de Imagens Digitais 39
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
horizontais foram combinados por meio de uma operao lgica OR. Notar que as diferenas
so pouco perceptveis.
O laplaciano um operador definido como:

= +
2
2
2
2
2
f x y
f
x
f
y
( , )


(2.9)

e que pode ser aproximado pelas mscaras da figura 20.

0 1 0
1 4 1
0 1 0
1 1 1 1 1
1 1 1 1 1
1 1 24 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 8 8 8 1 1 1
1 1 1 8 8 8 1 1 1
1 1 1 8 8 8

(
(
(




(
(
(
(
(
(








(
(
(
(
(
(
(
(
(
(
(
(
1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
(a) (b) (c)
Figura 20 - Mscaras para o clculo do laplaciano: (a) 3 x 3, (b) 5 x 5, (c) 9 x 9.

A figura 21 mostra os resultados obtidos com cada uma das mscaras da figura 20
aplicadas a uma imagem monocromtica.
Embora o laplaciano seja insensvel rotao, e portanto capaz de realar ou detetar
bordas em qualquer direo, seu uso restrito devido a sua grande suscetibilidade a rudo.
A figura 22 mostra um exemplo de aplicao do laplaciano 3 x 3 acima a uma imagem
monocromtica com e sem rudo.

(a) (b)
Figura 21 - Resultados da aplicao da mscara do laplaciano: (a) 3 x 3, (b) 5 x 5, (c) 9 x 9, (d)
imagem original.

40 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
(c)
(d)
Figura 21 - Continuao.

(a)

(b)
(c) (d)
Figura 22 - Exemplo de utilizao do laplaciano: (a) imagem original, (b) imagem ruidosa, (c)
laplaciano sobre (a), (d) laplaciano sobre (b).

Existem outros operadores direcionais, que nada mais so que conjuntos de mscaras
que representam aproximaes discretas de bordas ideais em vrias direes. Estes operadores
incluem as mscaras direcionais introduzidas por Prewitt [Prewitt 1970], Kirsch [Kirsch 1971],
e as mscaras simples de 3 e 5 nveis de Robinson [Robinson 1977]. A tabela 6 mostra estas
mscaras com suas respectivas direes cardeais.
Fundamentos de Imagens Digitais 41
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Tabela 6 - Mscaras de Prewitt, Kirsch e Robinson.
Direo
da borda
Direo
grad.
Prewitt Kirsch Robinson 3
nveis
Robinson 5
nveis
1 1 1 5 5 5 1 1 1 1 2 1
0 N 1 -2 1 -3 0 -3 0 0 0 0 0 0
-1 -1 -1 -3 -3 -3 -1 -1 -1 -1 -2 -1

1 1 1 5 5 -3 1 1 0 2 1 0
1 NO 1 -2 -1 5 0 -3 1 0 -1 1 0 -1
1 -1 -1 -3 -3 -3 0 -1 -1 0 -1 -2

1 1 -1 5 -3 -3 1 0 -1 1 0 -1
2 O 1 -2 -1 5 0 -3 1 0 -1 2 0 -2
1 1 -1 5 -3 -3 1 0 -1 1 0 -1

1 -1 -1 -3 -3 -3 0 -1 -1 0 -1 -2
3 SO 1 -2 -1 5 0 -3 1 0 -1 1 0 -1
1 1 1 5 5 -3 1 1 0 2 1 0

-1 -1 -1 -3 -3 -3 -1 -1 -1 -1 -2 -1
4 S 1 -2 1 -3 0 -3 0 0 0 0 0 0
1 1 1 5 5 5 1 1 1 1 2 1

-1 -1 1 -3 -3 -3 -1 -1 0 -2 -1 0
5 SE -1 -2 1 -3 0 5 -1 0 1 -1 0 1
1 1 1 -3 5 5 0 1 1 0 1 2

-1 1 1 -3 -3 5 -1 0 1 -1 0 1
6 E -1 -2 1 -3 0 5 -1 0 1 -2 0 2
-1 1 1 -3 -3 5 -1 0 1 -1 0 1

1 1 1 -3 5 5 0 1 1 0 1 2
7 NE -1 -2 1 -3 0 5 -1 0 1 -1 0 1
-1 -1 1 -3 -3 -3 -1 -1 0 -2 -1 0

Fator de
escala
1/5

1/15

1/3

1/4


Leitura complementar
Aos interessados em um aprofundamento matemtico dos aspectos abordados nesta seo,
recomendamos os captulos 7 e 16 de [Pratt 1991].
A seo 6.4 de [Haralick e Shapiro 1992] trata dos temas convoluo e correlao. A
questo de deteo de bordas e linhas vista no captulo 7 do mesmo livro.
O captulo 3 de [Dougherty e Giardina 1987] inteiramente dedicado deteo de
bordas.
O artigo de Dawson [Dawson 1987] traz fragmentos de cdigo em C para a convoluo
de imagens com mscaras 3 x 3 e explica sua possvel utilizao em processos de filtragem e
deteo de bordas.
Prosise [Prosise 1994a] apresenta exemplos de mscaras de convoluo teis para
produo de efeitos em imagens, tais como realce, borramento (blurring) e o efeito de baixo
relevo (emboss).
Jain [Jain 1989] apresenta o conceito de gradientes estocsticos para resolver o
problema da deteo de bordas em imagens ruidosas.
42 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
2.5 Transformaes geomtricas
Transformaes geomtricas so operaes de processamento de imagens cujo principal efeito
a alterao da posio espacial dos pixels que a compem. Elas costumam ser teis em situaes
que vo desde a correo de distores at a produo de efeitos artsticos sobre imagens.
2.5.1 Ampliao e reduo (zoom)
As operaes de ampliao e reduo de imagens (em ingls, zoom in e zoom out,
respectivamente) so processos pelos quais as dimenses de uma imagem so aumentadas ou
diminudas para efeito de visualizao. A maneira mais simples de ampliar uma imagem
duplicar os valores dos pixels na direo X ou Y ou em ambas. Se o fator de ampliao no for
o mesmo para as duas direes, a razo de aspecto (relao entre a dimenso horizontal e a
vertical de uma imagem) da imagem ser alterada.
Para expandir uma imagem por um fator 2, cada pixel copiado 4 vezes na imagem
resultante, conforme ilustra a figura 23. Convm notar que a resoluo da imagem no
alterada, apenas seu tamanho para efeito de visualizao.


Figura 23 - Expanso de um pixel em 4 (zoom 2x)

Para reduzir as dimenses de uma imagem de um fator 2, basta utilizar o processo
inverso, isto converter cada agrupamento de quatro pixels novamente em 1 pixel. O problema
neste caso que normalmente estes pixels apresentaro valores diferentes de cinza, o que
equivale a dizer que poder haver perda de informao no processo de zoom out. Para minimizar
este aspecto, uma tcnica comum substituir na imagem resultante o valor do pixel pela mdia
dos quatro pixels equivalentes na imagem original.
Para um zoom de quatro vezes, utiliza-se uma vizinhana de dezesseis pixels e assim por
diante. Para ampliar ou reduzir uma imagem de um fator fracionrio, so necessrios algoritmos
de interpolao cujo detalhamento foge ao escopo deste livro.
A figura 24 mostra exemplos de zoom in e zoom out para imagens monocromticas.
2.5.2 Alteraes de dimenses (scaling e sizing)
As modificaes de uma imagem descritas anteriormente visam predominantemente facilitar a
visualizao e, via de regra, no representam alteraes nas dimenses reais da imagem. Ou
seja, quando dissemos que um pixel multiplicado por 4, o leitor deve entender que um pixel da
imagem que originalmente ocuparia um ponto do dispositivo de exibio passar a ocupar
quatro pontos, sem afetar em nada as dimenses reais da imagem.
Caso nosso objetivo seja a alterao de dimenses da imagem, as tcnicas descritas
acima podem ser utilizadas, com a diferena de que a sada ser o arquivo contendo a imagem
alterada (ampliada/reduzida) e no o resultado visual de sua exibio em maior ou menor
tamanho na tela. A literatura tcnica de processamento de imagens por vezes distingue dois
tipos de alteraes de dimenses de uma imagem, embora tecnicamente idnticos:
1. o processo denominado scaling refere-se ao caso em que a imagem ampliada ou reduzida
por um fator (que pode ser igual para as dimenses horizontal e vertical preservando a
relao de aspecto original ou no);
2. o nome sizing (algumas vezes resizing) utilizado nos casos em que, ao invs de especificar
o fator de ampliao / reduo, o usurio especifica o novo tamanho que a imagem deve
possuir.

Fundamentos de Imagens Digitais 43
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

(a)


(b)
Figura 24 - (a) imagem original, (b) imagem ampliada (zoom in) de 2 vezes; (c) imagem
reduzida (zoom out) de 2 vezes.
44 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.


(c)
Figura 24 - Continuao.

2.5.3 Translao
A translao de uma imagem consiste basicamente no deslocamento linear de cada pixel de
coordenadas (X,Y) na horizontal e/ou na vertical, mapeando para o ponto de coordenadas (X',Y'),
calculadas como: (X',Y') = (X + AX, Y + AY), onde AX o deslocamento vertical e AY o
deslocamento horizontal (em pixels).
2.5.4 Rotao
Uma imagem pode ser rotacionada de um ngulo arbitrrio, tanto no sentido horrio quanto no
anti-horrio. Rotaes com ngulos mltiplos de 90 so mais simples de implementar, pois
consistem na cpia de pixels que esto organizados em linhas, reordenando-os em colunas na
direo em que se deseja rotacionar a imagem. A figura 25 ilustra o processo de rotao de 90
no sentido horrio. A rea tracejada destaca as primeiras linhas da imagem original, que so
reposicionadas em formas de colunas, da direita para a esquerda, na imagem rotacionada.


(a)

(b)
Figura 25 - Exemplo de rotao de 90 no sentido horrio.

A rotao por ngulos quaisquer uma tarefa mais complexa, que pode ser
implementada usando as tcnicas de warping descritas adiante. Matematicamente, a rotao de
cada ponto (X,Y) de uma imagem por um ngulo arbitrrio Ang, mapear este ponto na
localidade de coordenadas (X',Y'), onde X' e Y' so calculados pelas equaes:

X X Ang Y Ang
Y Y Ang X Ang
' cos( ) sen( )
' cos( ) sen( )
= +
=

(2.10)
(2.11)

Fundamentos de Imagens Digitais 45
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
O processo de rotao normalmente exige a correo de razo de aspecto da imagem resultante,
tendo em vista que diversos modos de exibio de vdeo utilizam pixels no-quadrados.
2.5.5 Espelhamento (Flip)
O espelhamento (flip) uma operao que combina a rotao por ngulos mltiplos de 90 com
o clculo de matriz transposta. Um flip horizontal nada mais que uma rotao de 90 no
sentido anti-horrio (ou 270 no sentido horrio) da verso transposta da imagem, enquanto um
flip vertical uma rotao de 90 no sentido horrio (ou 270 no sentido anti-horrio) da verso
transposta da imagem. A figura 26 mostra exemplos de flip horizontal e vertical.

(a)


(b)

(c)
Figura 26 - (a) Imagem original, (b) flip horizontal, (c) flip vertical.

2.5.6 Warping
Warping o nome dado ao processo de alterao de uma imagem de tal modo que a relao
espacial entre seus objetos e caractersticas alterada conforme outra imagem ou gabarito
(template).
A transformao matemtica mais comum baseada na projeo afim (affine
projection), dada pelas equaes:

X
aX bY c
iX jY
Y
dX eY f
iX jY
'
'
=
+ +
+ +
=
+ +
+ +
1
1

(2.12)
(2.13)

onde X e Y so as coordenadas antigas e X' e Y' as novas. Os coeficientes a, b, c, d, e, f, i e j so
determinados a partir de um conjunto de pontos de controle que correspondem congruncia
46 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
desejada entre as duas imagens ou entre a imagem original e o template selecionado. A figura 27
mostra um exemplo do processo de warping aplicado a uma imagem binria simples.

B
B
A
A

Figura 27 - Exemplo de warping.

Neste exemplo, o ponto A movido para a posio A' e B movido para B'. A projeo
afim exige que sejam selecionados quatro pares de pontos de controle, para resultar um sistema
de oito equaes a oito incgnitas. Os pares A-A' e B-B' so duas escolhas bvias. Os outros
dois pontos escolhidos, neste exemplo, so os dois cantos restantes do quadrado (que
permanecero inalterados). Se tivssemos selecionado mais de quatro pontos de controle, um
ajuste por mnimos quadrados seria necessrio para determinar os melhores valores para a
transformao.
Na prtica, um programa para a soluo simultnea de um sistema de equaes
utilizado para calcular os valores dos coeficientes. Ento, entrando com as coordenadas X' e Y'
da imagem destino, calcula-se os valores correspondentes de X e Y na imagem original. O nvel
de cinza do ponto de coordenadas (X,Y) ento atribudo posio (X',Y') na imagem destino.
Este processo de mapeamento pode ser facilmente executado em paralelo, pois cada ponto na
imagem resultante depende de apenas um ponto da imagem original.
A figura 28 mostra um exemplo de warping utilizando imagem monocromtica.

(a) (b)
Figura 28 - Exemplo de warping de uma imagem monocromtica utilizando padro (template)
em forma de losango.
Fundamentos de Imagens Digitais 47
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Exerccio resolvido
Baseando-se na figura 27, dadas as coordenadas originais dos vrtices do quadrado e as
coordenadas desejadas para o quadrado aps o warping, indicadas na tabela a seguir e ilustradas
na figura 29, calcular os valores dos coeficientes a, b, c, d, e, f, i e j correspondentes
transformao desejada.

Ponto de controle Coordenadas originais
(X,Y)
Coordenadas aps warping
(X',Y')
1 (0,0) (2,2)
2 (4,4) (3,3)
3 (4,0) (4,0)
4 (0,4) (0,4)

(0,0) (0,4)
(2,2)
(3,3)
(4,0) (4,0) (4,4)
(0,4)
x

Figura 29 - Coordenadas dos pontos de controle antes e depois do warping.

Soluo:
Entrando com estes valores para as coordenadas e resolvendo o sistema de equaes resultante
(eqs. 2.12 e 2.13), obtemos os seguintes valores para os coeficientes:

a = 0,75 b = -0,25 c = 1,00 d = -0,25
e = 0,75 f = 1,00 i = 0,00 j = 0,00

Para verificar se os coeficientes calculados esto corretos, podemos escolher um ponto
na imagem modificada, por exemplo o ponto de coordenadas (0,5, 2,5), indicado com uma cruz
na figura 29. Calculando os valores de X e Y correspondentes a este ponto na imagem original,
obteremos o par (0, 2), como esperado.

2.5.7 Cropping, cutting e pasting
Recortar e colar trechos de imagens para compor novas imagens so operaes corriqueiras de
manipulao de imagens. Existem trs formas de se recortar uma imagem. A primeira e mais
simples consiste em utilizar uma regio retangular, definida pelas coordenadas de dois de seus
vrtices. A segunda consiste em utilizar uma figura geomtrica regular qualquer ou um
polgono, regular ou no. A terceira e mais complexa consiste em se permitir delimitar a rea de
recorte ' mo livre' utilizando o mouse ou dispositivo equivalente. O detalhamento de tais
operaes, por se enquadrarem mais no contexto de manipulao de imagens, foge ao objetivo
do texto.
Leitura complementar
Para maiores detalhes sobre os aspectos de interpolao necessrios implementao de
diversas transformaes geomtricas apresentadas nesta seo, recomendamos as subsees
4.3.2 e 14.5.1 de [Pratt 1991] e o captulo 12 de [Lindley 1991].
Dawson [Dawson 1987] traz fragmentos de cdigo em C para a execuo de
transformaes geomtricas sobre imagens, particularmente rotao e resizing. Em outro artigo
48 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
[Dawson 1989], ele apresenta trechos de cdigo em C para operaes de cutting, pasting e
warping.
Prosise [Prosise 1994b] apresenta um programa (AllPaper) para redimensionar arquivos
em formato BMP.
Exerccios Propostos
1. Dados os dois subconjuntos de imagem S
1
e S
2
a seguir e sendo V = {1}, determinar se S
1
e
S
2
esto: (a) 4-conectados, (b) 8-conectados, (c) m-conectados.

S
1
S
2

0 1 0 0 0 1 0 0 0 0
1 0 0 1 0 0 0 0 1 0
1 0 1 1 0 1 1 1 0 1
1 0 1 1 1 0 0 0 1 0
0 0 0 1 0 0 1 0 0 0

2. Dadas as matrizes X e Y a seguir, correspondentes a trechos 3 x 3 de imagens de 256 tons de
cinza, efetuar a subtrao X-Y e informar: (a) o resultado intermedirio (sem consideraes
de underflow e overflow), (b) o resultado final utilizando normalizao, (c) o resultado final
utilizando truncamento.

X Y =

(
(
(
=

(
(
(
200 100 100
0 10 50
50 250 120
100 220 230
45 95 120
205 100 0


3. Considere o trecho de imagem a seguir, representado por uma matriz, onde cada elemento da
matriz corresponde ao nvel de cinza do pixel correspondente.
Seja V = {250, 251, 252, 253, 254, 255}. Calcular as distncias D
4
, D
8
e D
m
entre p e q.
p
250 253 254 253
251 253 16 54
76 255 254 65
38 16 17 255
q

4. Supondo que se deseja transmitir distncia uma imagem, utilizando um protocolo de
comunicao em que a imagem dividida em pacotes, onde cada pacote contm 1 bit de
incio (start bit), um byte (8 bits) de informao e 1 bit de trmino (stop bit), responder:
a) Qual o tempo necessrio para se transmitir uma imagem de 512 x 512 pixels, com 256 nveis
de cinza, velocidade de 9600 bps?
b) Qual seria o tempo de transmisso da mesma imagem velocidade de 28800 bps?

5. Dada a imagem binria a seguir, onde os pixels marcados com 1 so pretos e os demais
brancos, esboar o resultado da aplicao passo a passo da tcnica de suavizao de imagens
binrias descrita a seguir e comentar os resultados aps cada etapa.

1
Fundamentos de Imagens Digitais 49
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1
1 1
1
Imagem Original

Tcnica: Substituio do valor do pixel de referncia de uma janela 3 x 3, pelo resultado da
aplicao sucessiva de 6 expresses booleanas aos pixels situados naquela janela, onde se
utilizam as seguintes convenes:
a b c
d p e
f g h

As expresses so:
B
1
= p v b . g . (d v e) v d . e . (b v g)
B
2
= p . [(a v b v d) . (e v g v h) v (b v c v e) . (d v f v g)]
B
3
= NOT (p) . (d . f . g) . NOT (a v b v c v e v h) v p
B
4
= NOT (p) . (a . b . d) . NOT (c v e v f v g v h) v p
B
5
= NOT (p) . (e . g . h) . NOT (a v b v c v d v f) v p
B
6
= NOT (p) . (b . c . e) . NOT (a v d v f v g v h) v p













Aps B
1








50 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.




Aps B
2












Aps B
3
, B
4
, B
5
e B
6


6. Demonstrar que a aplicao das mscaras de Prewitt sobre uma imagem equivale aplicao
de uma mscara de diferenciao do tipo [-1 0 1] (ou sua equivalente vertical) seguida de
uma mscara do tipo [1 1 1] (ou sua equivalente vertical). Pede-se demonstrar para ambos os
casos (Prewitt vertical e Prewitt horizontal).

7. Um pacote aplicativo de processamento de imagens utiliza um formato proprietrio de
arquivos de imagem, no qual os primeiros 32 bytes so reservados para o cabealho, onde
esto, dentre outras, as informaes das dimenses vertical e horizontal da imagem. Aps o
cabealho, a imagem armazenada no arquivo na base de 1 byte por pixel, linha aps linha,
sem nenhum tipo de compactao. Sabendo que as imagens armazenadas neste formato so
representadas em 256 tons de cinza, qual ser o tamanho (em bytes) de um arquivo de
imagem contendo 230 pixels na horizontal e 100 pixels na vertical?

8. Dadas as matrizes X e Y a seguir, correspondentes a trechos 3 x 3 de imagens de 256 tons de
cinza, obter: (a) o resultado da operao lgica XvY; (b) o resultado da operao lgica X.Y;
(c) o resultado da operao lgica X Y. Sugesto: converter os valores originais para seus
equivalentes em base 2, efetuar as operaes lgicas bit a bit e finalmente reconverter os
valores resultantes para a base 10.

X Y =

(
(
(
=

(
(
(
200 100 100
0 10 50
50 250 120
100 220 230
45 95 120
205 100 0

No computador
Para consolidar os conhecimentos tericos deste captulo, recomendamos as prticas n
os
. 1, 2 e 3
(Apndice B).
Na Internet
Dentre as diversas referncias disponveis na WWW correlatas a este captulo, destacamos:
Fundamentos de Imagens Digitais 51
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

"http://www.cogs.susx.ac.uk/users/davidy/teachvision/vision2.html"
Sussex Computer Vision: TEACH VISION2

"http://www.eecs.wsu.edu/IPdb/Enhancement/resolution_enhancement.html"
Resolution Enhancement

"http://rfv.insa-lyon.fr/~jolion/Cours/cont.html"
Contr ast Analysis Demo

No curso interativo de processamento de imagens disponvel no site da Unicamp,
particularmente, encontram-se diversas pginas relacionadas ao contedo deste captulo, cujos
endereos e ttulos aparecem a seguir:

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s1/front-
page.html"
Edge Detection I

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s2/front-
page.html"
Edge Detection II

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s5/front-
page.html"
Cor r elation

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s6/front-
page.html"
Image Enlar gement

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s7/front-
page.html"
Image Reduction

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s1/front-
page.html"
Convolution Pr inciples

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c2/s9/front-
page.html"
Tr anslation, Rotation, Scaling / Geometr ic Tr ansfor mations I

Bibliografia

[Dawson 1987] Dawson, B.M., "Introduction to Image Processing Algorithms",
Byte, Maro 1987, 169-186.

[Dawson 1989] Dawson, B.M., "Changing Perceptions of Reality", Byte,
Dezembro 1989, 293-304.

52 Fundamentos de Imagens Digitais

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
[Dougherty e Giardina 1987] Dougherty, E.R. e Giardina, C.R., Matrix Structured Image
Processing, Prentice-Hall, 1987.

[Faugeras 1993] Faugeras, O.D., Three-Dimensional Computer Vision, MIT
Press, 1993.

[Gonzalez e Woods 1992] Gonzalez, R.C. e Woods, R.E., Digital Image Processing - Third
Edition, Addison-Wesley, 1992.

[Haralick e Shapiro 1992] Haralick, R.M. e Shapiro, L.G., Computer and Robot Vision -
Volume 1, Addison-Wesley, 1992.

[Huang 1965] Huang, T.S., "PCM Picture Transmission", IEEE Spectrum, 2,
12, 57-63.

[Jain 1989] Jain, A.K., Fundamentals of Digital Image Processing, Prentice-
Hall, 1989.

[Kirsch 1971] Kirsch, R., Computer determination of the constituent structure
of biological images, Computers and Biomedical Research 4,
1971, 315-328.

[Lindley 1991] Lindley, C.A., Practical Image Processing in C, Wiley, 1991.

[Nince 1991] Nince, U. S., Sistemas de Televiso e Vdeo, LTC, 1991.

[Pavlidis 1982] Pavlidis, T., Algorithms for Graphics and Image Processing,
Computer Science Press, 1982.

[Pratt 1991] Pratt, W. K., Digital Image Processing, Wiley Interscience,
1991. (2nd ed.)

[Prewitt 1970] Prewitt, J.M., Object enchancement and extraction in
B.S. Lipkin and A. Rosenfeld Picture processing and
psychopictorics, Academic Press, 1970.

[Prosise 1994a] Prosise, J., "Make Your Digital Images Shine", PC Magazine, 13
de Setembro de 1994, 319-322.

[Prosise 1994b] Prosise, J., "Turn Wallpaper Into AllPaper", PC Magazine, 13 de
Setembro de 1994, 350-360.

[Robinson 1977] Robinson, G.S., Edge detection by compass gradient masks.,
Computer Graphics and Image Processing 6, 1977, 492-501.

[Schalkoff 1989] Schalkoff, R.J., Digital Image Processing and Computer Vision,
Wiley, 1989.


Fundamentos de Imagens Digitais 53
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Captulo 3
Tcnicas de Modificao de Histograma
Este captulo inteiramente dedicado definio e utilizao do conceito de histograma. A
Seo 3.1 conceitua histograma e d exemplos de histogramas de imagens. Na Seo 3.2 uma
tcnica ponto a ponto de processamento de imagens, a transformao de intensidade,
apresentada. As sees 3.3 a 3.5 apresentam tcnicas de modificao de histograma de imagens
monocromticas. Finalmente, a Seo 3.6 introduz o conceito de limiarizao (thresholding) de
imagens, como exemplo de utilizao da informao contida em um histograma.
3.1 Conceito de histograma
O histograma de uma imagem simplesmente um conjunto de nmeros indicando o percentual
de pixels naquela imagem que apresentam um determinado nvel de cinza. Estes valores so
normalmente representados por um grfico de barras que fornece para cada nvel de cinza o
nmero (ou o percentual) de pixels correspondentes na imagem. Atravs da visualizao do
histograma de uma imagem obtemos uma indicao de sua qualidade quanto ao nvel de
contraste e quanto ao seu brilho mdio (se a imagem predominantemente clara ou escura).
Cada elemento deste conjunto calculado como:

( ) p r
n
n
r k
k
=
(3.1)

onde:
0 s r
k
s 1
k = 0, 1, ..., L-1, onde L o nmero de nveis de cinza da imagem digitalizada;
n = nmero total de pixels na imagem;
p
r
(r
k
) = probabilidade do k-simo nvel de cinza;
n
k
= nmero de pixels cujo nvel de cinza corresponde a k.

Exemplo
Os dados da tabela 1 correspondem a uma imagem de 128 x 128 pixels, com 8 nveis de cinza.
O nmero de pixels correspondentes a um certo tom de cinza est indicado na segunda coluna,
enquanto as respectivas probabilidades p
r
(r
k
) aparecem na terceira coluna. A representao
grfica equivalente deste histograma mostrada na figura 1.
Um histograma apresenta vrias caractersticas importantes. A primeira delas que cada
p
r
(r
k
) fornece, como sugere a notao, a probabilidade de um pixel da imagem apresentar nvel
de cinza r
k
. Portanto, um histograma nada mais que uma funo de distribuio de
probabilidades e como tal deve obedecer aos axiomas e teoremas da teoria de probabilidade. Por
exemplo, possvel verificar que na tabela 1 a soma dos valores de p
r
(r
k
) 1, o que j era
esperado.
Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
56

Tabela 1 - Exemplo de histograma.
Nvel de cinza (r
k
) n
k
p
r
(r
k
)
0 1120 0,068
1/7 3214 0,196
2/7 4850 0,296
3/7 3425 0,209
4/7 1995 0,122
5/7 784 0,048
6/7 541 0,033
1 455 0,028
Total 16384 1

0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
Nvel de cinza (r
k
)

Figura 1 - Exemplo de histograma para imagem com oito nveis de cinza.

A figura 2 apresenta cinco exemplos de tipos de histogramas freqentemente
encontrados em imagens. O histograma da figura 2(a) apresenta grande concentrao de pixels
nos valores mais baixos de cinza, correspondendo a uma imagem predominantemente escura.
Na figura 2(b) os pixels esto concentrados em valores prximos ao limite superior da escala de
cinza, caracterizando uma imagem clara. Na parte (c) da figura, os pixels esto agrupados em
torno de valores intermedirios de cinza, correspondendo a uma imagem de brilho mdio. Nas
figuras (a), (b) e (c) a maioria dos pixels est concentrada em uma estreita faixa da escala de
cinza, significando que as imagens correspondentes apresentam baixo contraste. A figura 2(d)
corresponde a uma imagem com pixels distribudos ao longo de toda a escala de cinza.
comum dizer que uma imagem com estas caractersticas apresenta um bom contraste. A figura
2(e) mostra um histograma tipicamente bimodal, isto , apresentando duas concentraes de
pixels, uma delas em torno de valores escuros e outra na regio clara do histograma. Pode-se
dizer que a imagem correspondente apresenta alto contraste entre as duas concentraes, uma
vez que elas se encontram razoavelmente espaadas.
1

Para verificar a relao entre imagens e respectivos histogramas, a figura 3 mostra cinco
imagens monocromticas cujos histogramas so aqueles da figura 2.


1
Convm observar que os conceitos de alto e baixo contraste neste caso somente esto relacionados ao
espaamento mdio entre as raias do histograma. J o termo 'bom contraste' deve ser utilizado com
cautela, pois pode exprimir distribuio equitativa das raias ao histograma ao longo da escala de cinza
como foi utilizado neste caso ou uma opinio subjetiva sobre a qualidade de uma imagem, que no
poderia ser extrada somente da observao de seu histograma.
Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
57

(a)


(b)


(c)


(d)


(e)
Figura 2 - Exemplos de histogramas.

O conceito de histograma tambm aplicvel a imagens coloridas. Neste caso, a
imagem decomposta de alguma forma (por exemplo, em seus componentes R, G e B) e para
cada componente calculado o histograma correspondente. A figura 4 (ver Seo Figuras
Coloridas) mostra um exemplo de imagem colorida e seus histogramas R, G e B.

Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
58
(a)

(b)
(c)

(d)

(e)
Figura 3 - Imagens correspondentes aos histogramas da figura 2.

Para computar o histograma de uma imagem monocromtica, inicializa-se com zero
todos os elementos de um vetor de L elementos, onde L o nmero de tons de cinza possveis.
Em seguida, percorre-se a imagem, pixel a pixel, e incrementa-se a posio do vetor cujo ndice
corresponde ao tom de cinza do pixel visitado. Aps toda a imagem ter sido percorrida, cada
elemento do vetor conter o nmero de pixels cujo tom de cinza equivale ao ndice do elemento.
Estes valores podero ser normalizados, dividindo cada um deles pelo total de pixels na
imagem.
Concluindo esta Seo, convm enfatizar que, embora o histograma de uma imagem
fornea diversas informaes qualitativas e quantitativas sobre ela (e.g. nvel de cinza mnimo,
mdio e mximo, predominncia de pixels claros ou escuros etc.), outras concluses de carter
qualitativo (e.g. qualidade subjetiva global da imagem, presena ou no de rudo etc.) somente
Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
59
podem ser extradas dispondo-se da imagem propriamente dita. Tal fato pode ser confirmado a
partir de uma anlise das figuras 2 e 3.
Leitura complementar
Para uma reviso da teoria bsica de probabilidade, sugerimos [Ross 1994].
O captulo 9 de [Lindley 1991] e o artigo de Dawson [Dawson 1987] apresentam
cdigo-fonte em C para clculo e exibio de histogramas de imagens monocromticas.
O captulo 3 de [Pavlidis 1982] apresenta algoritmos para obteno e equalizao do
histograma de uma imagem monocromtica.
3.2 Transformaes de intensidade
As tcnicas de modificao de histograma so conhecidas como tcnicas ponto-a-ponto, uma
vez que o valor de tom de cinza de um certo pixel aps o processamento depende apenas de seu
valor original. Em contraste, nas tcnicas de processamento orientadas a vizinhana, o valor
resultante depende tambm, de alguma forma, dos pixels que circundam o elemento de imagem
original.
Diversas tcnicas de modificao da distribuio dos pixels na escala de cinza podem
ser implementadas a partir do conceito de transformaes de intensidade, apresentado
formalmente a seguir.
Seja uma varivel f, representando o nvel de cinza dos pixels na imagem a ser
processada. Por simplicidade, assumiremos inicialmente que a escala de cinza normalizada, ou
seja,
0 s f s 1,
onde f = 0 representa um pixel preto e f = 1 indica pixel branco.
Para qualquer f no intervalo [0, 1], denominaremos transformaes de intensidade as
funes do tipo

g = T(f) (3.2)

que mapearo cada pixel de tom de cinza f da imagem original em um novo tom de cinza, g, na
imagem destino. Estas funes devem satisfazer duas condies:
(i) devem retornar um nico valor para cada valor distinto de f e devem crescer
monotonicamente no intervalo 0 s f s 1
(ii) 0 s T(f )s 1 para 0 s f s 1.
Um exemplo de funo que satisfaz estes critrios dado na figura 5. O efeito desta
transformao no-linear de intensidade sobre a imagem um aumento de seu contraste.

Cl aro Escuro
T(r)
r
E
s
c
u
r
o
C
l
a
r
o

Figura 5 - Exemplo de transformao de intensidade.
Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
60

As transformaes de intensidade podem ser lineares ou no-lineares. As
transformaes lineares podem ser genericamente descritas pela equao:

g = c.f + b (3.3)

onde o parmetro c controla o contraste da imagem resultante, enquanto b ajusta seu brilho. A
figura 6 apresenta diversos exemplos de transformaes lineares e seus respectivos valores de c
e b.

g
f
Nveis de Cinza
0
255
255
c=1
b=32

(a)

f
Nveis de Cinza
0
255
255
g
c=2
b=32

(b)
f
Nveis de Cinza
0
255
255
g
c=1
b=-32

(c)
f
Nveis de Cinza
0
255
255
g
c=2
b=-32

(d)
Figura 6 - Exemplos de transformaes de intensidade lineares.

As transformaes no-lineares podem ser descritas por equaes tais como:

g = 31,875 . log
2
(f + 1) (3.4)

produzindo o resultado mostrado na figura 7. Nos aplicativos para processsamento de imagens
disponveis atualmente, freqentemente estas transformaes so especificadas de forma
interativa pelo usurio, utilizando o mouse ou dispositivo equivalente e 'desenhando' a curva
desejada.

Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
61

g
f
Nveis de Cinza
0
255
255

Figura 7 - Exemplo de transformao de intensidade no-linear.

O conceito de transformao de intensidade linear pode ser utilizado para implementar
uma funo que automaticamente expande a escala de tons de cinza de uma imagem para que
ela ocupe todo o intervalo possvel. Esta funo recebe o nome de autoescala. Para um sistema
que opera com imagens com 256 nveis de cinza, uma funo de autoescala pode ser
implementada calculando, para cada pixel com tom de cinza f, o nvel de cinza resultante g, pela
equao:

g
f f
f f
max min
min
=


255
( ) ,
(3.5)

onde f
max
e f
min
so, respectivamente, os nveis mximo e mnimo de cinza presentes na imagem
original.
Leitura complementar
O captulo 9 de [Lindley 1991] e o artigo de Dawson [Dawson 1987] apresentam cdigo-fonte
em C para clculo de algumas transformaes ponto-a-ponto discutidas nesta Seo.
O captulo 5 de [Galbiati, Jr. 1990] contm inmeros exemplos de funes de
transformao de intensidade.
3.3 Equalizao de histograma
A equalizao de histograma uma tcnica a partir da qual se procura redistribuir os valores de
tons de cinza dos pixels em uma imagem, de modo a obter um histograma uniforme, no qual o
nmero (percentual) de pixels de qualquer nvel de cinza praticamente o mesmo. Para tanto,
utiliza-se uma funo auxiliar, denominada funo de transformao. A forma mais usual de se
equalizar um histograma utilizar a funo de distribuio acumulada (cdf - cumulative
distribution function) da distribuio de probabilidades original, que pode ser expressa por:

s T r
n
n
p r k k
j
j
k
r j
j
k
= = =
= =

( ) ( )
0 0

(3.6)

onde:
0 s r
k
s 1
k = 0, 1, ..., L-1
Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
62
A inversa desta funo dada por:

r T s p s
k k k
= s s
1
0 1 ( ) /
(3.7)

e embora ela no seja necessria no processo de equalizao de histograma, ser importante no
mtodo descrito na Seo seguinte. Convm notar que outras funes de transformao, que no
a cdf, podem ser especificadas.
Exerccio resolvido
Seja o histograma da tabela 1, ilustrado graficamente na figura 1, ambas reproduzidas a seguir
para maior facilidade. Equaliz-lo utilizando a funo de distribuio acumulada e plotar o
histograma resultante.

Tabela 1 - Histograma original
Nvel de cinza (r
k
) n
k
p
r
(r
k
)
0 1120 0,068
1/7 3214 0,196
2/7 4850 0,296
3/7 3425 0,209
4/7 1995 0,122
5/7 784 0,048
6/7 541 0,033
1 455 0,028
Total 16384 1
0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
Nvel de cinza (r
k
)

Soluo:
Utilizando a cdf como funo de transformao, calculamos:
s T r p r
p r
r j
j
r
0 0
0
0
0
= =
=
=
=

( ) ( )
( )
0,068

De forma similar,
s T r p r
p r p r
r j
j
r r
1 1
0
1
0 1
264
= =
= +
=
=

( ) ( )
( ) ( )
, 0

e
Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
63
s
2
= 0,560 s
3
= 0,769 s
4
= 0,891
s
5
= 0,939 s
6
= 0,972 s
7
= 1.

Esta funo est plotada na figura 8.

0
0,2
0,4
0,6
0,8
1
0 1 2 3 4 5 6 7

Figura 8 - Funo de transformao utilizada para a equalizao.

Como a imagem foi quantizada com apenas 8 nveis de cinza, cada valor s
j
dever ser
arredondado para o valor vlido (mltiplo de 1/7) mais prximo. Desta forma,

s
0
~ 0 s
1
~ 2/7 s
2
~ 4/7 s
3
~ 5/7
s
4
~ 6/7 s
5
~ 1 s
6
~ 1 s
7
~ 1.

Concluindo o mapeamento, verificamos que o nvel original r
0
= 0 foi mapeado para s
0

= 0 e portanto a raia correspondente no sofreu alterao. J os 3214 pixels que apresentavam
tom de cinza 1/7 foram remapeados para s
1
= 2/7. Similarmente, os pixels com tom de cinza 2/7
foram modificados para 4/7, aqueles com r = 3/7 passaram a 5/7 e os de 4/7 mapearam em 6/7.
Convm observar, entretanto, que as trs raias correspondentes aos pixels com tons de cinza 5/7,
6/7 e 1 foram somadas em uma s raia, com tom de cinza mximo, isto , 1.
Agrupando os resultados na tabela 2, teremos o histograma aps a equalizao,
mostrado graficamente na figura 9.

Tabela 2 - Histograma equalizado
Nvel de cinza (s
k
) n
k
p
s
(s
k
)
0 1120 0,068
1/7 0 0,000
2/7 3214 0,196
3/7 0 0,000
4/7 4850 0,296
5/7 3425 0,209
6/7 1995 0,122
1 1780 0,109
Total 16384 1

Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
64
0
0,05
0,1
0,15
0,2
0,25
0,3
0 1 2 3 4 5 6 7

Figura 9 - Histograma equalizado.

Pode-se notar que o histograma equalizado, apesar de estar longe de ser perfeitamente
plano, apresenta melhor distribuio de pixels ao longo da escala de cinza em relao ao
original.

A figura 10 apresenta um exemplo de aplicao da tcnica de equalizao de histograma
para aumentar o contraste de uma imagem 446 x 297 com 256 tons de cinza. A parte (a)
apresenta a imagem original, cujo histograma plotado na figura 10(c). A parte (d) mostra o
histograma equalizado, correspondente imagem da figura 10(b).

(a)



(b)
(c)


(d)
Figura 10 - Aplicao da equalizao de histograma a imagens com baixo contraste.

As tcnicas de obteno e equalizao de histogramas tambm podem ser aplicadas a
trechos de imagens, por exemplo, janelas n x m. Estas tcnicas locais servem principalmente
para realar detalhes sutis de pequenas pores da imagem.
Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
65
3.4 Especificao direta de histograma
Apesar de sua grande utilizao em situaes de aprimoramento de contraste de imagens, a
equalizao de histograma apresenta como principal limitao o fato de no permitir a
especificao de nenhum parmetro, a no ser a funo de transformao, que, como vimos na
Seo anterior, costuma ser a cdf da distribuio de probabilidade original. Existem situaes,
entretanto, em que seria desejvel poder especificar que tipo de mudana se deseja sobre o
histograma. Nestes casos, uma das possveis tcnicas a especificao direta de histograma.
Dada uma imagem (e seu histograma original) e o novo histograma desejado, o
procedimento da especificao direta de histograma consiste em:
1) equalizar os nveis da imagem original usando a cdf discreta:

s T r
n
n
p r k k
j
j
k
r j
j
k
= = =
= =

( ) ( )
0 0

(3.8)

2) equalizar a funo densidade de probabilidade discreta (isto , o histograma)
desejada(o):

v G z p z k k
z
j
j
k
= =
=

( ) ( )
0

(3.9)

3) aplicar a funo de transformao inversa:

z G s =
1
( )
(3.10)

aos nveis obtidos no passo 1.
Exerccio resolvido
Seja novamente o histograma da tabela 1. Deseja-se modificar este histograma de modo que a
distribuio de pixels resultante seja aquela da tabela 3, a seguir.

Tabela 3 - Histograma desejado
Nvel de cinza (z
k
) n
k
p
z
(z
k
)
0 0 0,000
1/7 0 0,000
2/7 0 0,000
3/7 1638 0,100
4/7 3277 0,200
5/7 6554 0,400
6/7 3277 0,200
1 1638 0,100
Total 16384 1

Soluo:
O histograma aps equalizao j foi calculado em exerccio resolvido anterior e seus
resultados esto na tabela 2.
Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
66
O prximo passo consiste em obter a cdf da distribuio de probabilidade desejada.
Seguindo o mesmo raciocnio utilizado para o clculo da cdf do histograma original,
encontramos:

v
0
= 0 v
1
= 0 v
2
= 0 v
3
= 0,1
v
4
= 0,3 v
5
= 0,7 v
6
= 0,9 v
7
= 1.

O ltimo passo e o mais difcil de entender quando se estuda este assunto pela
primeira vez a obteno da inversa. Como estamos lidando com nveis discretos, a obteno
da funo inversa consistir basicamente em procurar, para cada valor de s
k
, o valor de v
k
que
mais se aproxima dele. Por exemplo, o valor de v
k
que mais se aproxima de s
1
= 2/7 ~ 0,286
G(z
4
) = 0,3 ou seja, G
-1
(0,3) = z
4
. Portanto, os pixels que aps a equalizao do histograma
original foram reposicionados no tom de cinza s
1
sero mapeados para o tom de cinza z
4
. Em
outras palavras, os 3214 pixels que apresentavam originalmente tom de cinza 1/7 e que foram
remapeados para s
1
= 2/7 devido equalizao, sero transladados novamente para z
4
= 4/7 por
fora da especificao direta de histograma. Procedendo de forma similar para os demais valores
de s
k
, teremos:

s
0
= 0 z
2
s
1
= 2/7 ~ 0,286 z
4

s
2
= 4/7 ~ 0,571 z
5
s
3
= 5/7 ~ 0,714 z
5

s
4
= 6/7 ~ 0,857 z
6
s
5
= 1 z
7

s
6
= 1 z
7
s
7
= 1 z
7


Neste caso, assumimos que o algoritmo de clculo da inversa, para um dado valor de s
k
,
percorreria os diversos valores de v
k
, armazenando o ndice do ltimo valor que tenha resultado
na menor diferena encontrada. Se o algoritmo possuir outra forma de solucionar 'empates', o
nvel s
0
poder mapear em z
0
ou z
1
. A tabela 4 resume os histogramas original e desejado, suas
respectivas cdfs e o processo de mapeamento descrito acima.

Tabela 4 - Resumo da especificao direta de histograma
k p
r
(r
k
) s
k
v
k
p
z
(z
k
)
0 0,068 0 0,00 0,000
1 0,196 2/7 0,00 0,000
2 0,296 4/7 0,00 0,000
3 0,209 5/7 0,10 0,100
4 0,122 6/7 0,30 0,200
5 0,048 1 0,70 0,400
6 0,033 1 0,90 0,200
7 0,028 1 1,00 0,100

A tabela 5 apresenta os valores obtidos para o histograma resultante. Para uma
comparao visual entre o histograma desejado e o obtido, plotamos cada um deles nas figuras
11 e 12, respectivamente.

Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
67
Tabela 5 - Histograma obtido
z
k
p
z
(z
k
)
0 0,000
1/7 0,000
2/7 0,068
3/7 0,000
4/7 0,196
5/7 0,505
6/7 0,122
1 0,109
Total 1

0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
0,4
0 1 2 3 4 5 6 7

Figura 11 - Histograma desejado.

0
0,1
0,2
0,3
0,4
0,5
0,6
0 1 2 3 4 5 6 7

Figura 12 - Histograma obtido.

Pode-se notar que o histograma obtido aproxima-se, dentro do possvel, do histograma
desejado.

A figura 13 apresenta um exemplo de aplicao da tcnica de especificao direta de
histograma aplicada a uma imagem 443 x 298 com 256 tons de cinza. A parte (a) apresenta a
imagem original, cujo histograma plotado na figura 13(c). A parte (d) mostra o histograma
desejado, enquanto a figura 13(e) mostra o histograma obtido, que corresponde imagem da
figura 13(b).

Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
68
(a)

(b)

(c) (d) (e)
Figura 13 - Exemplo de aplicao da especificao direta de histograma.

Leitura complementar
Em [Woods e Gonzalez 1981] so descritas algumas tcnicas de modificao de histograma,
aplicadas em um sistema de realce de imagens em tempo real.
3.5 Outras tcnicas
Existem inmeras outras tcnicas de processamento de imagens a partir de modificaes de seus
respectivos histogramas. Apresentamos a seguir os principais aspectos de algumas delas.


(a)

(c) (e)

(b) (d) (f)
Figura 14 - Comparao entre equalizao e hiperbolizao de histograma: (a) imagem original,
(b) histograma original, (c) imagem aps equalizao de histograma, (d) histograma equalizado,
(e) imagem aps hiperbolizao, (f) histograma correspondente imagem (e).

Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
69
3.5.1 Hiperbolizao
Esta tcnica, proposta originalmente por Frei [Frei 1977], consiste na modificao da imagem
original atravs de uma funo de transferncia tal que produza sada uma imagem cujo
histograma tenha forma hiperblica. Ela empregada principalmente para corrigir a equalizao
do histograma levando-se em conta a resposta visual do olho humano, que considerada
logartmica. Ou seja, a equalizao do histograma seria processada em duas etapas, sendo a
primeira a aplicao da tcnica de hiperbolizao e a segunda executada pela retina. A figura 14
mostra um exemplo de aplicao desta tcnica, comparando-a com a equalizao de histograma.
3.5.2 Hiperbolizao quadrtica
Em [Cobra et al. 1992], Cobra, Costa e Menezes propem uma nova abordagem
hiperbolizao de histograma, qual denominaram hiperbolizao quadrtica de histograma.
Esta tcnica baseada em um modelo do sistema visual perifrico humano que leva em
conta o fato de que o olho humano se acomoda intensidade mdia da cena observada e no
intensidade dos pixels individuais, como subentende o modelo utilizado por [Frei 1977]. Como
resultado, obtm-se uma distribuio mais espaada dos nveis de cinza, com menor
concentrao na regio escura do histograma.
A figura 15 ilustra o uso desta tcnica, mostrando na parte (a) a imagem original, na
parte (b) seu histograma, e nas figuras 15(g) e 15(h) o resultado da hiperbolizao quadrtica
sobre a imagem e o histograma correspondente. Para efeito comparativo, tambm so
apresentados os resultados da equalizao de histograma figuras 15(c) e 15(d) e da
hiperbolizao figuras 15(e) e 15(f).

(a)




(b)
(c)



(d)
Figura 15 - Exemplo de hiperbolizao quadrtica de histograma.

Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
70
(e)




(f)
(g)



(h)
Figura 15 - Continuao.

3.5.3 Expanso de histograma (Input cropping)
Nesta tcnica, o histograma original de uma imagem modificado de tal forma que parte dele
expandida para ocupar toda a faixa de cinza da imagem. A figura 16 ilustra esquematicamente o
processo e a figura 17 mostra um exemplo de utilizao desta tcnica para aprimoramento de
contraste de uma imagem.


(a)

(b)
Figura 16 - Expanso de histograma.

3.5.4 Compresso de histograma (Output cropping)
A tcnica de compresso de histograma, como o prprio nome sugere, modifica o histograma
original de uma imagem de tal forma que suas raias passam a ocupar apenas um trecho da faixa
total de cinza, produzindo como resultado uma reduo de contraste na imagem. A figura 18
ilustra esquematicamente o processo enquanto a figura 19 mostra um exemplo de aplicao
desta tcnica a imagens monocromticas.

Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
71
(a) (b)
Figura 17 - Exemplo de aplicao da tcnica de expanso de histograma.



(a)

(b)
Figura 18 - Compresso de histograma.


(a) (b)
Figura 19 - Exemplo de aplicao da tcnica de compresso de histograma.

Leitura complementar
O captulo 10 (sees 10.1 e 10.2) de [Pratt 1991] apresenta exemplos de diversas tcnicas de
modificao de histograma.
3.6 Limiarizao (Thresholding)
O princpio da limiarizao consiste em separar as regies de uma imagem quando esta
apresenta duas classes (o fundo e o objeto). Devido ao fato da limiarizao produzir uma
imagem binria sada, o processo tambm denominado, muitas vezes, binarizao. A forma
mais simples de limiarizao consiste na bipartio do histograma, convertendo os pixels cujo
tom de cinza maior ou igual a um certo valor de limiar (T) em brancos e os demais em pretos,
como ilustra a figura 20. No caso de nveis de cinza divididos basicamente em duas classes,
Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
72
onde o histograma apresenta dois picos e um vale, a limiarizao trivial. Ainda assim, os
efeitos decorrentes da escolha de um valor especfico de limiar dentre os diversos pontos
situados na regio de vale podem ser analisados na figura 21.

g
f
Nveis de Cinza
0
1
255 T
Fundo
Obj eto

(a)
g
f
Nveis de Cinza
0
255 T
Fundo
Obj eto
1

(b)
Figura 20 - Limiarizao de uma imagem monocromtica utilizando limiar T: (a) histograma
original, (b) histograma da imagem binarizada.


(a)



(b)
(c)




(d)
Figura 21 - Efeitos da escolha do valor de limiar na binarizao de uma imagem de 256 tons de
cinza. As imagens (c), (e) e (g) correspondem bipartio dos histogramas (d), (f) e (h),
respectivamente, nos limiares indicados, a saber: 128, 64 e 192.

Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
73
(e)




(f)
(g)



(h)
Figura 21 - Continuao.

Matematicamente, a operao de limiarizao pode ser descrita como uma tcnica de
processamento de imagens na qual uma imagem de entrada f(x,y) de N nveis de cinza produz
sada uma imagem g(x,y), chamada de imagem limiarizada, cujo nmero de nveis de cinza
menor que N. Normalmente, g(x,y) apresenta 2 nveis de cinza, sendo:

g x y f x y T
f x y T
( , ) = se ( , )
= se ( , ) <
1
0
>

(3.11)

onde os pixels rotulados com 1 correspondem aos objetos e os pixels etiquetados com 0
correspondem ao fundo (background) e T um valor de tom de cinza pr-definido, ao qual
denominamos limiar.
A figura 22(a) mostra um exemplo de histograma particionado utilizando dois valores
de limiar: T
1
= 37 e T
2
= 233. As figuras 22(b) e 22(c) mostram a imagem original e a imagem
aps a limiarizao.


(a)
Figura 22 - Exemplo de utilizao de mltiplos limiares.

Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
74
(b) (c)
Figura 22 - Continuao.

A limiarizao pode ser vista como uma operao que envolve um teste com relao a
uma funo T do tipo T = T [x, y, p(x,y) ,f(x,y)], onde f(x,y) o tom de cinza original no ponto
(x,y) e p(x,y) indica alguma propriedade local deste ponto, por exemplo a mdia de seus
vizinhos. Quando T depende apenas de f(x,y), o limiar chamado global; quando T depende de
f(x,y) e de p(x,y), o limiar chamado local. Se, alm disso, T depende das coordenadas espaciais
de (x,y), o limiar chamado dinmico ou adaptativo.
3.6.1 Influncia da iluminao
A iluminao desempenha um papel significativo no processo de limiarizao, uma vez que
provoca alteraes no histograma original da imagem, eventualmente eliminando uma regio de
vale entre dois picos, naturalmente propcia para a definio de um limiar global.
Pode-se provar [Papoulis 1965] que, sendo f(x,y) = i(x,y) . r(x,y) e sendo z(x,y) = ln
f(x,y) = ln i(x,y) + ln r(x,y) = i'(x,y) + r'(x,y), onde i'(x,y) e r'(x,y) so variveis aleatrias
independentes, o histograma de z(x,y) dado pela convoluo do histograma de i'(x,y) com o de
r'(x,y).
Uma tcnica comum utilizada para compensar a no uniformidade da iluminao
consiste em projetar o padro de iluminao em uma superfcie refletora branca. Isto nos d uma
imagem g(x,y) = K . i(x,y), onde K depende da superfcie utilizada. Deste modo, para qualquer
imagem f(x,y) = i(x,y) . r(x,y) obtida com a mesma funo iluminao, simplesmente divide-se
f(x,y) por g(x,y), obtendo-se uma funo normalizada:

h x y
f x y
g x y
r x y
K
( , )
( , )
( , )
( , )
= =
(3.12)

Logo, se r(x,y) pode ser limiarizada utilizando o limiar T, ento h(x,y) poder ser segmentada
usando um limiar T/K.
A figura 23 ilustra as alteraes causadas por modificaes no padro de iluminao na
imagem binarizada resultante. Na parte (a) apresentada a imagem original, cujo histograma
exibido na figura 23(e). O resultado da limiarizao desta imagem com limiar T = 128
mostrado na figura 23(c). Na coluna da direita so mostradas a imagem com padro de
iluminao alterado (b), seu histograma (f) e o resultado da limiarizao com o mesmo limiar
utilizado anteriormente (d).

Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
75
(a)

(b)
(c)

(d)

(e)

(f)
Figura 23 - Influncia da iluminao no processo de limiarizao.

3.6.2 Limiarizao pelas propriedades estatsticas da imagem
Pelo exposto at aqui, assumiu-se que a escolha do valor de limiar arbitrria e subjetiva.
Sabendo que o histograma uma representao grfica da distribuio de probabilidade de
ocorrncia dos nveis de cinza em uma imagem, lcito imaginar a possibilidade de uso de
tcnicas de clculo do valor timo de limiar com base nas propriedades estatsticas da imagem.
Uma destas tcnicas, denominada limiarizao tima, parte de uma imagem da qual se
conhecem as principais propriedades estatsticas (supondo que sua distribuio de probabilidade
normal ou gaussiana), a saber:

1
: mdia dos tons de cinza da regio de interesse

2
: mdia dos tons de cinza da regio de fundo (background)
o
1
, o
2
: desvios padro
P
1
, P
2
: probabilidade de ocorrncia dos pixels pertencentes a esta ou aquela regio.
Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
76
Pode-se mostrar [Gonzalez e Woods 1992] que existe um valor timo de limiar, T, dado
por uma das razes da equao

AT
2
+ BT + C = 0, (3.13)

onde:
A
B
C
P
P
=
=
= +
o o
o o
o o o o
o
o
1
2
2
2
1 2
2
2 1
2
2
2
1
2
1
2
2
2
1
2
2
2 2 1
1 2
2
2
( )
ln( )

(3.14)
Duas razes reais e positivas indicam que a imagem pode requerer dois valores de limiar
para obter uma soluo tima.
Se as varincias forem iguais (o o o
2
1
2
2
2
= = ), um nico valor T necessrio:

T
P
P
=
+
+

o

1 2
2
1 2
2
1
2
ln( )
(3.15)

Se, alm disso, as duas classes forem equiprovveis:

T =
+
1 2
2

(3.16)

o que est em acordo com o conceito intuitivo de que o valor timo de limiar quando as classes
apresentam a mesma distribuio de probabilidade (os lbulos so exatamente iguais) o ponto
mdio entre as mdias das classes.
Leitura complementar
O livro de Castleman [Castleman 1995] apresenta em detalhes outras alternativas de clculo do
valor timo de limiar.
Existem vrios trabalhos cientficos que abordam diferentes alternativas para a obteno
de uma melhor limiarizao de uma imagem levando em conta seus parmetros estatsticos.
Estas tcnicas pressupem a determinao automtica do melhor valor de limiar, ou seja, partem
da premissa de que no haver um operador humano que determine por tentativa e erro qual o
valor de limiar mais adequado. Uma destas propostas, baseada na minimizao da varincia
intra-grupo, encontra-se em [Otsu 1979] e est resumida em [Passariello e Mora 1995].
Em [Haralick e Shapiro 1992] encontra-se um resumo do mtodo proposto por Kittler &
Illingworth, o qual se baseia em assumir que o histograma formado pela mistura de duas
distribuies gaussianas, cujas mdias e varincias so conhecidas, no qual o objetivo
minimizar a chamada 'distncia de informao de Kullback' [Passariello e Mora 1995]. De
acordo com os resultados reportados em [Haralick e Shapiro 1992] com respeito a uma
comparao entre o mtodo de Otsu [Otsu 1979] e o mtodo de Kittler-Illingworth, este ltimo
o que produz melhores resultados.
Vrias tentativas de estabelecimento de um valor adequado de limiar global (utilizando
diversas tcnicas de pr-processamento da imagem), sob os conceitos de preciso (accuracy) e
reprodutibilidade, so mostradas em [Russ 1995].
Gmez-Allende [Gmez-Allende 1993] prope um algoritmo original de limiarizao
baseado na busca de mnimos do histograma, no qual o histograma submetido a uma filtragem
Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
77
passa-baixas para reduzir as irregularidades causadas por objetos pouco relevantes e/ou rudo e,
portanto, facilitar a deteo dos mnimos do histograma.
White e Rohrer [White e Rohrer 1983] descrevem um algoritmo de limiarizao
dinmica implementado em hardware como parte de um sistema de Reconhecimento ptico de
Caracteres (OCR).
Mardia e Hainsworth [Mardia e Hainsworth 1988] propem e comparam diversos
algoritmos de limiarizao espacial.
O captulo 2 de [Haralick e Shapiro 1992], a Seo 7.3 de [Gonzalez e Woods 1992] e a
Seo 5.1 de [Sonka et al. 1993] so dedicados ao problema da limiarizao.
Exerccios Propostos
1. Que efeito uma transformao de intensidade s = r

provocar em uma imagem
monocromtica com valores de nveis de cinza originais (r) normalizados na faixa de 0 a 1, caso
> 1?

2. Assinalar V ou F conforme as proposies a seguir sejam verdadeiras ou falsas.

( ) A tcnica de equalizao de histograma aplicada a imagens digitais nunca produz
sada um histograma perfeitamente plano.

( ) Aps um histograma ter sido equalizado, uma nova aplicao da tcnica de
equalizao de histograma sobre a imagem no produzir nela nenhuma alterao.

( ) A tcnica de hiperbolizao de histograma tem como principal vantagem sobre a
equalizao de histograma o fato de que a primeira leva em considerao as caractersticas no-
lineares da curva de intensidade luminosa subjetiva versus intensidade luminosa fsica da
imagem do olho humano.

( ) Ao recortar uma imagem em dois pontos quaisquer, o histograma da subcena
resultante sempre ser idntico ao da imagem original, porque as raias verticais indicam a
concentrao de pixels em termos percentuais e, portanto, no dependem do nmero total de
pixels da imagem.

3. Considere a imagem a seguir, representada por uma matriz 7 x 7, onde cada elemento da
matriz corresponde ao nvel de cinza normalizado do pixel correspondente, sendo 0 =
preto, 1 = branco.

0 3/7 2/7 2/7 1/7 1/7 4/7
3/7 2/7 1/7 1/7 1/7 1/7 4/7
2/7 0 1 1/7 3/7 0 0
0 5/7 1/7 0 6/7 0 1/7
1/7 1/7 1/7 3/7 6/7 6/7 5/7
1/7 1/7 1/7 1/7 5/7 6/7 4/7
0 1 0 0 0 0 4/7

Pede-se:
a) Calcular as probabilidades de cada nvel de cinza e plotar seu histograma.
b) Na imagem original predominam pixels claros ou escuros?
Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
78
c) Equalizar o histograma calculado utilizando a funo de distribuio de probabilidade
acumulada, informando os novos valores e plotando o histograma resultante (equalizado).

4. Dado o histograma a seguir, responder:



a) a imagem correspondente ao histograma pode ser considerada de bom contraste? Por que?
b) o histograma pode ser considerado equalizado? Por que?
c) a imagem apresenta predominncia de pixels claros ou escuros? Justificar.
d) pelo histograma, possvel afirmar ou supor que a imagem apresenta rudo? Explicar.

5. Supor que uma imagem 256 x 256 com 8 nveis de cinza possui uma distribuio de
tons de cinza dada pela tabela a seguir.

r
k
n
k
p
r
(r
k
) = n
k
/n
r
0
= 0 2621 0,04
r
1
= 1/7 0 0,00
r
2
= 2/7 0 0,00
r
3
= 3/7 5243 0,08
r
4
= 4/7 7209 0,11
r
5
= 5/7 12452 0,19
r
6
= 6/7 24904 0,38
r
7
= 1 13107 0,20

Deseja-se transformar o histograma desta imagem aproximando-o do histograma correspondente
tabela a seguir.

z
k
p
z
(z
k
)
0 0,27
1/7 0,16
2/7 0,19
3/7 0,16
4/7 0,11
5/7 0,06
6/7 0,03
1 0,02

Pede-se:
a) na imagem original predominam pixels claros ou escuros? Justifique.
b) caso a modificao de histograma seja bem sucedida, qual o provvel efeito desta
modificao na imagem original?
Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
79
c) equalizar o histograma original, atravs da funo s = T(r);
d) obter a funo v = G(z) e sua inversa;
e) plotar o histograma original, o desejado, o equalizado e o histograma obtido ao final do
processo;
f) preencher a tabela abaixo com os valores finais de n
k
e p
z
(z
k
) para os 8 valores de z
k
, comparar
com os valores desejados e justificar as diferenas eventuais.

z
k
n
k
p
z
(z
k
)
0
1/7
2/7
3/7
4/7
5/7
6/7
1

No computador
Sugerimos o roteiro da prtica n 4 (Apndice B) para complementar os aspectos tericos
abordados neste captulo.
Na Internet
Dentre as diversas referncias disponveis na WWW correlatas a este captulo, destacamos:

"http://www.eecs.wsu.edu/IPdb/Enhancement/hist_equalization.html"
Histogr am Equalization

"http://www.eecs.wsu.edu/IPdb/Enhancement/hist_stretching.html"
Histogr am Str etching

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s2/front-
page.html"
Thr esholding

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s6/front-
page.html"
Logar ithm Contr ast Enhancement

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s8/front-
page.html"
Exponential Contr ast Enhancement

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c1/s3/front-
page.html"
Image Statistics

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s4/front-
page.html"
Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
80
Histogr am Str etching Contr ast Enhancement

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s5/front-
page.html"
Histogr am Equalization

Bibliografia

[Castleman 1995] Castleman, K. R., Digital Image Processing, Prentice-Hall,
1995.

[Cobra et al. 1992] Cobra, D.T.Q., Costa, J.A.D.D. e Menezes, M.F.B., "Realce de
Imagens Atravs de Hiperbolizao Quadrtica do Histograma",
Anais do V SIBGRAPI , Novembro 1992, 63-71.

[Dawson 1987] Dawson, B.M., "Introduction to Image Processing Algorithms",
Byte, Maro 1987, 169-186.

[Frei 1977] Frei, W., "Image Enhancement by Histogram Hyperbolization"
Computer Graphics and Image Processing 6, 3, Junho 1977, 86-
294.

[Galbiati, Jr. 1990] Galbiati, Jr., L.J., Machine Vision and Digital Image Processing
Fundamentals, Prentice-Hall, 1990.

[Gmez-Allende 1993] Gmez-Allende, D. M., Reconocimiento de Formas y Visin
Artificial, RA-MA Editorial, 1993.

[Gonzalez e Woods 1992] Gonzalez, R.C. e Woods, R.E., Digital Image Processing - Third
Edition, Addison-Wesley, 1992.

[Haralick e Shapiro 1992] Haralick, R.M. e Shapiro, L.G., Computer and Robot Vision -
Volume 1, Addison-Wesley, 1992.

[Lindley 1991] Lindley, C.A., Practical Image Processing in C, Wiley, 1991.

[Mardia e Hainsworth 1988] Mardia, K.V. e Hainsworth, T.J., "A Spatial Thresholding
Method for Image Segmentation", IEEE Trans. Pattern Analysis
and Machine Intelligence, 10, 6, Novembro 1988, 919-927.

[Otsu 1979] Otsu, N., A Threshold Selection Method from Grey-Level
Histograms, IEEE Transactions on Systems, Man and
Cybernetics, 9, 1, Janeiro 1979, 62-66.

[Papoulis 1965] Papoulis, A., Probability, Random Variables and Stochastic
Processes, McGraw-Hill, 1965.

[Passariello e Mora 1995] Passariello, G. e Mora, F. (eds.), Imgenes Mdicas,
EQUINOCCIO - Ediciones de la Universidad Simn Bolvar,
1995.

[Pavlidis 1982] Pavlidis, T., Algorithms for Graphics and Image Processing,
Computer Science Press, 1982.

Tcnicas de Modificao de Histogr ama

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
81
[Pratt 1991] Pratt, W. K., Digital Image Processing, Wiley Interscience,
1991. (2nd ed.)

[Ross 1994] Ross, S., A First Course in Probability - 4th edition, Macmillan,
1994.

[Russ 1995] Russ, J. C., The Image Processing Handbook - 2nd ed., CRC
Press, 1995.

[Sonka et al. 1993] Sonka, M., Hlavac, V. e Boyle, R., Image Processing, Analysis
and Machine Vision, Chapman & Hall, 1993.

[White e Rohrer 1983] White, J.M. e Rohrer, G.D., "Image Thresholding for Optical
Character Recognition and Other Applications Requiring
Character Image Extraction", IBM J. Res. Develp., 27, 4, Julho
1983, 400-411.

[Woods e Gonzalez 1981] Woods, R.E. e Gonzalez, R.C., "Real-Time Digital Image
Enhancement", Proceedings of the IEEE, 69, 5, Maio 1981, 643-
654.


Tcnicas de Modificao de Histogr ama
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
82

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Captulo 4
Filtragem, Realce e Suavizao de
Imagens
O principal objetivo das tcnicas de realce de imagens processar uma certa imagem de modo
que a imagem resultante seja mais adequada que a imagem original para uma aplicao
especfica. Desta afirmativa decorrem duas importantes concluses:
1. A interpretao de que o resultado mais adequado, ou no, normalmente subjetiva e
depende de conhecimento prvio do observador a respeito das imagens analisadas.
2. As tcnicas de realce de imagens a serem estudadas neste captulo so por natureza
orientadas a um problema que se deseja resolver. Logo, no existem tcnicas capazes de
resolver 100% dos problemas que uma imagem digital possa apresentar, como tambm nem
sempre uma tcnica que produz bons resultados para imagens biomdicas adquiridas atravs
de um tomgrafo computadorizado apresentar desempenho satisfatrio se aplicada a uma
imagem contendo uma impresso digital, por exemplo.
Os mtodos de filtragem de imagens discutidos neste captulo so normalmente
classificados em duas categorias: as tcnicas de filtragem espacial e as tcnicas de filtragem no
domnio da freqncia. Os mtodos que trabalham no domnio espacial operam diretamente
sobre a matriz de pixels que a imagem digitalizada, normalmente utilizando operaes de
convoluo com mscaras (Seo 2.3). Os mtodos que atuam no domnio da freqncia se
baseiam na modificao da transformada de Fourier (Seo 4.4) da imagem. Existem tcnicas de
filtragem que combinam ambas as abordagens.
A Seo 4.1 apresenta algumas consideraes iniciais sobre filtragem de imagens no
domnio espacial e no domnio freqencial. As tcnicas de suavizao de imagens no domnio
espacial utilizando operaes orientadas a vizinhana so apresentadas na Seo 4.2. A Seo
4.3 trata das tcnicas de realce (agudizao) de imagens no domnio espacial. Na Seo 4.4
apresentamos a transformada de Fourier discreta bidimensional, ferramenta matemtica
indispensvel para o projeto de filtros no domnio da freqncia, como os apresentados na
Seo 4.5. A Seo 4.6 apresenta alguns fundamentos de imagens coloridas, bem como os
conceitos de pseudocolorizao e tcnicas de processamento de imagens coloridas. Finalmente,
a Seo 4.7 apresenta algumas tcnicas de filtragem adaptativa.
4.1 Consideraes iniciais
As tcnicas de filtragem, realce e suavizao apresentadas neste captulo podem ser divididas
em: tcnicas no domnio espacial e tcnicas no domnio freqencial. O objetivo desta seo
destacar os princpios de funcionamento de cada uma destas abordagens.
4.1.1 Filtragem no domnio espacial
As tcnicas de filtragem no domnio espacial so aquelas que atuam diretamente sobre a matriz
de pixels que a imagem digitalizada. Logo, as funes de processamento de imagens no
domnio espacial podem ser expressas como:

g(x,y) = T [ f(x,y) ] (4.1)

onde: g(x,y) a imagem processada, f(x,y) a imagem original e T um operador em f, definido
em uma certa vizinhana de (x,y). Alm disso, o operador T pode tambm operar sobre um
conjunto de imagens de entrada, como ser visto na Seo 4.2.4.
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
84
A vizinhana normalmente definida ao redor de (x,y) a 8-vizinhana do pixel de
referncia, o que equivale a uma regio 3 x 3 na qual o pixel central o de referncia, como
indica a figura 1. O centro dessa regio ou subimagem movido pixel a pixel, iniciando no
canto superior esquerdo da figura e aplicando a cada localidade o operador T para calcular o
valor de g naquele ponto.

x
y
(x,y)
Imagem

Figura 1 - Uma vizinhana 3 x 3 ao redor de um ponto de coordenadas (x,y) em uma imagem.

Nos casos em que a vizinhana 1 x 1, o operador T torna-se uma funo de
transformao (ou de mapeamento), do tipo:

s = T(r) (4.2)

onde: r o nvel de cinza de f(x,y) e s o nvel de cinza de g(x,y) em um certo ponto. As
tcnicas de processamento de imagem pertencentes a este caso so freqentemente denominadas
tcnicas ponto-a-ponto e j foram abordadas na Seo 3.2.
4.1.2 Filtragem no domnio da freqncia
A base matemtica das tcnicas de filtragem no domnio da freqncia o teorema da
convoluo. Seja g(x,y) a imagem formada pela convoluo (denotada pelo smbolo *) da
imagem f(x,y) com um operador linear h(x,y), ou seja,

g x y f x y h x y ( , ) ( , ) * ( , ) = (4.3)

Ento, pelo teorema da convoluo (Seo 4.4), a seguinte relao no domnio da freqncia
tambm vlida:

G u v F u v H u v ( , ) ( , ) ( , ) = (4.4)

onde G, F e H so as transformadas de Fourier de g, f e h, respectivamente. Na terminologia de
sistemas lineares, a transformada H(u,v) denominada funo de transferncia do filtro.
Inmeros problemas de processamento de imagens podem ser expressos na forma da
equao (4.4). Em uma aplicao de suavizao de imagens, por exemplo, dada f(x,y), o
objetivo, aps calcular F(u,v), selecionar H(u,v) de tal maneira que a imagem desejada,

| |
g x y F u v H u v ( , ) ( , ) ( , ) =
1

(4.5)
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
85

remova componentes de alta freqncia (possivelmente ruidosos) de f(x,y). Isto poderia ser
obtido usando um filtro Butterworth passa-baixas, por exemplo.
A equao (4.3) descreve um processo espacial anlogo ao explicado na Seo 4.1.1 e
por esta razo h(x,y) freqentemente denominada mscara de convoluo espacial. A
converso de filtros projetados no domnio da freqncia para o domnio espacial e vice-versa
matematicamente possvel mas seu detalhamento foge ao escopo deste livro.
Leitura complementar
A Seo 4.5 de [Gonzalez e Woods 1992] detalha matematicamente o processo de gerao de
mscaras de convoluo correspondentes a um filtro especificado no domnio da freqncia.
4.2 Suavizao de imagens no domnio espacial
4.2.1 Introduo
O uso de mscaras espaciais no processamento de imagens normalmente denominado
filtragem espacial (em contraste com a expresso 'filtragem no domnio da freqncia', utilizada
quando se opera sobre a transformada de Fourier da imagem original) e as mscaras so
conhecidas como filtros espaciais. Nesta seo consideraremos filtros lineares e no-lineares
aplicados ao processamento de imagens.
Os filtros lineares se baseiam no conceito de que a funo de transferncia de um
sistema linear (H(u,v)) e sua funo de resposta a impulso unitrio (h(x,y)) esto relacionadas
entre si atravs da transformada de Fourier, como ilustra a figura 2.

h(x,y) f(x,y) g(x,y)
(a)
H(u,v) F(u,v) G(u,v)
(b)
Figura 2 - Fundamentos de sistemas lineares. Na parte (a) (domnio espacial), a sada do sistema
obtida atravs da convoluo de sua entrada com sua funo de resposta a impulso unitrio
(h(x,y)). Em (b) (domnio da freqncia), a sada do sistema o produto de sua funo de
transferncia (H(u,v)) pela entrada.

Os filtros so denominados 'passa-baixas' quando atenuam ou eliminam as componentes
de alta freqncia no domnio das transformadas de Fourier. Como as componentes de alta
freqncia correspondem a regies de bordas e/ou detalhes finos na imagem, o efeito da
filtragem passa-baixas a suavizao da imagem, provocando um leve borramento na mesma.
J os filtros passa-altas atenuam ou eliminam os componentes de baixa freqncia e, em funo
disto, realam as bordas e regies de alto contraste da imagem. Os filtros passa-faixa, capazes de
remover ou atenuar componentes acima de sua freqncia de corte superior e abaixo de sua
freqncia de corte inferior, embora existam, so de pouca utilidade prtica, com exceo de
algumas tarefas especficas de restaurao de imagens.
A figura 3 mostra as respostas em freqncia dos trs principais tipos de filtros
existentes e os respectivos filtros espaciais correspondentes.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
86
Passa-baixas
1
f 0
t
0

Passa-altas
1
f 0
t
0
Passa-faixa
1
f 0
t
0
Figura 3 - (Acima) Resposta em freqncia dos principais tipos de filtros. (Abaixo) Filtros
correspondentes no domnio espacial.

A suavizao de imagens no domnio espacial baseia-se no uso de mscaras de
convoluo (ver Seo 2.4) adequadas para o objetivo em questo, normalmente o borramento
da imagem (para eliminar detalhes que no so de interesse para as etapas subseqentes do
processamento) ou a remoo de rudos nela presentes. Dentre as tcnicas mais conhecidas de
suavizao esto a filtragem pela mdia e o filtro da mediana, que sero detalhadas a seguir.
4.2.2 Filtro da mdia
Como se pode perceber na figura 3(a), a resposta ao impulso de um filtro passa-baixas indica
que ele deve apresentar todos seus coeficientes positivos. A forma mais simples de implementar
um filtro com tais caractersticas construir uma mscara 3 x 3 com todos seus coeficientes
iguais a 1, dividindo o resultado da convoluo por um fator de normalizao, neste caso igual a
9. Um filtro com esta caracterstica denominado filtro da mdia. A figura 4(a) mostra a
mscara resultante, enquanto as figuras 4(b) e 4(c) ilustram o mesmo conceito, aplicado a
mscaras de maiores dimenses. Na escolha do tamanho da mscara deve-se ter em mente que
quanto maior a mscara, maior o grau de borramento da imagem resultante. A figura 5 mostra
exemplos de mscaras de filtragem pela mdia de diferentes dimenses aplicadas a uma mesma
imagem. As figuras 6 e 7 mostram exemplos de aplicao do filtro da mdia para remoo de
rudos em imagens monocromticas.



1
9
1 1 1
1 1 1
1 1 1

(
(
(


1
25
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

(
(
(
(
(
(

1
49
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1

(
(
(
(
(
(
(
(
(

(a) (b) (c)
Figura 4 - Mscaras para clculo do filtro da mdia: (a) 3 x 3; (b) 5 x 5; (c) 7 x 7.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
87
(a) (b)
(c) (d)
Figura 5 - (a) Imagem original; (b)-(f) resultados da aplicao do filtro da mdia com mscara
de dimenses n x n, n = 3, 5, 7, 17, 31.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
88
(e) (f)
Figura 5 Continuao.


(a) (b)
Figura 6 - (a) Imagem original; (b) imagem contaminada por rudo impulsivo (sal e pimenta);
(c) resultado da filtragem pelo filtro da mdia com mscara 3x3; (d) resultado da filtragem pelo
filtro da mdia com mscara 5 x 5.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
89
(c) (d)
Figura 6 Continuao
.

(a) (b)
Figura 7 - (a) Imagem original; (b) imagem contaminada por rudo gaussiano; (c) resultado da
filtragem pelo filtro da mdia com mscara 3x3; (d) resultado da filtragem pelo filtro da mdia
com mscara 5 x 5.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
90
(c) (d)
Figura 7 - Continuao.

O algoritmo bsico de filtragem pela mdia pode ser alterado no sentido de minimizar a
perda de definio na imagem resultante. Uma possvel modificao consiste em incluir uma
comparao do valor calculado com um limiar (T), antes de alterar seu tom de cinza. Se o valor
absoluto da diferena entre o nvel de cinza original do pixel (f(x,y)) e o valor calculado pela
aplicao do filtro da mdia for menor que T, substitui-se o tom de cinza do pixel pelo valor
calculado; caso contrrio, mantm-se o valor de cinza original. O objetivo principal desta
modificao diminuir o efeito de suavizao indesejvel das bordas dos objetos presentes na
imagem.
4.2.3 Filtro da mediana
Uma das principais limitaes do filtro da mdia em situaes onde o objetivo remoo de
rudos em imagens est na sua incapacidade de preservar bordas e detalhes finos da imagem.
Para contorn-la, uma tcnica alternativa o filtro da mediana. Nesta tcnica, o nvel de cinza
do pixel central da janela substitudo pela mediana dos pixels situados em sua vizinhana.
Este mtodo no-linear apresenta desempenho particularmente bom em situaes nas
quais a imagem contaminada por rudo impulsivo (sal-e-pimenta), como ilustra a figura 8. J
para situaes em que o rudo do tipo gaussiano (figura 9), seu desempenho apenas
satisfatrio, comparvel ao do filtro pela mdia.
A mediana m de um conjunto de n elementos o valor tal que metade dos n elementos
do conjunto situem-se abaixo de m e a outra metade acima de m. Quando n mpar, a mediana
o prprio elemento central do conjunto ordenado. Nos casos em que n par, a mediana
calculada pela mdia aritmtica dos dois elementos mais prximos do centro. A ordenao
(sorting) constitui uma etapa de tempo de processamento relativamente alto, apesar de inmeros
mtodos eficientes existentes na literatura. Para reduzir o custo computacional do filtro da
mediana, Pratt e outros [Pratt et al. 1984] propuseram um mtodo alternativo, denominado filtro
da pseudomediana, o qual estabelece que a pseudomediana de um conjunto de L elementos (S
L
)
pode ser computada como:

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
91
.
2
1 +
= para
)]} ..., , ( [
..., )], ..., , ( [ )], ..., , ( [ { = } {
)]} ..., , ( [
..., )], ..., , ( [ )], ..., , ( [ { = } {
: onde ,
2
} { + } {
= } {
1 + -
1 + 2 1
1 + -
1 + 2 1
L
M
S S MAX
S S MAX S S MAX MIN S MINIMAX
S S MIN
S S MIN S S MIN MAX S MAXIMIN
S MINIMAX S MAXIMIN
S PMED
L M L
M M L
L M L
M M L
L L
L

(4.6)

Leitura complementar
O captulo 1 de [Dougherty 1994] trata do filtro da mediana com grande rigor matemtico,
abordando-o tanto sob o enfoque estatstico quanto algbrico.

(a) (b)
Figura 8 - (a) Imagem original; (b) imagem contaminada por rudo impulsivo (sal e pimenta);
(c) resultado da filtragem pelo filtro da mediana com mscara 3x3; (d) resultado da filtragem
pelo filtro da mdia com mscara 3 x 3.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
92
(c) (d)
Figura 8 - Continuao.


(a) (b)
Figura 9 - (a) Imagem original; (b) imagem contaminada por rudo gaussiano; (c) resultado da
filtragem pelo filtro da mediana com mscara 3x3; (d) resultado da filtragem pelo filtro da
mdia com mscara 3 x 3.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
93
(c) (d)
Figura 9 Continuao.

4.2.4 Outros filtros
Existem diversos outros filtros espaciais para suavizao de imagens, propostos e publicados
por pesquisadores de todo o mundo nos ltimos anos. Nesta seo destacaremos dois deles: o
filtro da mdia de mltiplas imagens e o filtro da mdia dos k vizinhos mais prximos.
Mdia de mltiplas imagens
Seja uma imagem ruidosa g(x,y) = f(x,y)+q(x,y) onde f(x,y) a imagem original e q(x,y) um
padro de rudo aditivo de mdia zero e descorrelacionado, que se sobrepe imagem. Supondo
tambm a existncia de M imagens ruidosas, cada qual adquirida em um instante diferente,
pode-se calcular uma imagem mdia:

g x y
M
g x y
i
i
M
( , ) ( , ) =
=

1
1

(4.7)

na qual a influncia do rudo ter sido minimizada.
Pode-se mostrar que:

E g x y f x y
M
M
g x y
x y
g x y x y
{ ( , )} ( , )
( , )
( , )
( , ) ( , )
=
=
=
o o
o o
q
q
1
1
2 2

(4.8)
(4.9)
(4.10)

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
94
onde E g x y { ( , )} o valor esperado de g x y ( , ) , o
2
g x y ( , ) e o q
2
( , ) x y so, respectivamente, as
varincias da imagem filtrada e do rudo aditivo, enquanto o
g x y ( , )
e o
q( , ) x y
so seus
respectivos desvios-padro.
As equaes (4.8) a (4.10) nos permitem concluir que quanto maior for o valor de M,
menor a varincia (e portanto o desvio padro) dos pixels de g x y ( , ) e mais a imagem
g x y ( , ) ir se aproximar de f(x,y).
Esta tcnica opera de forma igualmente satisfatria para rudo gaussiano ou aleatrio,
quando o nmero de imagens utilizadas no clculo da imagem mdia significativo, devido ao
Teorema do Limite Central, que estabelece que a soma de um grande nmero de termos
representando rudos aleatrios tende a produzir um rudo resultante do tipo gaussiano e
independente dos tipos dos rudos includos naquela soma.
A figura 10 apresenta um exemplo de uso da tcnica da mdia de mltiplas imagens
para reduo de rudo.


(a) (b) (c)

(d) (e) (f)
Figura 10 - Exemplo de reduo de rudos usando mdia de mltiplas imagens: (a) imagem
ruidosa; (b)-(f) resultados para M = 2, 4, 8, 16 e 32 imagens.

Mdia dos k vizinhos mais prximos
Esta tcnica, descrita em [Davis e Rosenfeld 1978], consiste em uma variao do mtodo de
filtragem pela mdia, na qual o pixel central da janela substitudo pela mdia dos k vizinhos
cujas amplitudes mais se aproximam da amplitude do pixel central. Seu objetivo
deliberadamente evitar incluir no clculo da mdia valores que possam estar sob a janela em
decorrncia de bordas ou regies de alto contraste. Quanto maior o valor de k, mais o
desempenho deste filtro se aproximar do filtro da mdia.


Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
95
Exerccio resolvido
Considere o trecho de imagem digital a seguir, representado por uma matriz 5 x 5. Seja o pixel
central o pixel de referncia. Fornea o valor resultante do pixel central caso a imagem seja
processada:
a) pelo algoritmo da filtragem pela mediana utilizando janela 3 x 3.
b) pelo algoritmo da mdia utilizando janela 5 x 5.
c) pela mdia dos k vizinhos mais prximos, utilizando janela 5 x 5, sendo k = 9.
d) pelo algoritmo da pseudomediana utilizando janela 3 x 3.

121 20 198 84 4
87 188 189 99 8
88 115 134 49 19
16 18 187 98 9
12 103 15 176 38

Soluo:
a) Os 9 elementos sob a janela 3 x 3 so: {188, 189, 99, 115, 134, 49, 18, 187, 98}. Ordenando
esta lista, temos: {18, 49, 98, 99, 115, 134, 187, 188, 189}. Logo, o elemento mediano 115.
b) Calculando a mdia dos 25 pixels sob a mscara, obtemos: 83.
c) Os 9 vizinhos do pixel central cujos nveis de cinza mais se aproximam do valor 134 so:
{121, 84, 87, 99, 88, 115, 98, 103, 176}. Calculando a mdia desses valores, obtemos: 107,889
~ 108.
d) Neste caso, L = 9, logo M = 5. Portanto:
MAXIMIN{S
9
} = MAX{ MIN(188, 189, 99, 115, 134), MIN(189, 99, 115, 134, 49), MIN(99,
115, 134, 49, 18), MIN(115, 134, 49, 18, 187), MIN(134, 49, 18, 187, 98) } = MAX(99, 49, 18,
18, 18) = 99
MINIMAX{S
9
} = MIN{ MAX(188, 189, 99, 115, 134), MAX(189, 99, 115, 134, 49), MAX(99,
115, 134, 49, 18), MAX(115, 134, 49, 18, 187), MAX(134, 49, 18, 187, 98) } = MIN(189, 189,
134, 187, 187) = 134
PMED{S
9
} = (99 + 134) / 2 = 116,5 ~ 117. (Resultado prximo do obtido no item (a)).
Leitura complementar
O captulo 3 de [Pavlidis 1982] apresenta conceitos e algoritmos de filtragem (linear ou no-
linear) no domnio espacial.
Diversas outras tcnicas de filtragem no domnio espacial so resenhadas em [Arajo
1989].
4.3 Realce de imagens no domnio espacial
O principal objetivo das tcnicas de realce o de destacar detalhes finos na imagem. Nesta
seo apresentaremos trs mtodos de realce de imagens no domnio espacial, a saber: filtro
passa-altas bsico, realce por diferenciao e nfase em alta freqncia.
4.3.1 Filtro passa-altas bsico
O formato da resposta ao impulso de um filtro passa-altas (figura 3(b)) deve ser tal que a
mscara correspondente apresente coeficientes positivos nas proximidades de seu centro e
negativos longe dele. No caso de uma mscara 3 x 3, isto significa projetar uma mscara com
pixel central positivo e todos seus oito vizinhos negativos. Um exemplo de mscara com estas
caractersticas apresentado na figura 11. Pode-se notar que a soma algbrica dos coeficientes
desta mscara zero, significando que quando aplicada a regies homogneas de uma imagem,
o resultado ser zero ou um valor muito baixo, o que consistente com o princpio da filtragem
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
96
passa-altas. A figura 12 mostra um exemplo de resultado de aplicao da mscara da figura 11 a
uma imagem monocromtica.
1
9
1 1 1
1 8 1
1 1 1


(
(
(

Figura 11 - Exemplo de mscara para filtragem espacial passa-altas.


(a) (b)
Figura 12 - (a) Imagem original; (b) imagem resultante aps filtragem passa-altas com a
mscara da figura 11.
4.3.2 Realce por diferenciao
Sabendo-se que o clculo da mdia dos pixels em um trecho de imagem produz como efeito a
remoo de seus componentes de alta freqncia e que o conceito de mdia anlogo
operao de integrao, razovel esperar que a diferenciao produza o efeito oposto e,
portanto, enfatize os componentes de alta freqncia presentes em uma imagem. O mtodo mais
usual de diferenciao em aplicaes de processamento de imagens o gradiente. Em termos
contnuos, o gradiente de f(x,y) em um certo ponto (x,y) definido como o vetor:

=

(
(
(
(
f

f
x
f
y

(4.11)

A magnitude deste vetor dada por:
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
97
( ) = =
|
\

| +
|
\

| f mag
f
x
f
y
f

2 2

(4.12)

e utilizada por vrias tcnicas de realce de imagens por diferenciao.
Para uma imagem digital, o gradiente pode ser aproximado por:

G f x y f x y f x y f x y f x y
G f x y f x y f x y f x y f x y
[ ( , )] {[ ( , ) ( , )] [ ( , ) ( , )] }
[ ( , )] | ( , ) ( , )| | ( , ) ( , )|
/
~ + + +
~ + + +
1 1
1 1
2 2 1 2
ou por:
(4.13)
(4.14)

Outra aproximao, conhecida como gradiente de Roberts, utiliza as diferenas cruzadas, isto ,
na diagonal:

G f x y f x y f x y f x y f x y
G f x y f x y f x y f x y f x y
[ ( , )] {[ ( , ) ( , )] [ ( , ) ( , )] }
[ ( , )] | ( , ) ( , )| | ( , ) ( , )|
/
~ + + + + +
~ + + + + +
1 1 1 1
1 1 1 1
2 2 1 2
ou :
(4.15)
(4.16)

As equaes (4.14) e (4.16) podem ser implementadas usando mscaras de tamanho 2 x 2, como
as mostradas na figura 13, ou de dimenses 3 x 3, como por exemplo os operadores de Prewitt e
Sobel, apresentados na Seo 2.4.

1 -1
0 0

1 0
-1 0
(a)

1 0
0 -1

0 1
-1 0
(b)
Figura 13 - Implementao do gradiente usando mscara 2 x 2: (a) gradiente convencional; (b)
gradiente de Roberts.
4.3.3 Filtragem high-boost
A filtragem passa-altas tambm pode ser obtida subtraindo de uma imagem original uma verso
filtrada por um filtro passa-baixas, ou seja:

Passa-altas = Original - Passa-baixas (4.17)

O filtro high-boost ou tcnica da nfase em alta freqncia nada mais que uma extenso da
idia original formulada na equao (4.17), na qual a imagem original multiplicada por um
fator de amplificao A:

High-boost



= (A) (Original) - Passa-baixas
= (A - 1) (Original) + Original - Passa-baixas
= (A - 1) (Original) + Passa-altas.
(4.18)

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
98
Quando A = 1, o filtro se comporta de forma idntica a um passa-altas. Nos casos em que A > 1,
parte da imagem original adicionada ao resultado, restaurando parcialmente os componentes
de baixa freqncia. O resultado uma imagem que se parece com a original, com um grau
relativo de realce das bordas, dependente do valor de A. O processo genrico de subtrao de
uma imagem borrada da imagem original conhecido na literatura como unsharp masking.
A nfase em alta freqncia pode ser implementada utilizando a mscara da figura 14,
na qual

w = 9 A - 1 (4.19)

com A > 1. A figura 15 mostra o efeito da variao de A no resultado final da filtragem.

1
9
1 1 1
1 1
1 1 1


(
(
(
w
Figura 14 - Mscara usada para filtragem high-boost.


(a) (b)
Figura 15 - (a) imagem original; resultados da filtragem high-boost com a mscara da figura 14
para (b) A = 1,1, (c) A = 1,15 e (d) A = 1,2, respectivamente.

Filtr agem, Realce e Suavizao de Imagens 99
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

(c) (d)
Figura 15 - Continuao.

4.4 Transformada de Fourier
Esta seo apresenta de forma sucinta os principais conceitos e propriedades da transformada de
Fourier (FT), ferramenta matemtica obrigatria para a especificao e projeto de filtros no
domnio da freqncia.
4.4.1 Transformada de Fourier para sinais unidimensionais (1-D) contnuos
Seja f(x) uma funo contnua da varivel real x. A transformada de Fourier (FT) de f(x),
indicada por { } f x ( ) , definida pela equao

{ } | |
= =

}
f x F u f x j ux dx ( ) ( ) ( ) exp 2t
(4.20)

onde j = 1 .
Dado F(u), f(x) pode ser obtida calculando-se a transformada inversa de Fourier (IFT)

{ } | |
= =

}
1
2 F u f x F u j ux du ( ) ( ) ( ) exp t
(4.21)

As equaes (4.20) e (4.21), chamadas conjuntamente de 'par de Fourier', existem se f(x) for
contnua e integrvel e F(u) for integrvel. Na prtica, estas condies so quase sempre
satisfeitas.
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
100
A FT de uma funo real , geralmente, um valor complexo
1
, ou seja,

F u R u jI u ( ) ( ) ( ) = + (4.22)

onde R(u) e I(u) so, respectivamente, os componentes reais e imaginrios de F(u). F(u) tambm
pode ser representada exponencialmente atravs da equao

F u F u e
j u
( ) ( )
( )
=
|

(4.23)

onde a componente de magnitude F u ( ) denominada 'espectro de Fourier' de f(x) e |(u) seu
ngulo de fase. A figura 16 mostra um exemplo de funo unidimensional simples (pulso
retangular de amplitude A) e seu respectivo espectro de Fourier.

0 X
A
x
f(x)

(a)
0 -1 -2 -3 -4 1 2 3 4
X X X X X X X X
AX
u
|F(u)|

(b)
Figura 16 - Uma funo unidimensional contnua simples e seu respectivo espectro de Fourier.
4.4.2 Transformada de Fourier para sinais bidimensionais (2-D) contnuos
O conceito de transformada de Fourier pode ser facilmente estendido para uma funo de duas
variveis f(x,y). Se f(x,y) contnua e integrvel e F(u,v) integrvel, ento o par de Fourier a
seguir existe:

{ } | |
= = +

} }
f x y F u v f x y j ux vy dx dy ( , ) ( , ) ( , ) exp ( ) 2t
(4.24)
e
{ } | |
= = +

} }
1
2 F u v f x y F u v j ux vy dx dy ( , ) ( , ) ( , ) exp ( ) t
(4.25)

Assim como no caso 1-D, F(u,v) complexa e sua amplitude, F u v ( , ) , denominada espectro
de Fourier.
A figura 17 mostra uma funo bidimensional contnua e seu respectivo espectro de
Fourier, representado de duas maneiras: em perspectiva tridimensional (figura 17(b)) e como

1
Convm notar que uma imagem um conjunto de nmeros reais, porm a FT opera igualmente para
conjuntos de nmeros complexos.
Filtr agem, Realce e Suavizao de Imagens 101
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

uma funo de intensidade, na qual o brilho proporcional amplitude de F u v ( , ) (figura
17(c)).

X Y
A
f(x,y)
x y



(a)
|F(u,v)|
u v
(b)

(c)
Figura 17 - Uma funo bidimensional contnua (a), seu espectro de Fourier (b) e o espectro
representado como uma funo de intensidade (c).

4.4.3 Transformada de Fourier para sinais unidimensionais (1-D) discretos
Supondo que uma funo contnua f(x) seja discretizada, produzindo a seqncia
| | { }
f x f x x f x x f x N x ( ), ( ), ( ),..., ( )
0 0 0 0
2 1 + + + A A A
atravs da amostragem de N pontos, espaados entre si de Ax.
Denominando a funo discreta f(n),

) ( ) (
0
x n x f n f A + =
(4.26)

onde n pode assumir os valores discretos 0, 1, 2, ..., N-1, podemos interpretar a seqncia {f(0),
f(1), f(2), ..., f(N-1)} como qualquer seqncia de N amostras consecutivas do sinal original
contnuo f(x), uniformemente espaadas.
A transformada de Fourier de f(n) ser:

=
(

=
1
0
2
exp ) (
1
) (
N
n
N
un j
n f
N
u F
t

(4.27)

para u = 0, 1, 2, ..., N-1 e a transformada inversa de Fourier de F(u) ser:

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
102

=
(

=
1
0
2
exp ) (
1
) (
N
u
N
un j
u F
N
n f
t

(4.28)

para n = 0, 1, 2, ..., N-1.
Os valores u = 0, 1, 2, ..., N-1 na transformada discreta de Fourier (eq. 4.27)
correspondem a amostras dos valores da transformada do sinal contnuo nos pontos 0, Au, 2Au,
..., (N-1)Au. Em outras palavras, F(u) representa F(uAu). Portanto, os intervalos de espaamento
entre as amostras do sinal e de sua transformada esto relacionados atravs da expresso

A
A
u
N x
=
1

(4.29)

4.4.4 Transformada de Fourier para sinais bidimensionais (2-D) discretos
Seja agora uma funo contnua bidimensional f(x,y), discretizada em M amostras ao longo de x
e N amostras ao longo de y. Neste caso, sua transformada discreta de Fourier ser:

F u v
MN
f x y j
ux
M
vy
N
y
N
x
M
( , ) ( , ) exp = +
|
\

(
=


1
2
0
1
0
1
t
(4.30)

para u = 0, 1, 2, ..., M-1, v = 0, 1, 2, ..., N-1.
A transformada inversa dada por:

f x y F u v j
ux
M
vy
N
v
N
u
M
( , ) ( , ) exp = +
|
\

(
=


2
0
1
0
1
t
(4.31)

O processo de amostragem da funo bidimensional contnua f(x,y) pode ser visto como uma
grade 2-D, com impulsos unitrios espaados de Ax e Ay, nos eixos x e y respectivamente. A
funo f(x,y) discretizada (utilizada nas eqs. 4.30 e 4.31) representa as amostras de f(x,y)
contnua original em pontos espaados entre si de Ax e Ay, nos respectivos eixos. Os intervalos
de amostragem nos domnios espacial e freqencial esto relacionados entre si por:

A
A
u
M x
=
1

(4.32)
e
A
A
v
N y
=
1

(4.33)

Para o caso particular em que M = N, as equaes (4.30) e (4.31) podem ser reescritas como:

F u v
N
f x y j
ux vy
N
y
N
x
N
( , ) ( , ) exp =
+
|
\

(
=


1
2
0
1
0
1
t
(4.34)
e
Filtr agem, Realce e Suavizao de Imagens 103
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

f x y
N
F u v j
ux vy
N
v
N
u
N
( , ) ( , ) exp =
+
|
\

(
=


1
2
0
1
0
1
t
(4.35)

Notar que o termo 1 / MN foi desmembrado em dois termos 1 / N, um em cada equao, uma
vez que o agrupamento ou desmembramento destas constantes multiplicativas arbitrrio.
4.4.5 Propriedades da transformada de Fourier para sinais bidimensionais (2-D)
discretos
Existem diversas propriedades da FT 2-D de grande interesse para o processamento de imagens.
Muitas delas so derivaes de propriedades semelhantes da FT 1-D e o leitor familiarizado
com processamento de sinais unidimensionais ir facilmente reconhec-las. Outras s fazem
sentido no caso 2-D, como a propriedade da separabilidade.
Separabilidade
O par de Fourier das eqs. (4.34) e (4.35) pode ser decomposto em

F u v
N
j ux
N
f x y
j vy
N
y
N
x
N
( , ) exp ( , ) exp =

(
=


1 2 2
0
1
0
1
t t

(4.36)

para u, v = 0, 1, 2, ..., N-1, e

f x y
N
j ux
N
F u v
j vy
N
v
N
u
N
( , ) exp ( , ) exp =

(
=


1 2 2
0
1
0
1
t t

(4.37)

para x, y = 0, 1, 2, ..., N-1.
A principal vantagem desta decomposio permitir que a FT ou a IFT 2-D possa ser
obtida atravs de duas aplicaes do algoritmo da FT ou IFT 1-D. Esta vantagem se torna
evidente ao reescrevermos a eq. (4.36) da seguinte forma:

F u v
N
F x v
j ux
N
x
N
( , ) ( , ) exp =

(
=

1 2
0
1
t

(4.38)
onde
F x v N
N
f x y
j vy
N
y
N
( , ) ( , ) exp =

(
=

1 2
0
1
t

(4.39)

Para cada valor de x, a expresso entre colchetes da eq. (4.39) uma transformada 1-D, com
valores de freqncia v = 0, 1, 2, ..., N-1. Portanto, a funo 2-D F(x,v) obtida calculando-se a
transformada ao longo de cada linha de f(x,y) e multiplicando o resultado por N. O resultado
final, F(u,v) ser obtido mediante uma nova aplicao da FT 1-D, desta vez ao longo das
colunas do resultado intermedirio F(x,v), como indica a eq. (4.38). Este procedimento
ilustrado na figura 18. Sua principal vantagem prtica a possibilidade de aproveitar todas as
otimizaes j publicadas sobre o algoritmo da Transformada Rpida de Fourier (FFT - Fast
Fourier Transform), aplicando seus resultados a problemas bidimensionais.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
104
f(x,y) F(x,v) F(u,v)
Li nhas Col unas
Multi pli cao
por N

Figura 18 - Clculo da transformada de Fourier 2-D a partir de duas aplicaes do algoritmo da
transformada 1-D.

Translao
As propriedades de translao do par de Fourier bidimensional so resumidas nas relaes:

( )
( ) f x y
j u x v y
N
F u u v v ( , ) exp ,
2
0 0
0 0
t +

(

(4.40)
e
( )
( )
f x x y y F u v
j ux vy
N
( , ) , exp
+

( 0 0
0 0
2t

(4.41)

onde as setas duplas indicam a correspondncia entre uma funo e sua FT e vice-versa.
Para o caso particular em que u v
N
0 0
2
= = , a relao (4.40) se reduz a:

( ) f x y F u
N
v
N x y
( , ) ,
|
\

|
+
1
2 2

(4.42)

O deslocamento expresso na relao (4.42) utilizado com bastante freqncia para uma melhor
visualizao do resultado da FT de uma imagem. Pode-se provar que tal deslocamento no
altera a componente de magnitude da transformada resultante.
Periodicidade e simetria conjugada
A transformada discreta de Fourier e sua inversa so peridicas, com perodo N. Ou seja,

F u v F u N v F u v N F u N v N ( , ) ( , ) ( , ) ( , ) = + = + = + + (4.43)

Se f(x,y) real, sua transformada de Fourier exibe tambm a propriedade conhecida como
simetria conjugada:

F u v F u v ( , ) ( , )
*
=
(4.44)
ou
F u v F u v ( , ) ( , ) =
(4.45)

onde F*(u,v) o conjugado complexo de F(u,v).
A combinao das propriedades da translao e da periodicidade e a convenincia de
sua utilizao para fins de visualizao podem ser ilustradas na figura 19.

Filtr agem, Realce e Suavizao de Imagens 105
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.


(a)

(b)

(c)
Figura 19 - (a) Imagem simples; (b) FT sem deslocamento; (c) FT aps deslocamento para o
centro do retngulo de referncia.

Distributividade
A FT obedece propriedade distributiva para a adio, mas no para a multiplicao, ou seja:

{ } { } { } + = + f x y f x y f x y f x y
1 2 1 2
( , ) ( , ) ( , ) ( , )
(4.46)

e, em geral,

{ } { } { } = f x y f x y f x y f x y
1 2 1 2
( , ). ( , ) ( , ) . ( , )
(4.47)

Rotao
Em poucas palavras, a propriedade da rotao estabelece que, se uma imagem f(x,y) for
rotacionada de um certo ngulo u
0
, sua transformada, F(u,v), ser rotacionada do mesmo ngulo.
A figura 20 ilustra este conceito.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
106

(a)

(b)

(c)

(d)
Figura 20 - (a) imagem original; (b) FT de (a); (c) imagem rotacionada; (d) FT de (c).

Escala
Sejam dois escalares a e b. Pode-se mostrar que:

( ) af x y aF u v ( , ) ,
(4.48)
e
f ax by
ab
F
u
a
v
b
( , ) ,
|
\

|
1

(4.49)

Valor mdio
O valor mdio de uma funo bidimensional f(x,y) dado por:

f x y
N
f x y
y
N
x
N
( , ) ( , ) =
=


1
2
0
1
0
1

(4.50)

Substituindo u = v = 0 na eq. (4.36), obtemos
Filtr agem, Realce e Suavizao de Imagens 107
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.


F
N
f x y
y
N
x
N
( , ) ( , ). 0 0
1
0
1
0
1
=
=



(4.51)

Logo, o valor mdio de uma funo 2-D est relacionado sua FT atravs da relao

f x y
N
F ( , ) ( , ). =
1
0 0
(4.52)

Laplaciano
O laplaciano de uma funo de duas variveis f(x,y) definido como:

= +
2
2
2
2
2
f x y
f
x
f
y
( , )


(4.53)

A FT do laplaciano de uma funo bidimensional :

{ }
( ) ( )
+
2
2
2 2
2 f x y u v F u v ( , ) ( , ) t
(4.54)

O laplaciano um operador til no processo de deteo de bordas, como indicado na Seo 2.4.
Convoluo
O teorema da convoluo, que no caso de funes unidimensionais pode ser resumido pelos
pares de Fourier das eqs. (4.55) e (4.56), tambm pode ser estendido ao caso bidimensional,
conforme indicado nas eqs. (4.57) e (4.58). Nestas equaes, a operao de convoluo
denotada por um asterisco.

f x g x F u G u ( ) * ( ) ( ) ( ) (4.55)

f x g x F u G u ( ) ( ) ( ) * ( ) (4.56)

f x y g x y F u v G u v ( , ) * ( , ) ( , ) ( , ) (4.57)

f x y g x y F u v G u v ( , ) ( , ) ( , ) * ( , ) (4.58)
4.4.6 A Transformada Rpida de Fourier (FFT)
Trata-se de um algoritmo cujo principal objetivo reduzir o custo computacional do clculo da
FT de N pontos, substituindo o processo convencional de clculo, no qual o nmero de
multiplicaes e adies proporcional a N
2
por um engenhoso arranjo que combina diversas
transformadas parciais, cada qual com pequeno nmero de pontos, em que o nmero de adies
e multiplicaes proporcional a Nlog
2
N. Para se poder apreciar a diferena em velocidade
entre os algoritmos, pode-se supor N = 512 pontos, verificando que neste caso a FFT mais de
56 vezes mais rpida. O detalhamento do algoritmo da FFT e seus diversos aprimoramentos
foge ao escopo deste livro. O leitor interessado encontrar boas referncias logo a seguir.
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
108
Leitura complementar
A transformada de Fourier assunto suficientemente extenso para merecer ser abordado em um
livro inteiro, como o caso de [Papoulis 1962]. Ao leitor interessado em mais detalhes sobre a
FT em uma ou duas dimenses indicamos, alm do livro citado, o livro de Brigham [Brigham
1974], os captulos 2 a 6 de [Enden e Verhoeckx 1989], os captulos 4 e 5 de [Oppenheim et al.
1983], o captulo 3 de [Gonzalez e Woods 1992] e os captulos 1 e 3 de [Lim 1990].
O captulo 2 de [Pavlidis 1982] apresenta algoritmo para clculo da Transformada
Rpida de Fourier (FFT) 1-D. Maiores consideraes algortmicas sobre a FFT para uma ou
mais dimenses so encontradas no captulo 12 de [Press et al. 1994].
4.5 Filtragem no domnio da freqncia
Conforme antecipamos na Seo 4.1.2, a idia bsica dos filtros no domnio da freqncia est
em computar a FT da imagem a ser filtrada, multiplicar este resultado pela funo de
transferncia do filtro e extrair a IFT do resultado.
4.5.1 Filtro passa-baixas (FPB)
Sendo F(u,v) a transformada de Fourier da imagem a ser processada e sendo G(u,v) a
transformada de Fourier da imagem que se deseja obter sada (com os componentes de alta
freqncia atenuados), a filtragem passa-baixas consiste em encontrar um H(u,v) tal que:

G u v F u v H u v ( , ) ( , ) ( , ) = (4.59)

Filtro passa-baixas ideal
Um filtro passa-baixas 2-D ideal aquele cuja funo de transferncia satisfaz a relao

H u v
D u v D
D u v D
( , )
( , )
( , )
=
s
>

1
0
0
0
se
se

(4.60)

onde D
0
um valor no-negativo (anlogo freqncia de corte de um filtro 1-D), e D(u,v) a
distncia do ponto (u,v) origem do plano de freqncia; isto ,

( )
D u v u v ( , )
/
= +
2 2
1 2

(4.61)

A figura 21 mostra a resposta em freqncia de um filtro passa-baixas 2-D ideal, H(u,v), tanto
em perspectiva 3-D (a) quanto em corte (b).

Filtr agem, Realce e Suavizao de Imagens 109
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.


(a)
H(u,v)
D(u,v)

(b)
Figura 21 - Resposta em freqncia de um filtro passa-baixas ideal.


(a)


(b)
Figura 22 - (a) Imagem 512 x 512 e (b) seu respectivo espectro de Fourier. Os anis sobrepostos
ao espectro indicam as freqncias de corte dos filtros passa-baixas correspondentes.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
110
(a) (b)
(c)
(d)
(e) (f)
Figura 23 - (a) Imagem original; (b) - (f) resultados da aplicao de filtro passa-baixas ideal com
freqncia de corte correspondente aos raios indicados na figura 22(b), a saber: 8, 16, 32, 64 e
128 pixels.
Filtr agem, Realce e Suavizao de Imagens 111
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Muito embora a abrupta transio entre banda de passagem e banda de rejeio do filtro
passa-baixas ideal no possa ser implementada fisicamente utilizando componentes eletrnicos,
ela pode certamente ser simulada por computador. A figura 22 mostra uma imagem de 256 x
256 pixels e seu espectro de Fourier, indicando sobre ele diversos anis cujos raios so
proporcionais s freqncias de corte dos filtros passa-baixas correspondentes. Os raios
escolhidos neste caso foram: 8, 16, 32, 64 e 128 pixels, correspondendo respectivamente a
7,8%, 13,5%, 23,9%, 45,9% e 90,9% da informao contida no espectro original. Quanto menor
o raio, menor a freqncia de corte e, portanto, maior o grau de borramento da imagem
resultante. A figura 23 apresenta exemplos de filtros passa-baixas de diferentes freqncias de
corte aplicados a uma mesma imagem original.
Filtro passa-baixas Butterworth
Um filtro passa-baixas realizvel em hardware o filtro Butterworth. Um filtro Butterworth de
ordem n e com freqncia de corte a uma distncia D
0
da origem possui funo de transferncia
dada pela equao

| |
H u v
D u v D
n
( , )
( , ) /
=
+
1
1
0
2

(4.62)

onde D(u,v) dado pela eq. (4.61). A figura 24 mostra a resposta em freqncia de um filtro
passa-baixas 2-D Butterworth, H(u,v), tanto em perspectiva 3-D (a) quanto em corte (b).


(a)
H(u,v)
D(u,v)

(b)
Figura 24 - Resposta em freqncia de um filtro passa-baixas Butterworth.

Ao contrrio do filtro passa-baixas ideal, o filtro de Butterworth no possui uma
transio abrupta entre banda de passagem e banda de rejeio e, portanto, necessrio
estabelecer alguma conveno para determinar o valor exato da freqncia de corte do filtro.
Um valor comumente usado para determinar quando D(u,v) = D
0
0,707 do valor mximo de
H(u,v).
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
112
(a) (b)
(c) (d)
(e)
(f)
Figura 25 - (a) Imagem original; (b) - (f) resultados da aplicao de filtro passa-baixas
Butterworth com freqncia de corte correspondente aos raios indicados na figura 22(b), a
saber: 8, 16, 32, 64 e 128 pixels.
Filtr agem, Realce e Suavizao de Imagens 113
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

A figura 25 apresenta exemplos de filtros passa-baixas Butterworth de diferentes
freqncias de corte aplicados a uma mesma imagem original. Atravs dela possvel perceber
que a reduo de informao obtida com um filtro Butterworth significativamente menor que
aquela obtida com um filtro ideal de mesmo raio.
A figura 26 mostra um exemplo de utilizao de filtro passa-baixas Butterworth de 2
ordem para reduo do efeito indesejvel de falsos contornos (ver Seo 2.1). J a figura 27
ilustra o uso de um FPB Butterworth semelhante, desta vez para remoo de rudo.

(a) (b)
Figura 26 - Exemplo de aplicao de filtragem passa-baixas para suavizao do efeito de falsos
contornos.


(a) (b)
Figura 27 - Exemplo de aplicao de filtragem passa-baixas para reduo de rudo em imagens.

4.5.2 Filtro passa-altas (FPA)
O objetivo do uso de filtros passa-altas em imagens o realce de suas regies de alta freqncia,
tais como bordas e/ou texturas ricas em variaes abruptas de nveis de cinza. Para o projeto de
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
114
filtros passa-altas no domnio da freqncia, aplicam-se as mesmas consideraes feitas para os
filtros passa-baixas, com a exceo, bvia, do comportamento em freqncia desejado.
Filtro passa-altas ideal
Um filtro passa-altas 2-D ideal aquele cuja funo de transferncia satisfaz a relao

H u v
D u v D
D u v D
( , )
( , )
( , )
=
s
>

0
1
0
0
se
se

(4.63)

onde D
0
a 'distncia de corte' do filtro e D(u,v) a distncia do ponto (u,v) origem do plano
de freqncia, dada pela eq. (4.61).
A figura 28 mostra a resposta em freqncia de um filtro passa-altas 2-D ideal, H(u,v),
tanto em perspectiva 3-D (a) quanto em corte (b). Assim como o FPB ideal, o FPA ideal no
fisicamente realizvel.


(a)
H(u,v)
D(u,v)

(b)
Figura 28 - Resposta em freqncia de um filtro passa-altas ideal.

Filtro passa-altas Butterworth
Um FPA Butterworth de ordem n e com freqncia de corte a uma distncia D
0
da origem
possui funo de transferncia dada pela equao

| |
H u v
D D u v
n
( , )
/ ( , )
=
+
1
1
0
2

(4.64)

onde D(u,v) dado pela eq. (4.61). A figura 29 mostra a resposta em freqncia de um FPA 2-D
Butterworth, H(u,v), tanto em perspectiva 3-D (a) quanto em corte (b). A exemplo do FPB
Filtr agem, Realce e Suavizao de Imagens 115
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Butterworth, um valor comumente usado para determinar a freqncia de corte de um FPA
Butterworth 0,707 do valor mximo de H(u,v).


(a)
H(u,v)
D(u,v)

(b)
Figura 29 - Resposta em freqncia de um filtro passa-altas Butterworth.

A filtragem passa-altas usando um filtro Butterworth apresenta como desvantagem a
excessiva atenuao dos componentes de baixa freqncia. Este problema solucionado com a
tcnica denominada 'nfase em alta freqncia', que consiste basicamente em adicionar uma
constante funo de transferncia do filtro passa-altas de modo a preservar os componentes de
baixa freqncia (ver Seo 4.3). A tcnica de nfase em alta freqncia sozinha no produz um
resultado muito melhor que o da filtragem passa-altas convencional; porm, a aplicao da
nfase em alta freqncia seguida da equalizao de histograma pode produzir melhores
resultados, como ilustra a figura 30.
4.5.3 Filtragem homomrfica
O modelo iluminncia-refletncia apresentado na Seo 2.1 pode ser usado como base para uma
tcnica de filtragem no domnio da freqncia que til para aprimorar a qualidade de uma
imagem atravs da compresso da faixa dinmica de brilho simultaneamente com o aumento de
contraste.
A formulao matemtica dos filtros homomrficos parte da equao que relaciona uma
imagem f(x,y) com suas componentes de iluminncia e refletncia:

f x y i x y r x y ( , ) ( , ) ( , ) = (4.65)

Utilizando propriedades de logaritmos podemos definir uma funo z(x,y) dada por:

z x y f x y
i x y r x y
( , ) ln ( , )
ln ( , ) ln ( , ).
=
= +

(4.66)
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
116


(a) (b)
(c) (d)
Figura 30 - Exemplo de filtragem passa-altas: (a) imagem original; (b) imagem processada com
filtro Butterworth passa-altas; (c) resultado da nfase em alta-freqncia; (d) nfase em alta
freqncia seguida de equalizao de histograma.

Ento, aplicando a propriedade distributiva da FT:

{ } { }
{ } { }
=
= +
z x y f x y
i x y r x y
( , ) ln ( , )
ln ( , ) ln ( , ) .

(4.67)
ou
Z u v I u v R u v ( , ) ( , ) ( , ). = + (4.68)

onde I(u,v) e R(u,v) so as FTs de ln i(x,y) e de ln r(x,y), respectivamente.
Se Z(u,v) for processada por um filtro de funo de transferncia H(u,v), a transformada
de Fourier do resultado, S(u,v), ser:

Filtr agem, Realce e Suavizao de Imagens 117
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

S u v H u v Z u v
H u v I u v H u v R u v
( , ) ( , ) ( , )
( , ) ( , ) ( , ) ( , ).
=
= +

(4.69)

No domnio espacial,

{ }
{ } { }
s x y S u v
H u v I u v H u v R u v
( , ) ( , )
( , ) ( , ) ( , ) ( , ) .
=
= +


1
1 1

(4.70)

Denominando

{ } i x y H u v I u v ' ( , ) ( , ) ( , ) =
1

(4.71)
e
{ } r x y H u v R u v ' ( , ) ( , ) ( , ) . =
1

(4.72)

podemos representar a eq. (4.70) sob a forma

s x y i x y r x y ( , ) ' ( , ) ' ( , ). = + (4.73)

Finalmente, como z(x,y) foi obtida extraindo-se o logaritmo natural da imagem original f(x,y), a
operao inversa fornecer sada a imagem filtrada g(x,y). Este mtodo de filtragem est
resumido na figura 31.

l n exp FFT IFFT H(u,v)
f(x,y) g(x,y)

Figura 31 - Diagrama em blocos ilustrativo da filtragem homomrfica.


H
L
H(u,v)
D(u,v)

Figura 32 - Vista em corte da funo de transferncia H(u,v) de um filtro homomrfico
simtrico.

Na escolha da funo de transferncia H(u,v) costuma-se buscar uma resposta em
freqncia que atenue as baixas freqncias (associadas componente de iluminncia) e realce
as altas freqncias (associadas componente de refletncia). A figura 32 mostra em corte um
exemplo de funo de transferncia H(u,v) em funo de D(u,v) (distncia a partir da origem do
par de coordenadas (u,v)). A especificao completa de H(u,v) obtida rotacionando a seo
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
118
transversal 360 ao redor do eixo vertical. Se os parmetros
H
e
L
forem escolhidos de tal
maneira que
H
> 1 e
L
< 1, o filtro resultante tender a atenuar as componentes de baixa
freqncia e realar as de alta freqncia, provocando uma compresso da faixa dinmica de
brilho simultaneamente com o aumento de contraste. O resultado da aplicao de um filtro
homomrfico a uma imagem ilustrado na figura 33.

(a) (b)
Figura 33 - Exemplo de filtragem homomrfica: (a) imagem original; (b) resultado da filtragem
homomrfica com raio 8/128,
H
= 1,3 e
L
= 0,7.
Leitura complementar
Diversos outros filtros no domnio da freqncia podem ser encontrados em [Lim 1990], [Pratt
1991] e [Jain 1989].
4.6 Processamento de imagens coloridas
O uso de cores em processamento digital de imagens decorre de dois fatores motivantes
principais:
1. Na anlise automtica de imagens (reconhecimento de padres), a cor um poderoso
descritor das propriedades de um objeto, que pode simplificar sua identificao e
segmentao.
2. Na anlise de imagens com interveno humana, o olho humano pode discernir milhares de
nuanas de cores de diferentes matizes e intensidades, enquanto sua capacidade de distinguir
diferentes tons de cinza no passa de algumas poucas dezenas de tons diferentes.
O processamento de imagens coloridas pode ser dividido em duas frentes principais: o
processamento full color, onde as imagens j so adquiridas atravs de sensores em cores e a
pseudocolorizao, processo pelo qual so atribudas cores diferentes a distintas regies da
escala de cinza de uma imagem monocromtica.
O uso de tcnicas de processamento de imagens coloridas full color relativamente
recente e sobre ele ainda h comparativamente pouca bibliografia. Trata-se, porm, de rea
importante e promissora para os prximos anos.
4.6.1 Conceitos bsicos
Embora o processo psicofisiolgico de percepo de cor pelo sistema nervoso central humano
ainda no seja totalmente compreendido, os aspectos fsicos da cor vm sendo estudados h
muitos anos por inmeros cientistas e engenheiros, constituindo hoje um slido conjunto de
conhecimentos tericos.
Filtr agem, Realce e Suavizao de Imagens 119
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Em 1666, Sir Isaac Newton descobriu que um prisma de vidro atravessado pela luz
branca capaz de decomp-la em um amplo espectro de cores que vo do violeta, num extremo,
ao vermelho, no outro. Este espectro, com alguns valores representativos de comprimento de
onda, est ilustrado na figura 34. Como se pode perceber a partir desta figura, o chamado
'espectro de luz visvel' ocupa uma faixa muito estreita do espectro total de radiaes
eletromagnticas.

10
200
300
390
455
492
577
597
622
770
1,5X10
3
6X10
3
4X10
4
10
6
Comprimento
de Onda m)
(
Extremo
Distante
Prximo
Prximo
Muito Distante
Intermedi ri o
Vermel ho
Laranja
Amarelo
Verde
Azul
Vi ol eta
Distante
10
14
10
13
10
12
10
11
10
10
10
9
10
8
10
7
10
6
10
5
10
4
10
3
10
2
10
1
1
10
-1
10
-2
10
-3
10
-4
10
-5
10
-6
10
-7
10
-8
10
-9
10
-10
Comprimento
de Onda ( m)
(1 m)
(1 nm)
(1 A)
(1 mm)
(1 cm)
(1 m)
(1 km)
ULTRAVIOLETA
INFRAVERMELHO
LUZ VISVEL
O
s
c
i
l
a

e
s
E
l

t
r
i
c
a
s
L
o
n
g
a
s
O
n
d
a
s

d
e

R

d
i
o
M
i
c
r
o
o
n
d
a
s
R
a
i
o
s

X
R
a
i
o
s

G
a
m
a
R
a
i
o
s
C

s
m
i
c
o
s

Figura 34 - Espectro eletromagntico, com destaque para as subdivises da regio de luz visvel.
Para a cor ser vista, necessrio que o olho seja atingido por energia
eletromagntica. Vemos um objeto atravs da luz refletida por ele. Se ele parece verde luz do
dia porque, embora seja banhado pela luz branca do sol, ele reflete somente a parte verde da
luz para os nossos olhos; o restante do espectro absorvido. A teoria de percepo cromtica
pelo olho humano baseia-se em hiptese formulada por Young em 1801, que estabelece que os
cones (clulas fotossensveis que compem a retina juntamente com os bastonetes) se
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
120
subdividem em trs classes, com diferentes mximos de sensibilidade situados em torno do
vermelho (R - Red), do verde (G - Green) e do azul (B - Blue). Desta forma, todas as sensaes
de cor percebidas pelo olho humano so na verdade combinaes das intensidades dos estmulos
recebidos por cada um destes tipos de cones. Estas trs cores so denominadas cores primrias
aditivas, pois possvel obter qualquer outra cor a partir de uma combinao aditiva de uma ou
mais delas, em diferentes propores. Para efeito de padronizao, o CIE (Commission
Internationale de l'Eclairage - Comisso Internacional de Iluminao) atribuiu, em 1931, os
seguintes comprimentos de onda a estas cores primrias: azul = 435,8 nm, verde = 546,1 nm,
vermelho = 700 nm. (1 nm = 10
-9
m)
As combinaes de cores consideradas at o momento pressupem a emisso de
radiaes coloridas situadas dentro do espectro de luz visvel, as quais combinadas aditivamente
produzem um efeito final correspondente soma dos efeitos individuais. A mistura das cores
primrias, duas a duas, produz as chamadas cores secundrias, que so: magenta (R+B), amarelo
(R+G) e ciano ou turquesa (G+B). A mistura das trs cores primrias ou de uma secundria com
sua cor primria 'oposta' produz a luz branca, como se pode ver na figura 35(a) (ver Seo
Figuras Coloridas). H uma outra classe de combinao de cores, usada por exemplo em
impressoras coloridas, onde as cores primrias esto associadas aos pigmentos magenta, ciano e
amarelo, que combinados de forma subtrativa produzem as cores secundrias vermelho, verde e
azul. Estas combinaes so chamadas subtrativas porque cada pigmento, ao ser depositado em
fundo branco, subtrai parte da luz branca incidente, refletindo apenas a cor correspondente ao
pigmento. Ao contrrio da combinao aditiva, na subtrativa a unio das trs cores primrias ou
de uma secundria com sua primria oposta produz o preto, como se v na figura 35(b) (ver
Seo Figuras Coloridas). Deste ponto em diante, somente faremos referncia a cores primrias
e combinaes aditivas.
Um exemplo clssico de dispositivo que opera sob o princpio da combinao aditiva de
cores o monitor de vdeo, que possui em sua superfcie pontos triangulares compostos de
fsforos sensveis a cada uma das cores primrias. Cada tipo de fsforo de cada ponto da tela
bombardeado por um feixe eletrnico cuja intensidade proporcional quantidade de vermelho,
verde ou azul naquele ponto da imagem que se deseja representar. As componentes de R, G e B
de cada trade de fsforo so 'adicionadas' pelos cones do olho humano e a cor correspondente
ento percebida.
As trs caractersticas normalmente utilizadas para distinguir as cores entre si so:
brilho (B - brightness), matiz (H - hue) e saturao (S - saturation). O brilho representa a noo
de intensidade luminosa da radiao, o matiz uma propriedade associada ao comprimento de
onda predominante na combinao das vrias ondas visveis, enquanto a saturao expressa a
pureza do matiz ou, em outras palavras, o grau de mistura do matiz original com a luz branca.
Cores como o rosa e o vermelho, por exemplo, tm o mesmo matiz, mas apresentam diferentes
graus de saturao.
O matiz e a saturao costumam ser denominados conjuntamente de cromaticidade, o
que nos permite dizer que uma cor pode ser definida pelo seu brilho e por sua cromaticidade. Os
percentuais de vermelho, verde e azul presentes em uma cor recebem o nome de coeficientes
tricromticos e so dados pelas equaes:

r
R
R G B
=
+ +

(4.74)

g
G
R G B
=
+ +

(4.75)
e
b
B
R G B
=
+ +

(4.76)

Filtr agem, Realce e Suavizao de Imagens 121
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

onde R, G e B representam a quantidade de luz vermelha, verde e azul, respectivamente,
normalizada entre 0 e 1. Logo, a soma dos trs coeficientes tricromticos :

r g b + + = 1 (4.77)

Os coeficientes tricromticos exatos de cada cor so computados a partir do Diagrama de
Cromaticidade publicado pelo CIE.
4.6.2 Modelos de representao de cores
O objetivo dos modelos de cores permitir a especificao de cores em um formato
padronizado e aceito por todos. Em linhas gerais, um modelo de cores uma representao
tridimensional na qual cada cor representada por um ponto no sistema de coordenadas 3-D. A
maioria dos modelos em uso atualmente orientada ao hardware (impressoras ou monitores
coloridos, por exemplo) ou a aplicaes que utilizam manipulao de cores (como os vrios
ttulos de software comentados no captulo 7). Os modelos mais utilizados para representao de
cores so: RGB (red, green, blue), CMY (cyan, magenta, yellow), CMYK (variante do modelo
CMY, onde K denota black), YCbCr (padro normalizado pela recomendao ITU-R BT.601 e
utilizado em vrias tcnicas de compresso de vdeo), YIQ (padro NTSC de TV em cores) e
HSI (hue, saturation, intensity), s vezes tambm denominado HSV (hue, saturation, value).
Apresentamos a seguir mais detalhes sobre os padres RGB, CMY, YIQ e HSI.

Preto
Branco
Azul Ci ano
Verde
Amarel o
Vermel ho
Magenta
Escal a de Ci nzas
B
G
R
(0,0,1)
(0,1,0)
(1,0,0)

Figura 36 - Modelo RGB.

Modelo RGB
O modelo RGB baseado em um sistema de coordenadas cartesianas, que pode ser visto como
um cubo onde trs de seus vrtices so as cores primrias, outros trs as cores secundrias, o
vrtice junto origem o preto e o mais afastado da origem corresponde cor branca, conforme
ilustra a figura 36. Neste modelo, a escala de cinza se estende atravs de uma linha (a diagonal
do cubo) que sai da origem (preto) at o vrtice mais distante dela (branco). Por convenincia,
geralmente assume-se que os valores mximos de R, G e B esto normalizados na faixa de 0 a 1.
O modelo RGB o mais utilizado por cmeras e monitores de vdeo.
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
122
O modelo CMY
Este modelo baseado nos pigmentos primrios ciano, magenta e amarelo. A maioria dos
dispositivos que opera sob o princpio da deposio de pigmentos coloridos em papel (como
impressoras ou fotocopiadoras coloridas, por exemplo) requer uma converso interna do
formato RGB para o formato CMY. Esta converso simples e consiste na equao:

C
M
Y
R
G
B

(
(
(
=

(
(
(

(
(
(
1
1
1

(4.78)

onde todos os valores envolvidos esto normalizados no intervalo [0, 1]. A eq. (4.78) permite a
deduo da relao oposta, que, contudo, no de interesse prtico.
O modelo YIQ
O modelo YIQ utilizado no padro NTSC de TV em cores. Basicamente, o modelo YIQ foi
desenvolvido sob o princpio da dupla compatibilidade, que norteou os projetos de TV colorida
para garantir a convivncia entre o sistema colorido e o sistema preto e branco (P&B) j
existente. A componente Y (luminncia) contm a informao necessria para um receptor P&B
reproduzir a imagem monocromtica correspondente, enquanto as componentes I e Q codificam
as informaes de cromaticidade. A converso de RGB para YIQ pode ser obtida pela equao:

Y
I
Q
R
G
B

(
(
(
=

(
(
(

(
(
(
0 299 0 587 0114
0 596 0 275 0 321
0 212 0 523 0 311
, , ,
, , ,
, , ,

(4.79)

A principal vantagem do modelo YIQ sua capacidade de permitir a separao entre a
componente de brilho (Y) e as componentes de cromaticidade (I e Q). Uma tcnica como a
equalizao de histograma (ver Seo 3.3), por exemplo, pode ser aplicada componente Y de
uma imagem colorida, com o intuito de aprimorar seu contraste sem distorcer as informaes de
matiz e saturao da imagem original.
O modelo HSI
O modelo HSI de grande interesse, uma vez que permite separar as componentes de matiz,
saturao e intensidade da informao de cor em uma imagem, da forma como o ser humano as
percebe. Sua utilizao mais intensa em sistemas de viso artificial fortemente baseados no
modelo de percepo de cor pelo ser humano, como por exemplo um sistema automatizado de
colheita de frutas, em que preciso determinar se a fruta est suficientemente madura para ser
colhida a partir de sua colorao externa. Geometricamente, o modelo HSI pode ser visto como
um slido, indicado na figura 37(b), cujos cortes horizontais produzem tringulos (figura 37(a))
nos quais os vrtices contm as cores primrias e o centro corresponde combinao destas
cores em iguais propores. Esta combinao estar mais prxima do preto ou do branco,
conforme a altura em que o corte tenha sido efetuado.
A converso entre os modelos RGB e HSI utiliza equaes razoavelmente mais
complexas, cuja deduo foge ao escopo desta obra. Em resumo, a converso de RGB para HSI
pode ser obtida atravs das equaes:

I R G B = + +
1
3
( )
(4.80)

Filtr agem, Realce e Suavizao de Imagens 123
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

| |
S
R G B
min R G B =
+ +
1
3
( , , )
(4.81)
e
| |
| |
H
R G R B
R G R B G B
=
+
+

cos
( ) ( )
( ) ( )( )
/
1
2
1 2
1
2

(4.82)

onde, se (B/I) > (G/I), deve-se fazer H = 360 - H. A fim de normalizar a faixa de matiz, deve-se
fazer H = H/360.





Azul
Vermel ho Verde
Amarel o
Magenta Ciano
P
H

Verde Vermel ho
Azul
Branco
Preto
H
I
n
t
e
n
s
i
d
a
d
e
(a) (b)
Figura 37 - Modelo HSI.

A converso de H, S e I para r, g e b mais complexa por depender do intervalo de
valores de H, conforme as equaes a seguir:
Para 0 < H s 120:

b S =
1
3
1 ( )
(4.83)

r
S H
H
= +

(
1
3
1
60
cos
cos( )
C

(4.84)

g r b = + 1 ( ) (4.85)

Para 120 < H s 240:

H H = 120
C

(4.86)

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
124
r S =
1
3
1 ( )
(4.87)

g
S H
H
= +

(
1
3
1
60
cos
cos( )
C

(4.88)
e
b r g = + 1 ( ) (4.89)

Para 240 < H s 360:

H H = 240
C

(4.90)

g S =
1
3
1 ( )
(4.91)

b
S H
H
= +

(
1
3
1
60
cos
cos( )
C

(4.92)
e
r b g = + 1 ( ) (4.93)

Os valores obtidos de r, g e b podem ser convertidos em R, G e B conforme as equaes (4.74) a
(4.76).
A figura 38 (ver Seo Figuras Coloridas) mostra um exemplo de imagem colorida
decomposta em suas componentes R, G e B. A mesma imagem aparece decomposta em H, S e I
na figura 39 (ver Seo Figuras Coloridas) e em suas componentes Y, I e Q na figura 40 (ver
Seo Figuras Coloridas).
4.6.3 Pseudocolorizao
a tcnica atravs da qual se atribuem cores a imagens monocromticas com base na
distribuio de nveis de cinza da imagem original. A tcnica mais simples e difundida de
pseudocolorizao conhecida na literatura como intensity (ou tambm density) slicing e pode
ser entendida com o auxlio da figura 41. Interpretando a imagem monocromtica original como
uma funo de intensidade 2-D, este mtodo define planos de corte que interceptam ('fatiam') a
imagem original em diferentes pontos acima do plano xy. Na figura 41 mostramos o caso
especfico de um plano de corte (fatia) situado altura l
i
em relao ao plano da imagem. Cada
lado do plano mostrado receber uma cor diferente. O resultado ser uma imagem de duas cores
cuja aparncia pode ser interativamente controlada movendo-se o plano de corte para cima ou
para baixo.
Extrapolando-se o raciocnio para M planos e definindo os nveis l
1
, l
2
, ..., l
M
, onde l
0

representa o preto na imagem original [f(x,y) = 0] e l
L
o branco [f(x,y) = L], podemos interpretar
o processo de fatiamento como sendo a diviso da escala de cinza da imagem original em M + 1
regies (0 < M < L), nas quais a atribuio de cor feita segundo a relao

f x y c f x y R
k k
( , ) ( , ) = se (4.94)

onde c
k
a cor associada k-sima regio R
k
.
Filtr agem, Realce e Suavizao de Imagens 125
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

A pseudocolorizao tambm pode ser interpretada no domnio bidimensional como
sendo uma funo de mapeamento em forma de escada, onde cada degrau corresponde a uma
gama de valores de tons de cinza na imagem original que mapeiam em uma determinada cor na
imagem pseudocolorizada.

x
y
f(x,y)
Branco (L)
Preto (0)
l
i
Pl ano de Corte

Figura 41 - Intensity slicing.

4.6.4 Processamento de imagens coloridas full color
Conforme indicamos no incio desta seo, o processamento de imagens coloridas ainda algo
relativamente recente e que ganha interesse a cada dia, na medida em que a disponibilidade de
melhor hardware a menor custo passa a viabilizar implementaes que at poucos anos atrs
poderiam ser proibitivas do ponto de vista financeiro e/ou computacional.
Os modelos de cores mais adequado para o processamento full color so aqueles que
decompem a imagem colorida de tal maneira que a informao de luminncia esteja contida
em um dos componentes. o caso do modelo YIQ, onde a componente Y contm a informao
de luminncia e do modelo HSI, onde a informao de brilho est toda contida na componente I.
Este ltimo modelo ainda mais til em aplicaes que procuram reproduzir o mecanismo de
percepo cromtica do olho humano, conforme antecipamos na Seo 4.6.2.
A partir da decomposio da imagem colorida nas componentes adequadas, diversas
tcnicas existentes para imagens monocromticas podem ser aplicadas com sucesso a imagens
coloridas, como por exemplo a equalizao de histograma, ilustrada na figura 42 (ver Seo
Figuras Coloridas), que melhora o contraste da imagem da parte (a) da figura sem distorcer sua
informao de cromaticidade.
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
126
Leitura complementar
Para o leitor interessado nas dedues das equaes de converso do modelo RGB para HSI e
vice-versa, sugerimos o captulo 4 de [Gonzalez e Woods 1992].
4.7 Filtros adaptativos
4.7.1 Introduo
No decorrer deste captulo, vimos inmeras tcnicas de filtragem de imagens onde o objetivo
principal a remoo de rudo. Cada um dos filtros estudados pode operar de forma local ou
global, no domnio espacial ou da freqncia. Apesar das diferenas de comportamento entre
eles, existe uma caracterstica comum a todos os filtros estudados at aqui: suas caractersticas
permanecem constantes ao longo de toda a imagem que est sendo processada. Existem
situaes, porm, em que seria desejvel que um filtro mudasse suas caractersticas conforme o
trecho de imagem que estivesse percorrendo ou ainda de acordo com o tipo de rudo nela
presente. Por exemplo, se o rudo presente em uma imagem tiver uma distribuio uniforme,
este rudo ser melhor filtrado aplicando-se um filtro da mdia, havendo porm uma inevitvel
perda de detalhes na imagem. Por outro lado, se o rudo for impulsivo, haver maior eficcia em
se aplicar um filtro da mediana. Estes fatores constituem a grande motivao para o estudo e a
implementao de filtros adaptativos bidimensionais.
O filtro ideal para se usar em uma imagem aquele que muda suas caractersticas de
forma adaptativa, dependendo do contedo de imagem presente em uma janela local, reduzindo
o rudo presente na imagem e ao mesmo tempo preservando seu contedo. Por exemplo, se na
regio percorrida por uma janela houver apenas informao de bordas, ento um filtro da
mediana poder ser usado, por suas propriedades de preservao de detalhes destas bordas. Se,
por outro lado, a janela estiver posicionada sobre uma regio de fundo uniforme, ento o filtro
deveria mudar suas caractersticas de forma a atuar como um filtro da mdia.
O projeto de filtros adaptativos pode ser dividido em duas etapas. A primeira consiste
no processo de deciso usado para determinar o tipo de filtro a ser usado, que pode ser to
simples quanto um detetor de borda ou to elaborado quanto a determinao dos parmetros
estatsticos do rudo presente na imagem. A segunda consiste na determinao do melhor filtro a
ser usado para o problema especfico em questo.
4.7.2 Aspectos Estatsticos
A presena de rudo em uma imagem requer o uso de tcnicas estatsticas para caracteriz-lo,
comparando o histograma do rudo contido na imagem com histogramas tericos conhecidos.
Por definio, considera-se rudo qualquer tipo de informao indesejada que obstrui a
aquisio e o processamento da informao desejada. Existem muitos tipos de rudos que podem
estar presentes em imagens e estes tipos podem ser determinados pelo formato do histograma do
rudo. Um tipo de rudo que comumente aparece em imagens o rudo distribudo
uniformemente, ou seja que possui um histograma uniforme. A probabilidade de um valor de
rudo tendo tons de cinza entre a e b 1/(b-a) e fora desta faixa 0. Por exemplo, se b = 200 e a
= 100, ento o rudo uniforme estar na faixa de 100 a 200, com cada valor de tom de cinza
tendo a probabilidade de 0,01 (ou 1%).
Outro tipo muito comum o rudo com distribuio gaussiana. Este rudo
freqentemente usado para modelar rudos desconhecidos, devido ao Teorema do Limite
Central, que estabelece que a soma de um grande nmero de termos representando rudos
aleatrios tende a produzir um rudo resultante do tipo gaussiano e independente dos tipos dos
rudos includos naquela soma. O rudo gaussiano muito comum em imagens devido ao rudo
eletrnico presente nas cmeras de vdeo. Em uma distribuio gaussiana, a probabilidade de
um rudo ocorrer em um determinado tom de cinza decresce medida que os valores de tons de
cinza divergem do valor do tom de cinza presente no pico central m. A varivel o determina a
largura do histograma e conhecida como desvio padro, enquanto que a varivel m
conhecida como mdia.
Filtr agem, Realce e Suavizao de Imagens 127
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Outro tipo comum de rudo presente em imagens que so iluminadas por laser o rudo
com distribuio exponencial negativa. Este rudo aparece porque as superfcies iluminadas por
laser so geralmente irregulares comparadas com o comprimento de onda do laser. O pico do
histograma est no tom de cinza igual a zero e a varivel a determina quo rapidamente este
histograma cai a zero.
Finalmente, existe ainda o rudo sal e pimenta, que normalmente ocorre devido a
defeitos no sistema de gerao da imagem. O rudo sal e pimenta contm dois nveis de cinza
localizados em a e b, com probabilidade de ocorrncia igual a p. A probabilidade total do rudo
sal e pimenta a soma das probabilidades para cada rudo e dada por 2p. Os pixels ruidosos
brancos so chamados sal, enquanto os pixels de rudo preto so chamados pimenta.
A figura 43 ilustra os histogramas tpicos dos quatro tipos de rudos mais comuns em
imagens digitais.

0 255
1
a b
1
b-a
(a)

0 255
1
m

(b)
0 255
1

(c)
0 255
1
a b
p

(d)
Figura 43 - Histogramas dos principais tipos de rudo: (a) rudo uniforme; (b) rudo gaussiano;
(c) rudo exponencial negativo; (d) rudo sal e pimenta.

Existem duas maneiras pelas quais uma imagem pode ser corrompida por rudo. A
primeira chamada rudo aditivo, na qual simplesmente adicionado algum tipo de rudo a uma
imagem at ento livre de rudo. A segunda maneira denominada rudo multiplicativo, que
consiste em multiplicar cada pixel da imagem por um termo de rudo randmico. Existem
tcnicas de filtragem adaptativa relatadas na literatura que operam com somente um ou outro
tipo de rudo.
O objetivo de se descobrir o tipo de rudo que est presente em uma imagem
determinar o melhor filtro para reduzir este rudo. A forma de obter informaes estatsticas
sobre o rudo presente na imagem normalmente um grande desafio e dele pode depender a
maior ou menor eficcia do mtodo de filtragem. A maneira mais usual de faz-lo procurar
isolar regies homogneas na imagem ruidosa e comparar o histograma desta regio com os
vrios histogramas tericos dos tipos de rudos mais comuns em imagens, como os mostrados na
figura 43. Uma vez que o tipo de rudo tenha sido determinado, comparando-se o formato do
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
128
histograma da regio ruidosa com os vrios histogramas tericos, pode-se utilizar a tabela 1 para
determinar os principais parmetros tericos do histograma, que so seus momentos de primeira
e segunda ordem, conhecidos respectivamente por mdia e varincia.

Tabela 1 - Parmetros tericos dos principais tipos de histogramas de rudos
(G
i
representa o tom de cinza de um pixel)
Histograma Nome do rudo Momento de
1 ordem
Momento de 2 ordem
h b a
a G b
i
i
=
s s

1
0
para
caso contrario

uniforme
a b +
2

( ) ( ) a b a b
+
+
2 2
12 4

h
G m
G
i
i
i
=

(
s s
1
2
2
2
o t o
exp
( )
para

gaussiano m
o
2 2
+ m
h
a
G
a
G
i
i
i
=

(
s s
1
0
exp
para

exponencial
negativo
a 2a
2


4.7.3 Alguns tipos de filtros adaptativos
Filtro de Erro Mdio Quadrtico Mnimo (MMSE - Minimum Mean-Square Error)
O filtro adaptativo MMSE faz uso do conhecimento da varincia local para determinar se o
filtro da mdia deve ou no ser aplicado na regio onde se encontra a mscara. Este filtro
apresenta melhores resultados se o rudo for do tipo aditivo. A eq. (4.95) mostra uma imagem
com rudo aditivo g(x,y) em funo da imagem original livre de rudo f(x,y) e do termo ruidoso
n(x,y).

g x y f x y n x y ( , ) ( , ) ( , ). = + (4.95)

O filtro MMSE utiliza a varincia do rudo juntamente com a varincia local para calcular o
novo valor do pixel de referncia da janela, segundo a eq. (4.96).

r x y g x y K
n n
( , ) ( , ) =
|
\

| + 1
2
1
2
2
1
2
o
o
o
o

(4.96)

onde r(x,y) a imagem filtrada, g(x,y) a imagem ruidosa, o
n
2
a varincia do rudo, o
1
2
a
varincia local em relao ao pixel (x,y) e K o resultado da aplicao de um filtro da mdia
local.
Na regio de fundo de uma imagem, as variaes no valor dos pixels so devidas
somente ao rudo. Portanto, a varincia local nesta regio ser aproximadamente igual
varincia do rudo. Logo, o primeiro termo da eq. (4.96) ser aproximadamente igual a zero e o
resultado do filtro MMSE ser o mesmo que seria produzido pelo filtro da mdia, isto : r(x,y) =
K.
Se a mscara for movida para uma rea da imagem que contm bordas, a varincia local
se tornar bem maior que a varincia do rudo (o
n
2
<< o
1
2
). Logo, o segundo termo da eq. (4.96)
Filtr agem, Realce e Suavizao de Imagens 129
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

ser aproximadamente igual a zero e o resultado do filtro MMSE ser o valor original do pixel,
isto : r(x,y) = g(x,y).
Os casos considerados acima so casos extremos do filtro MMSE. Para os casos
intermedirios, uma parcela proporcional da imagem original e da sada do filtro da mdia local
so adicionados para produzir a sada do filtro MMSE, conforme a eq. (4.96).
O filtro MMSE bastante eficaz na reduo de uma boa parcela do rudo presente em
uma imagem, sem suavizar suas bordas. A figura 44 mostra exemplos de utilizao do filtro
MMSE a imagens contaminadas por diferentes tipos de rudo aditivo. Atravs dela possvel
comprovar que este filtro mais eficiente quando o rudo n(x,y) do tipo uniforme ou gaussiano
e no apresenta bom desempenho frente a rudos tipo impulsivo e sal e pimenta.


(a) (b) (c)

(d)

(e)
Figura 44 - (a) Imagem original; (b) imagem contaminada por rudo gaussiano; (c) imagem
contaminada por rudo sal e pimenta; (d) resultado da aplicao do filtro MMSE sobre a imagem
(b); (e) resultado da aplicao do filtro MMSE sobre a imagem (c).

Filtro de mdia e mediana com dupla janela (DW-MTM - Double Window-Modified
Trimmed Mean)
O filtro adaptativo DW-MTM utiliza duas janelas de dimenses diferentes: primeiramente uma
janela menor, na qual aplicado o algoritmo da mediana; depois, outra janela, de maiores
dimenses, onde se aplica o algoritmo da filtragem pela mdia apenas levando em conta os
pixels situados prximos do valor da mediana anteriormente calculado.
Este filtro trabalha igualmente bem com os rudos uniforme e gaussiano, bem como com
os rudos impulsivo e sal e pimenta.
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
130
O algoritmo para o filtro adaptativo DW-MTM descrito a seguir. Dado um pixel
localizado na posio (x,y) dentro da imagem, um filtro de mediana (MED[g(x,y)]) computado
dentro de uma regio local de n x n ao redor da posio (x,y). O valor da mediana computado
para este filtro (MED) usado para estimar o valor da mdia da rea local de n x n. Na
seqncia, uma janela maior, igualmente centrada na posio (x,y), de tamanho q x q, usada
para calcular o valor da mdia, levando em conta na janela q x q somente os pixels dentro da
faixa de tom de cinza situada entre (MED - C) e (MED + C), onde C uma constante escolhida
em funo de um fator arbitrrio K e do desvio padro do rudo presente na imagem, segundo a
equao:

C = K.o
n
(4.97)

A faixa tpica de valores para K de 1,5 a 2,5. Para K = 0, o filtro DW-MTM reduz-se a um
filtro da mediana n x n. Para valores muito grandes de K, o filtro DW-MTM reduz-se a um filtro
da mdia q x q. Portanto, conforme K decresce, o filtro DW-MTM filtra melhor rudos
impulsivos, mas no funciona bem na filtragem dos rudos uniforme e gaussiano.
A figura 45 mostra exemplos de aplicao do filtro DW-MTM em imagens ruidosas.


(a) (b) (c)

(d)

(e)
Figura 45 - (a) Imagem original; (b) imagem contaminada por rudo gaussiano; (c) imagem
contaminada por rudo sal e pimenta; (d) resultado da aplicao do filtro DW-MTM sobre a
imagem (b); (e) resultado da aplicao do filtro DW-MTM sobre a imagem (c).
Filtr agem, Realce e Suavizao de Imagens 131
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtro da Mediana Adaptativo (SAM - Signal Adaptive Median)
O filtro adaptativo SAM utiliza o fato de que uma regio de fundo uniforme de uma imagem
contm pouca informao de baixa freqncia e que a maioria das informaes de alta
freqncia esto contidas em bordas e impulsos. Partindo desta premissa, pode-se decompor
uma imagem g(x,y), em suas componentes de baixa e alta freqncia:

g(x,y) = g
LF
(x,y) + g
HF
(x,y) (4.98)

A figura 46 mostra esquematicamente o processo de decomposio de g(x,y), atravs da
aplicao de um filtro passa-altas e de um filtro passa-baixas convencional.

Imagem
Fi ltrada
Fi ltro
Passa-bai xas
Imagem
de Entrada
+
+
Fi ltro
Passa-al tas
g(x,y)
glf(x,y)
ghf(x,y)
K

Figura 46 - Decomposio de uma imagem em suas componentes de alta e baixa freqncia.

Uma vez separadas, apenas as componentes de baixa freqncia so usadas como sada
do filtro se ele est posicionado sobre uma regio de fundo da imagem. Nas regies contendo
bordas, ambas as componentes de baixa e alta freqncia so utilizadas. Um parmetro de
controle (K) determina o quanto de componentes de alta freqncia aparecem na sada do filtro.
Sabendo que a componente de alta freqncia tambm pode ser determinada a partir da
imagem original no filtrada e da imagem filtrada de baixa freqncia, atravs da eq. (4.17), o
filtro SAM pode ser implementado conforme o diagrama da figura 47. Neste diagrama, o filtro
da mediana usado para permitir a filtragem passa-baixas e para obter tambm as componentes
de alta freqncia. Um detetor de bordas e impulsos determina o tamanho da janela (mscara) e
ainda o valor de K. O filtro comea com um determinado tamanho de janela n x n e, se uma
borda detectada, seu tamanho reduzido para n-2 x n-2. Este processo se repete at que se
obtenha uma janela sem a presena de bordas. Neste momento o valor de K escolhido com
base na varincia local calculada dentro da janela e em uma estimativa da varincia do rudo.

Imagem
Fi ltrada
Fi ltro da
Medi ana
Imagem
de Entrada
+
+
Aj uste do
tamanho
da Janel a
g(x,y)
glf(x,y)
ghf(x,y)
K
Detetor de
Impul so e
Borda
+
-

Figura 47 - Diagrama em blocos do filtro SAM.

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
132
O valor de K determinado segundo o processo de deciso mostrado na eq. (4.99):

K
C
C
n
n
=

>

0
1
2
1
2
2
1
2
.
.
o
o
o o para
para as demais situacoes

(4.99)

Se a varincia local for menor que o produto de uma constante C pela varincia do rudo, ento
a sada do filtro SAM ser igual sada do filtro da mediana. Caso contrrio, uma parcela das
componentes de alta freqncia so adicionadas sada do filtro SAM. Esta situao
normalmente indica a presena de uma borda. A constante C usada para ajustar a sensibilidade
do filtro a bordas.
A figura 48 mostra exemplos de aplicao do filtro SAM em imagens ruidosas.


(a) (b) (c)

(d)

(e)
Figura 48 - (a) Imagem original; (b) imagem contaminada por rudo gaussiano; (c) imagem
contaminada por rudo sal e pimenta; (d) resultado da aplicao do filtro SAM sobre a imagem
(b); (e) resultado da aplicao do filtro SAM sobre a imagem (c).
Filtr agem, Realce e Suavizao de Imagens 133
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Leitura complementar
O captulo 11 de [Myler e Weeks 1993] inteiramente dedicado a filtros adaptativos
bidimensionais.
Para um maior detalhamento de distribuies de probabilidade, sugerimos [Ross 1994].
Mais detalhes sobre os filtros MMSE, SAM e DW-MTM, inclusive com as respectivas
funes implementadas utilizando MATLAB, podem ser encontradas em [Marques e da Costa
1996].
Exerccios Propostos
1. Considere o trecho de imagem a seguir, representado por uma matriz 7 x 7, onde cada
elemento da matriz corresponde ao nvel de cinza do pixel correspondente. Sabe-se que na
quantizao desta imagem foram utilizados 8 bits. Seja o pixel central o pixel de referncia.
Fornea o valor resultante do pixel central caso a imagem seja processada:

a) pelo algoritmo da filtragem pela mediana utilizando janela 3 x 3.

b) pelo algoritmo da filtragem pela mediana utilizando janela em forma de cruz, isto
considerando no clculo da mediana apenas os pixels de coordenadas: (x, y) (pixel de
referncia), (x-1, y), (x+1, y), (x, y-1) e (x, y+1).

c) por um algoritmo adaptativo que funciona da seguinte maneira: primeiramente aplica-se um
filtro da mediana em uma janela 3 x 3 ao redor do pixel de referncia, calculando-se MED.
Depois disto, aplica-se um filtro da mdia utilizando uma janela 5 x 5, levando em considerao
apenas os pixels cujo tom de cinza esteja dentro da faixa entre MED - C e MED + C, inclusive
os extremos. Assumir que C = 22.

d) pelo algoritmo da mdia utilizando janela 7 x 7.

e) pelo algoritmo da pseudomediana utilizando janela 3 x 3.

0 3 221 220 198 84 4
3 23 187 188 189 99 8
9 9 188 115 134 49 9
0 5 176 18 187 98 9
15 15 123 103 165 76 9
14 12 156 188 188 98 9
9 8 190 190 190 90 0

2. Assinalar V ou F conforme as proposies a seguir sejam verdadeiras ou falsas.

( ) A tcnica da filtragem pela mediana sempre melhor que a filtragem pela mdia
quando o objetivo reduzir rudo presente em uma imagem.

( ) A propriedade da Transformada de Fourier que permite que a FFT 2-D seja computada
a partir de duas aplicaes do algoritmo da FFT 1-D a separabilidade.

( ) A remoo de rudos usando a filtragem pela mdia de grande utilidade quando se
deseja processar imagens contendo pontos ruidosos isolados, cuja amplitude (tom de cinza)
Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
134
bem maior do que os tons de cinza de seus vizinhos. Nestes casos, a filtragem pela mdia parece
remover um a um (como se utilizasse uma pina) os pixels ruidosos.

( ) A tcnica de remoo de rudos usando a mdia de mltiplas imagens tem
aplicabilidade limitada pois somente pode ser aplicada com sucesso em situaes nas quais se
disponha de diversas verses da mesma imagem capturadas em instantes de tempo diferentes e
sobre as quais exista um rudo de valor mdio zero e descorrelacionado.

( ) A tcnica de realce de imagens conhecida como nfase de alta freqncia uma
modificao da filtragem passa-altas, cujo efeito o de diminuir a atenuao dos componentes
de baixa freqncia da imagem, o que corresponde a obter um bom realce dos detalhes de alto
contraste sem sacrificar exageradamente as reas de menor riqueza de detalhes.

( ) A aplicao do algoritmo da filtragem da mdia com os K vizinhos mais prximos,
onde o nvel de cinza do pixel de referncia de uma janela substitudo pelo valor mdio dos K
vizinhos de p (pixel de referncia), cujos nveis de cinza mais se aproximam do nvel de cinza
de p, causar maior reduo do rudo quanto menor o valor de K.

( ) Na aplicao do filtro da mediana sobre uma imagem utilizando mscara 3 x 3, no
so gerados novos valores de tons de cinza na imagem resultante, ao contrrio do filtro da
mdia, que pode, eventualmente, ger-los.

( ) Toda tcnica de realce de imagens pressupe uma certa subjetividade, j que ao final
do processo um ser humano dir se a imagem resultante melhor ou pior que a original.

3. Sabe-se que para computar uma FFT de N pontos so necessrias Nlog
2
N adies e
0.5Nlog
2
N multiplicaes. Quantas adies e multiplicaes so necessrias para se computar a
FFT bidimensional de uma imagem M x N? Justifique.

4. Considere a expresso genrica da filtragem pela mdia dada a seguir:

g x y
M
f n m
n m S
( , ) ( , )
( , )
=

1


Supondo que M = 4, o que corresponde a computar a mdia dos quatro vizinhos
imediatos de (x, y), excluindo o prprio (x, y), obter o filtro equivalente H(u, v) no domnio da
freqncia e mostrar que este filtro do tipo passa-baixas.

5. Verificar a validade da eq. (4.17) utilizando os conceitos de convoluo com mscaras e
as mscaras das figuras 4(a) e 11.
No computador
Executar os roteiros das prticas 5 e 6 do Apndice B para sedimentar os contedos tericos do
captulo.
Na Internet
Dentre as diversas referncias disponveis na WWW correlatas a este captulo, destacamos:

"http://www.eecs.wsu.edu/IPdb/Enhancement/averaging.html"
Filtr agem, Realce e Suavizao de Imagens 135
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Aver aging Filter

"http://www.eecs.wsu.edu/IPdb/Enhancement/median.html"
Median Filter

"http://www.eecs.wsu.edu/IPdb/Enhancement/butterworth_low.html"
Butter wor th Lowpass Filter

"http://www.eecs.wsu.edu/IPdb/Enhancement/unsharp_masking.html"
Unshar p Masking

"http://www.eecs.wsu.edu/IPdb/Enhancement/butterworth_high.html"
High Fr equency Emphasis

"http://www.eecs.wsu.edu/IPdb/Enhancement/homo_filtering.html"
Homomor phic Filter ing

"http://ai.bpa.arizona.edu/~chrisy/cip.html"
Color Image Pr ocessing

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s3/front-
page.html"
Median Filter ing

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s4/front-
page.html"
Image Shar pening

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s9/front-
page.html"
Pseudocolor Applications

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c5/s3/front-
page.html"
DFT: Pr oper ties

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c5/s4/front-
page.html"
DFT of Simple Images

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c5/s7/front-
page.html"
DFT: Filter ing in the Fr equency Domain

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c2/s7/front-
page.html"
Color Models Concepts

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c2/s8/front-
page.html"
RGB Image Manipulation

Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
136
Bibliografia

[Arajo 1989] Arajo, A.A., Filtragem Espacial - Tcnicas de Realce para
Imagem, IX Congresso da SBC, VIII Jornada de Atualizao em
Informtica, 16-21 Julho 1989, Uberlndia-MG.

[Brigham 1974] Brigham, E.O., The Fast Fourier Transform, Prentice-Hall,
1974.

[Davis e Rosenfeld 1978] Davis, L.S. e Rosenfeld, A., "Noise Cleaning by Iterated Local
Averaging", IEEE Transactions on Systems, Man and
Cybernetics, 7, 705-710.

[Dougherty 1994] Dougherty, E.R. (ed.), Digital Image Processing Methods,
Marcel Dekker, 1994.

[Enden e Verhoeckx 1989] Enden, A.W.M. van den e Verhoeckx, N.A.M., Discrete-time
signal processing: an introduction, Prentice-Hall, 1989.

[Gonzalez e Woods 1992] Gonzalez, R.C. e Woods, R.E., Digital Image Processing - Third
Edition, Addison-Wesley, 1992.

[Jain 1989] Jain, A.K., Fundamentals of Digital Image Processing, Prentice-
Hall, 1989.

[Lim 1990] Lim, J.S., Two-dimensional Signal and Image Processing,
Prentice-Hall, 1990.

[Marques e da Costa 1996] Marques, F.A.L. e da Costa, F.M., "Filtragem de Imagens
Usando Filtros Adaptativos", Relatrio Tcnico, CEFET-PR,
Curitiba-PR, 1996.

[Myler e Weeks 1993] Myler, H.R. e Weeks, A.R., Computer Imaging Recipes in C,
Prentice Hall, 1993.

[Oppenheim et al. 1983] Oppenheim, A.V., Willsky, A.S. e Young, I.T., Signals and
systems, Prentice-Hall, 1983.

[Papoulis 1962] Papoulis, A., The Fourier integral and its applications,
McGraw-Hill, 1962.

[Pavlidis 1982] Pavlidis, T., Algorithms for Graphics and Image Processing,
Computer Science Press, 1982.

[Pratt 1991] Pratt, W. K., Digital Image Processing, Wiley Interscience,
1991. (2nd ed.)

[Pratt et al. 1984] Pratt, W.K., Cooper, T.J. e Kabir, I., "Pseudomedian Filter",
Proc. SPIE Conference, Los Angeles, CA, Janeiro 1984.

[Press et al. 1994] Press, W.H. et al., Numerical Recipes in C - 2nd Edition,
Cambridge University Press, 1994.

[Ross 1994] Ross, S., A First Course in Probability - 4th edition, Macmillan,
1994.

Filtr agem, Realce e Suavizao de Imagens 137
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.


Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
138

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Captulo 5
Morfologia Matemtica
Este captulo tem por objetivo apresentar os principais conceitos, operaes e algoritmos de uma
importante rea de suporte do processamento de imagens, que a Morfologia Matemtica. A
Seo 5.1 traz consideraes histricas e antecipa uma viso geral do que morfologia
matemtica. Na Seo 5.2 so apresentadas as operaes de dilatao e eroso. A Seo 5.3
descreve e exemplifica as importantes operaes de abertura e fechamento. A Seo 5.4
inteiramente dedicada ao conceito de transformao hit-or-miss, dadas suas diversas aplicaes
em reconhecimento de padres. O captulo concludo com a apresentao de diversos
algoritmos morfolgicos bsicos, compilados na Seo 5.5.
5.1 Introduo
Assim como na biologia, onde a expresso morfologia se refere ao estudo da estrutura dos
animais e plantas, a morfologia matemtica, elaborada inicialmente por Georges Matheron e
Jean Serra [Serra 1982], concentra seus esforos no estudo da estrutura geomtrica das
entidades presentes em uma imagem. A morfologia matemtica pode ser aplicada em vrias
reas de processamento e anlise de imagens, com objetivos to distintos como realce, filtragem,
segmentao, deteo de bordas, esqueletizao, afinamento, dentre outras.
O principio bsico da morfologia matemtica consiste em extrair as informaes
relativas geometria e topologia de um conjunto desconhecido (uma imagem), pela
transformao atravs de outro conjunto completamente definido, chamado elemento
estruturante. Portanto, a base da morfologia matemtica a teoria de conjuntos. Por exemplo, o
conjunto de todos os pixels pretos em uma imagem binria descreve completamente a imagem
(uma vez que os demais pontos s podem ser brancos). Em imagens binrias, os conjuntos em
questo so membros do espao inteiro bidimensional Z
2
, onde cada elemento do conjunto um
vetor 2-D cujas coordenadas so as coordenadas (x,y) do pixel preto (por conveno) na
imagem. Imagens com mais nveis de cinza podem ser representadas por conjuntos cujos
elementos esto no espao Z
3
. Neste caso, os vetores tm trs elementos, sendo os dois
primeiros as coordenadas do pixel e o terceiro seu nvel de cinza.
Leitura complementar
Dois livros clssicos, imprescindveis para quem deseja se aprofundar no tema, so [Serra 1982]
e [Serra 1988].
O livro de Facon [Facon 1996] uma das poucas referncias em portugus inteiramente
dedicadas ao assunto.
Para uma reviso da teoria de conjuntos, indicamos [Ross e Wright 1992].
Este captulo concentra-se em conceitos e exemplos de morfologia matemtica aplicada
a imagens binrias. Para uma introduo extenso destes conceitos para imagens com mais
nveis de intensidade sugerimos o captulo 12 de [Serra 1982], a Seo 5.5 de [Haralick e
Shapiro 1992] e a Seo 8.4.5 de [Gonzalez e Woods 1992].
5.2 Dilatao e Eroso
Iniciaremos nossa discusso de operaes morfolgicas pelas duas operaes bsicas: dilatao
e eroso. Para bem compreend-las, inicialmente apresentaremos algumas definies teis da
teoria de conjuntos.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
140
5.2.1 Definies bsicas
Sejam A e B conjuntos em Z
2
, cujos componentes so a a a ? ( , )
1 2
e b b b ? ( , )
1 2
,
respectivamente. A translao de A por x x x ? ( , )
1 2
, denotada (A)
x
, definida como:

} ( ) , A c c a x para a A
x
? ? - .
(5.1)

A reflexo de B, denotada
#
B, definida como:

}
#
, B x x b para b B ? ? / .
(5.2)

O complemento do conjunto A :

} A x x A
c
? .
(5.3)

Finalmente, a diferena entre dois conjuntos A e B, denotada A - B, definida como:

} A B x x A x B A B
c
/ ? ? , .
(5.4)

A figura 1 ilustra geometricamente as definies apresentadas, onde pontos pretos identificam a
origem do par de coordenadas. A figura 1(a) mostra o conjunto A. A parte (b) mostra a
translao de A por x x x ? ( , )
1 2
. O conjunto B exibido na parte (c), enquanto a figura 1(d)
mostra sua reflexo em relao origem. Finalmente, a parte (e) apresenta o conjunto A e seu
complemento, enquanto a figura 1(f) mostra a diferena entre este conjunto A e o conjunto B.
5.2.2 Dilatao
Sejam A e B conjuntos no espao Z
2
e seja o conjunto vazio. A dilatao de A por B, denotada
A B, definida como:

} A B x B A
x
? (
#
) .
(5.5)

Portanto, o processo de dilatao consiste em obter a reflexo de B sobre sua origem e depois
deslocar esta reflexo de x. A dilatao de A por B , ento, o conjunto de todos os x
deslocamentos para os quais a interseo de (
#
B)
x
e A inclui pelo menos um elemento diferente
de zero. Com base nesta interpretao, a equao anterior pode ser escrita como:

] _ }
A B x B A A
x
? (
#
) .
(5.6)

O conjunto B normalmente denominado elemento estruturante.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
141

A

(a)


(A)x
X1
X2

(b)
B

(c)

B
^

(d)
A
C
A

(e)
B
(A-B)

(f)
Figura 1 - Exemplos de operaes bsicas sobre conjuntos.

A figura 2 mostra os efeitos da dilatao de um conjunto A usando trs elementos
estruturantes (B) distintos. Observar que as operaes morfolgicas so sempre referenciadas a
um elemento do conjunto estruturante (neste caso, o elemento central).

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
142
A
B=B
^
A + B

(a)

B=B
^
A + B
A

(b)

A
B=B
^
A + B

(c)
Figura 2 - Dilatao.

5.2.3 Eroso
Sejam A e B conjuntos no espao Z
2
. A eroso de A por B, denotada A S B, definida como:

} A B x B A
x
S ? ( )
(5.7)

o que, em outras palavras significa dizer que a eroso de A por B resulta no conjunto de pontos x
tais que B, transladado de x, est contido em A.
A figura 3 mostra os efeitos da eroso de um conjunto A usando trs elementos
estruturantes (B) distintos.
A dilatao e a eroso so operaes duais entre si com respeito a complementao e
reflexo. Ou seja,

( )
#
A B A B
c c
S ? .
(5.8)

A prova desta dualidade est demonstrada a seguir:
Partindo da definio de eroso, temos:

} ( ) ( ) A B x B A
c
x
c
S ? .
(5.9)

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
143
Se o conjunto ( ) B
x
est contido no conjunto A, ento ( ) B A
x
c
? . Portanto, a equao
anterior torna-se:

} ( ) ( ) A B x B A
c
x
c
c
S ? ? .
(5.10)

Porm, o complemento do conjunto dos xs que satisfazem ( ) B A
x
c
? o conjunto dos
xs tais que ( ) B A
x
c
. Logo,

}
( ) ( ) A B x B A
c
x
c
S ?
? A B
c
#

(5.11)
q.e.d.

A
B=B
^
A - B

(a)

B=B
^
A A - B

(b)

A
B=B
^
A - B

(c)
Figura 3 - Eroso.

Leitura complementar
Os conceitos de dilatao e eroso so vistos no captulo 2 de [Serra 1982], no captulo 2 de
[Facon 1996] e na Seo 5.2 de [Haralick e Shapiro 1992].
5.3 Abertura e Fechamento
Como vimos nas figuras da seo anterior, a dilatao expande uma imagem enquanto a eroso
a encolhe. Nesta seo discutiremos duas outras importantes operaes morfolgicas: a abertura
e o fechamento.
A abertura em geral suaviza o contorno de uma imagem, quebra istmos estreitos e
elimina proeminncias delgadas. O fechamento, por sua vez, funde pequenas quebras e alarga
golfos estreitos, elimina pequenos orifcios e preenche gaps no contorno.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
144
A abertura de um conjunto A por um elemento estruturante B, denotada A B, definida
como:
A B A B B C ? ( ) S (5.12)

o que equivale a dizer que a abertura de A por B simplesmente a eroso de A por B seguida de
uma dilatao do resultado por B.
O fechamento do conjunto A pelo elemento estruturante B, denotado A B, definido
como:
A B A B B ? ( )S (5.13)

o que nada mais que a dilatao de A por B seguida da eroso do resultado pelo mesmo
elemento estruturante B.
A figura 4 mostra exemplos de operaes de abertura e fechamento utilizando um
elemento estruturante circular. A parte (a) da figura mostra a operao de abertura, indicando no
alto o conjunto original A, na linha intermediria a etapa de eroso e na linha inferior o
resultado da operao de dilatao aplicada ao conjunto resultante da eroso. Na figura 4(b) so
detalhadas as operaes de dilatao do conjunto original A e subseqente eroso do resultado.
5.3.1 Interpretao geomtrica da abertura e do fechamento
A abertura e o fechamento podem ser interpretados geometricamente de maneira simples.
Suponha-se, por exemplo, que o elemento estruturante circular B da figura 4 como um disco
plano. A fronteira de A B composta pelos pontos da fronteira de B que se distanciam mais
para dentro da fronteira de A medida que B girado em torno da parte interna desta fronteira.
Esta propriedade geomtrica de 'encaixe' da operao de abertura pode ser expressa em termos
da teoria de conjuntos como:

} A B B B A
x x
C
:
? ( ) ( )
(5.14)

A figura 5 mostra este conceito com um elemento estruturante de outro formato.
De maneira similar, a operao de fechamento pode ser interpretada geometricamente,
supondo que o disco desliza pela parte externa da fronteira de A. Geometricamente, um ponto z
um elemento de A B se e somente se ( ) B A
x
para qualquer translao de (B) que
contenha z. A figura 6 mostra esta propriedade.
Assim como no caso da dilatao e eroso, a abertura e o fechamento so duais, ou seja:

( ) (
#
) A B A B
c c
? C .
(5.15)
5.3.2 Propriedades da abertura
(i) A B um subconjunto (subimagem) de A.
(ii) Se C um subconjunto de D, ento C B um subconjunto de D B.
(iii) (A B) B = A B.
5.3.3 Propriedades do fechamento
(i) A um subconjunto de A B.
(ii) Se C um subconjunto de D, ento C B um subconjunto de D B.
(iii) (A B) B = A B.

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
145
Estas propriedades auxiliam na interpretao dos resultados obtidos quando as operaes de
abertura e fechamento so utilizadas para construir filtros morfolgicos. Para um exemplo de
filtro morfolgico, na figura 7 apresentamos uma imagem de um objeto retangular com rudo
qual se aplica o filtro (A B) B. Aps a operao de abertura, os pontos ruidosos externos ao
objeto j foram removidos. A etapa de fechamento remove os pixels ruidosos do interior do
objeto. Convm observar que o sucesso desta tcnica depende do elemento estruturante ser
maior que o maior aglomerado de pixels ruidosos conectados presente na imagem original.

A - B
A B=(A - B) + B

(a)

A + B
A B=(A + B) - B

(b)
Figura 4 - Exemplos de abertura e fechamento.

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
146
A A B
B

Figura 5 - Propriedade de 'encaixe' da abertura.

B
A A B

Figura 6 - Interpretao geomtrica do fechamento.

A

(a)


B A - B

(b)

A B=(A - B) + B

(c)
(A B) + B

(d)
(A B) B=[(A B) + B] - B

(e)
Figura 7 - Filtro morfolgico: (a) imagem original, ruidosa; (b) resultado da eroso; (c) abertura
de A; (d) resultado de uma operao de dilatao aplicada imagem (c); (e) resultado final.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
147
Leitura complementar
O captulo 1 de [Dougherty 1994] apresenta outros exemplos de aplicao de filtros
morfolgicos.
O captulo 5 de [Haralick e Shapiro 1992] mostra os conceitos de abertura e fechamento
e do uso de tcnicas morfolgicas para reduo de rudos em imagens.
O captulo 2 de [Serra 1982] apresenta os conceitos de abertura e fechamento.
Os captulos 2 e 3 de [Dougherty 1993] abordam as propriedades estatsticas e
apresentam estratgias de projeto de filtros morfolgicos.
5.4 Transformao hit-or-miss
A transformao morfolgica hit-or-miss uma ferramenta bsica para o reconhecimento de
padres. Na figura 8 se v um conjunto A que consiste de trs padres (subconjuntos), X, Y e Z.
O sombreado das partes (a)-(c) indica os conjuntos originais, enquanto que as reas sombreadas
das partes (d) e (e) da figura indicam os resultados das operaes morfolgicas. Seja o objetivo:
buscar a localizao de um dos objetos de A, por exemplo, Y.

X
Z
Y
A=X Y Z

(a)


W (W-Y)



(b)
A
c

(c)

(A - Y)

(d)
A
c
- (W-Y)
A
c
- (W-Y)

(e)



(A - Y) [A
c
- (W-Y)]

(f)
Figura 8 - Transformao hit-or-miss.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
148
Seja a origem de cada forma localizada em seu centro de gravidade. Se circundarmos Y
com uma pequena janela W, o 'fundo local' de Y com respeito a W ser o conjunto diferena (W -
Y) mostrado na parte (b). A figura 8(c) mostra o complemento de A, que ser necessrio mais
adiante. A parte (d) mostra a eroso de A por Y. A figura 8(e) mostra a eroso do complemento
de A pelo conjunto fundo local (W - Y); a regio sombreada externa parte da eroso. Notar que
o conjunto dos lugares para os quais Y cabe exatamente dentro de A a interseo da eroso de
A por Y e a eroso de A
c
por (W - Y), como mostra a parte (f). Esta interseo precisamente o
lugar que se est buscando. Em outras palavras, se B denota o conjunto composto por X e seu
fundo, o encaixe de B em A, denotado A hom B, :

] _
A B A Y A W Y
c
hom ? / ( ) ( ) S S .
(5.16)

Generalizando, pode-se fazer B B B ? ( , )
1 2
, onde B
1
o conjunto dos elementos de B
associados com um objeto e B
2
o conjunto dos elementos de B associados com o fundo
correspondente. No caso anterior, B
1
= Y e B
2
= (W - Y). Com esta notao, pode-se escrever:

A B A B A B
c
hom ? ( ) ( ) S S
1 2
.
(5.17)

Usando a definio de diferenas de conjuntos e a relao dual entre eroso e dilatao podemos
escrever:
A B A B A B hom ? / ( ) (
#
) S
1 2
.
(5.18)

Logo, o conjunto A hom B contm todos os pontos para os quais, simultaneamente, B
1

encontrou uma correspondncia (ou um 'hit') em A e B
2
encontrou uma correspondncia em A
c
.
Leitura complementar
O captulo 2 de [Serra 1982] e a Seo 5.2 de [Haralick e Shapiro 1992] apresentam conceitos e
exemplos de transformada hit-or-miss.
5.5 Algoritmos morfolgicos bsicos
Comearemos agora a tratar dos usos prticos da morfologia matemtica em processamento de
imagens. Quando se est trabalhando com imagens binarizadas, a principal aplicao da
morfologia extrair componentes da imagem que sejam teis na representao e descrio de
formatos. A seguir, sero apresentados algoritmos de extrao de contornos, extrao de
componentes conectados, delimitao do casco convexo de um objeto e esqueletizao de uma
regio. Tambm so apresentados algoritmos teis para as etapas de pr- ou ps-processamento,
tais como os de afinamento (thinning), preenchimento de regies (region filling), espessamento
(thickening) e poda (pruning).
5.5.1 Extrao de contornos
possvel extrair o contorno de um conjunto A, denotado por d(A), executando a eroso de A
por B e ento calculando a diferena entre A e sua eroso. Isto ,

d ( ) ( ) A A A B ? / S (5.19)

onde B um elemento estruturante adequado.
A figura 9 mostra a mecnica da extrao de contornos. Na parte (a) tem-se o conjunto
original, na parte (b) o elemento estruturante, em (c) o resultado da eroso e finalmente em (d) o
resultado da diferena, que corresponde ao contorno de A.

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
149
A

(a)

B


(b)
A - B

(c)
(A)

(d)
Figura 9 - Extrao de contornos.

5.5.2 Preenchimento de regies (Region filling)
Seja um contorno fechado A, que pode ser expresso como um conjunto contendo um
subconjunto cujos elementos so pontos do contorno 8-conectados. Partindo de um ponto p
situado dentro do contorno, o que se deseja preencher o interior de esta regio com 1s.
Assumindo que todos os pontos que no esto sobre a fronteira esto rotulados como 0,
atribumos o valor 1 a p para iniciar o procedimento. O procedimento a seguir preenche a regio
com 1s:

X X B A
k k
c
?
/
( )
1
k = 1, 2, 3, ...
(5.20)

onde X
0
= p e B o elemento estruturante simtrico mostrado na parte (c) da figura 10. O
algoritmo termina na k-sima iterao se X
k
= X
k-1
. O conjunto unio de X
k
e A contm a
fronteira e os pontos internos a ela.

A

(a)
A
c

(b)
Figura 10 - Preenchimento de regies (Region filling).

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
150
B

(c)
X6
0 1
1
2
2
3
3
3
4
4
4 5
5 6

(d)
X6 A

(e)
Figura 10 Continuao.

Este procedimento ilustrado na figura 10. Na parte (a) tem-se o conjunto original A,
cujo complemento mostrado em (b). A figura 10(c) mostra o elemento estruturante utilizado.
A parte (d) indica o resultado obtido aps a sexta iterao (a ltima que ainda produziu alguma
diferena em relao iterao anterior), em que os nmeros indicam que iterao contribuiu
para o surgimento de quais pixels no resultado parcial. Finalmente, o resultado da unio do
conjunto da figura 10(d) com o conjunto original mostrado na parte (e).

5.5.3 Extrao de componentes conectados
Seja Y um componente conectado contido em um conjunto A e suponha-se que um ponto p de Y
conhecido. Ento, a expresso iterativa abaixo prov todos os elementos de Y:

X X B A
k k
?
/
( )
1
k = 1, 2, 3, ... (5.21)

onde X
0
= p e B o elemento estruturante adequado mostrado na parte (b) da figura 11, que
ilustra a mecnica da equao acima. O algoritmo converge quando X
k
= X
k-1
. O valor final de X
k

ser atribudo a Y.

0
X0
A

(a)



B




(b)
Figura 11 - Extrao de componentes conectados.

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
151
X
1
0 1
1 1
1

(c)
X2
0 1
1 1
1
2
2
2 2 2
2

(d)
X6
1
1 1
1
0
2
2
2 2 2
2
3
3
3 3
4 4
4
4
5 5
5 6
6
6

(e)
Figura 11 - Continuao.

A figura 11 mostra um exemplo de extrao de componentes conectados. Em sua parte
(a) so mostrados o conjunto original A e o pixel de partida, indicado pelo nmero 0. O
elemento estruturante utilizado est na figura 11(b). As partes (b) e (c) mostram,
respectivamente, os resultados aps a primeira e segunda iteraes. O resultado final (aps 6
iteraes) mostrado na figura 11(e).
5.5.4 Casco convexo (Convex Hull)
Define-se casco convexo H de um conjunto arbitrrio S como o menor conjunto convexo que
ainda contm S. Apresentaremos a seguir um algoritmo baseado em morfologia matemtica para
a obteno do casco convexo C(A) de um conjunto A. Seja B
i
, i = 1, 2, 3, 4, representando
quatro elementos estruturantes. Notar que estes elementos possuem pontos indicados com X que
significam uma condio 'dont care', quer dizer, o pixel naquela posio pode ter valor 0 ou 1.
O procedimento consiste em implementar a equao:

X X B A
k
i i
? ( ) hom i = 1, 2, 3, 4 e k = 1, 2, 3, ...
(5.22)

com X A
i
0
? . Agora, seja D X
i
conv
i
? , onde o subscrito 'conv' indica convergncia no sentido
que X X
k
i
k
i
?
/1
. Ento, o casco convexo de A :

C A D
i
i
( ) ?
?1
4
:
.
(5.23)


Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
152
B
1
B
2
B
3
B
4

(a)
X0
1

(b)
X5
1
1
1
1
2
1
1
2
3
3
3
3
4
4

(c)
X2
2
1
1

(d)
X7
3
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
5
5
5
6
6

(e)
X2
4
1

(f)
C(A)

(g)
Figura 12 - Casco convexo (convex hull).

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
153
B
1
B
2
B
3
B
4

(h)
Figura 12 - Continuao.

Em outras palavras, o procedimento consiste em se aplicar iterativamente a
transformada hit-or-miss sobre A com B
1
; quando no houverem mais mudanas, executa-se a
unio com A e d-se ao resultado o nome D
1
. O procedimento repetido com B
2
at que no
existam outras mudanas e assim sucessivamente. A unio dos quatro Ds resultantes constitui o
casco convexo de A.
A figura 12 mostra as etapas deste procedimento, iniciando pela exibio dos quatro
elementos estruturantes utilizados, na parte (a). A parte (b) mostra o conjunto original A. As
figuras 12(c), (d), (e) e (f) mostram o resultado final do processamento para cada elemento
estruturante, indicando numericamente a contribuio de cada iterao no resultado final para
aquele elemento. O resultado final aparece na parte (g) e detalhado na parte (h), que ilustra a
contribuio de cada elemento estruturante para o resultado final. Nesta figura, a notao X
k
i

indica a k-sima iterao (aquela em que no houve mudana em relao a X
k
i
/1
).
5.5.5 Afinamento (Thinning)
O afinamento de um conjunto A por um elemento estruturante B, denotado A B, pode ser
definido com a ajuda da transformada hit-or-miss:

A B A A B ? / ( hom )
? A A B
c
( hom ) .
(5.24)

Outra expresso para o afinamento de A baseada em uma seqncia de elementos
estruturantes:

} } B B B B B
n
?
1 2 3
, , ,...,
(5.25)

onde B
i
uma verso rotacionada de B
i-1
. Usando este conceito, define-se o afinamento por uma
seqncia de elementos estruturantes como:

} A B A B B B
n
? ((...(( ) )...) )
1 2
.
(5.26)

Em outras palavras, o processo consiste em afinar A por um passo com B
1
, ento afinar o
resultado com um passo de B
2
e assim sucessivamente at que A seja afinado com um passo de
B
n
. O processo todo repetido at que no ocorram outras mudanas.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
154
A figura 13 mostra todas as etapas de afinamento de uma imagem usando oito
elementos estruturantes, indicados no alto da figura. A partir do conjunto original A, so
ilustrados os resultados parciais mais relevantes, at a situao em que nenhum elemento
estruturante consiga remover nenhum outro pixel da imagem. Como este resultado ainda possui
conexes diagonais redundantes entre pixels pretos, estas so removidas utilizando o conceito
da m-conectividade (ver captulo 2). Notar que nesta figura, todos os pixels no representados
explicitamente podem ser considerados brancos e que os nmeros dentro de cada pixel indicam
o elemento estruturante utilizado e no a iterao (como foi o caso na figura 12).

B
1
B
2
B
3
B
4
B
5
B
5
B
6
B
7
A
Aps B
1
1 1 1 1 1 1 1
Aps B
2
e B
3
3
3
Aps B
4
4
Aps B
5
5
5
5 5
Aps B
6
6
Aps B
7
7
Aps B
8
e B
1
1 1 1 1 1
Aps B
2
, B
3
, B
4
e B
5
5
Aps B
6
, B
7
, B
8
, B
1
, ... e B
6
6
Aps converso para m-conecti vi dade

Figura 13 - Afinamento (Thinning).

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
155
5.5.6 Espessamento (Thickening)
O espessamento o dual morfolgico do afinamento e pode ser definido como:

A B A A B thi = ( ) hom (5.27)

onde B um elemento estruturante adequado. O espessamento tambm pode ser definido como
uma operao seqencial:

} A B A B B B
n
thi thi thi thi ? ((...(( ) )...) )
1 2
.
(5.28)

Os elementos estruturantes usados para o espessamento tm o mesmo formato dos usados para
afinamento (ver figura 13), porm com os 1s e 0s intercambiados. Entretanto, um algoritmo
separado para espessamento raramente usado. O procedimento usual afinar o fundo do
conjunto e complementar o resultado. Ou seja, para espessar o conjunto A, faz-se C A
c
? , afina-
se C, e ento obtm-se C
c
. A figura 14 mostra o processo de espessamento, obtido pelo
afinamento do complemento de A, onde a parte (a) representa a imagem original, a parte (b) seu
complemento e a parte (c) a verso afinada do complemento de A. Na parte (d) da figura
observa-se que este procedimento resulta em alguns pixels isolados, que so removidos em uma
etapa complementar de processamento, como mostra a parte (e).


(a)

(b)

(c)

(d)

(e)
Figura 14 - Espessamento (thickening) atravs do afinamento do fundo.

5.5.7 Esqueletos
Uma abordagem importante para representar a forma estrutural de uma regio plana reduzi-la
a um grafo. Esta reduo pode ser implementada obtendo o esqueleto da regio atravs de um
algoritmo de afinamento (tambm denominado esqueletizao).
O esqueleto de uma regio pode ser definido usando a Transformao do Eixo Mdio
(MAT - Medial Axis Transformation), proposta por Blum [Blum 1967] e definida como:
"A MAT de uma regio R com fronteira B obtida da seguinte forma: para cada ponto p
em R, encontra-se seu vizinho mais prximo em B. Se p tem mais de um vizinho mesma
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
156
distncia mnima, diz-se que p pertence ao eixo mdio (esqueleto) de R". A figura 15 mostra
exemplos de MAT usando a distncia euclidiana.


Figura 15 - Exemplos de esqueletos obtidos atravs do conceito da MAT para trs regies
simples.

A obteno do esqueleto de um objeto plano tambm possvel atravs de tcnicas
morfolgicas. Lantujoul [Lantujoul 1980] demonstrou que o esqueleto de um conjunto
(regio) A pode ser expresso em termos de eroses e aberturas. Isto , sendo S(A) o esqueleto de
A, pode-se provar que:

S A S A
k
K
k
( ) ( ) ?
?0
:

(5.29)

com
] _ } S A A kB A kB B
k
k
K
( ) ( ) ( ) ? /
?0
:
C S S
(5.30)

onde B um elemento estruturante, ( ) A kB S indica k eroses sucessivas de A; ou seja,

( ) ((...( ) )...) A kB A B B B S S S S ?
(5.31)

k vezes, e K o ultimo passo iterativo antes de A resultar, por eroso, em um conjunto vazio.
Em outras palavras,

} K k A kB ? max ( ) S .
(5.32)

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
157
Estas equaes indicam que S(A), o esqueleto de A, pode ser obtido pela unio dos subconjuntos
esqueletos S
k
(A). Pode-se mostrar, alm disso, que A pode ser reconstrudo a partir destes
subconjuntos utilizando a equao

A S A kB
k
K
k
?
?0
:
( ( ) )
(5.33)

onde ( ( ) ) S A kB
k
denota k dilataes sucessivas de S A
k
( ); ou seja,

( ( ) ) ((...( ( ) ) )...) S A kB S A B B B
k k
? (5.34)

k vezes, sendo o limite K de unies o mesmo utilizado anteriormente.
A figura 16 mostra estes conceitos. Nesta figura, a imagem original est na primeira
posio da primeira coluna e sua verso afinada na ltima posio da quarta coluna. Notar que o
resultado no satisfaz os requisitos de um algoritmo de afinamento, que so:
no remover pontos terminais de um segmento;
no violar a conectividade da imagem original;
no causar eroso excessiva da regio.
A imagem resultante tem dois graves problemas: mais espessa do que deveria ser e,
pior ainda, remove a conectividade dos elementos da imagem original. Por estes motivos, apesar
da elegante formulao matemtica dos algoritmos morfolgicos, os algoritmos heursticos,
como os descritos em [Zhang e Suen 1984], [Naccache e Shingal 1984] comentado em [Fu et
al. 1987] e [Perrotti e Lotufo 1992], muitas vezes produzem melhores resultados. A
interseo da ltima linha com a ltima coluna contm o resultado da reconstruo do conjunto
A.

B
k
0
1
2
Sk(A)

Sk(A)
K
k=0

Sk(A) + kB
k=0
K
(A - KB) B Sk(A) + kB A - KB
A S(A)

Figura 16 - Esqueletos.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
158
Leitura complementar
O captulo 4 de [Dougherty 1994] apresenta um bom resumo dos temas afinamento e
esqueletizao.
O captulo 9 de [Pavlidis 1982] inteiramente dedicado a algoritmos de afinamento.
5.5.8 Poda (Pruning)
Os mtodos de poda so complementos essenciais dos algoritmos de afinamento, uma vez que
estes, em geral, deixam componentes parasitas que devem ser removidos em uma etapa de ps-
processamento. O conceito de poda ser apresentado atravs de um exemplo. Seja um caractere
cujo esqueleto contm pontos esprios causados por diferentes espessuras nos traos do
caractere original (antes do afinamento), mostrado na figura 17(b). Assumindo que os
componentes parasitas tm comprimento menor ou igual a trs pixels, neste caso podem ser
definidos dois elementos estruturantes (cada qual com suas verses rotacionadas de 90)
projetados para detetar pontos terminais, mostrados na parte (a). Notar que quatro destes
elementos tm duas quadrculas indicadas com X que significam uma condio 'dont care', quer
dizer, o pixel naquela posio pode ter valor 0 ou 1. A primeira etapa ser afinar o conjunto A
com os elementos estruturantes B, obtendo o conjunto X
1
, isto :

} X A B
1
? (5.35)

onde {B} denota a seqncia dos oito elementos estruturantes.
Aplicando a equao (5.35), por exemplo, trs vezes,
1
produz-se o resultado X
1
,
mostrado na figura 17(c). O passo seguinte restaurar o caracter a sua forma original, porm
com os ramos parasitas removidos. Para faz-lo, inicialmente se constri o conjunto X
2
,
contendo todos os pontos terminais de X
1
(figura 17(d)):

X X B
k
k
2 1
1
8
?
?
( hom )
:

(5.36)

onde os B
k
so os mesmos detetores de pontos terminais usados anteriormente. O passo seguinte
a dilatao dos pontos terminais trs vezes, usando o conjunto A como delimitador:

X X H A
3 2
? ( ) (5.37)

onde H um elemento estruturante de 3 x 3 composto por 1s. Este tipo de dilatao previne a
criao de pontos de valor 1 fora da regio de interesse, como se pode comprovar na parte (e) da
figura 17. Finalmente, a unio de X
3
e X
1
d o resultado final (figura 17(f)):

X X X
4 1 3
? (5.38)


1
Neste caso, o algoritmo aplicado trs vezes porque se est supondo que os ramos parasitas tm
comprimento menor ou igual a 3 pixels.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
159



B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8

(a)
X0

(b)
X1
1 1 1
1
2
2
7
7

(c)
X2
5
8

(d)
X3
1
1
1
1
2
2
2
2 3
3
3
3

(e)
X4

(f)
Figura 17 - Poda (pruning).

Outros problemas prticos tpicos de processamento de imagens podem ser resolvidos
atravs da combinao dos algoritmos morfolgicos bsicos aqui apresentados. A tabela 1
apresenta um resumo das operaes morfolgicas vistas neste captulo e seus resultados.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
160
Tabela 1 - Sumrio dos algoritmos morfolgicos e seus resultados (adaptado de [Gonzalez e
Woods 1992])
Operao Equao Comentrios
2

Translao
} ( ) , A c c a x para a A
x
? ? -
Translada a origem de A
para o ponto x.

Reflexo
}
#
, B x x b para b B ? ? /
Reflete todos os
elementos de B em
relao origem deste
conjunto.

Complemento
} A x x A
c
?
Conjunto de pontos que
no esto em A.

Diferena
} A B x x A x B A B
c
/ ? ? ,
Conjunto de pontos que
pertencem a A porm no
a B.

Dilatao
} A B x B A
x
? (
#
)
'Expande' a fronteira de A.
(I)

Eroso
} A B x B A
x
S ? ( )
'Contrai' a fronteira de A.
(I)

Abertura A B A B B C ? ( ) S Suaviza contornos, quebra
istmos estreitos e elimina
pequenas ilhas e picos
agudos. (I)

Fechamento A B A B B ? ( )S Suaviza contornos, une
quebras estreitas e golfos
longos e delgados e
elimina pequenos
orifcios. (I)

Transformada hit-
or-miss
A B A B A B
c
hom ? ( ) ( ) S S
1 2

? / ( ) (
#
) A B A B S S
1 2

O conjunto de pontos
(coordenadas) nos quais,
simultaneamente, B
1

encontrou uma
correspondncia (hit) em
A e B
2
encontrou uma
correspondncia em A
c
.

Extrao de
contorno
d ( ) ( ) A A A B ? / S Conjunto de pontos sobre
a fronteira do conjunto A.
(I)


2
Os nmeros em algarismos romanos entre parnteses referem-se aos elementos estruturantes usados no
processo morfolgico. Estes elementos estruturantes esto na figura 18.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
161
Operao Equao Comentrios
2

Preenchimento de
uma regio
(Region filling)
X X B A
k k
c
?
/
( )
1
;
X
0
= p e
k = 1, 2, 3, ...

Preenche uma regio em
A, dado um ponto p na
regio. (II)
Componentes
conectados
X X B A
k k
?
/
( )
1

X
0
= p e
k = 1, 2, 3, ...
Encontra um componente
conectado E em A, dado
um ponto p em E. (I)

Casco convexo
(Convex hull)
X X B A
k
i
k
i i
?
/
( )
1
hom ;
i = 1, 2, 3, 4, k = 1, 2, 3, ...,
X A
i
0
? , e D X
i
conv
i
? .
C A D
i
i
( ) ?
?1
4
:

Obtm o casco convexo
C(A) do conjunto A, onde
conv indica convergncia
no sentido de que
X X
k
i
k
i
?
/1
. (III)

Afinamento
(Thinning)
A B A A B ? / ( hom )
? A A B
c
( hom )

} A B A B B B
n
? ((...(( ) )...) )
1 2



Afina o conjunto A. As
duas primeiras equaes
fornecem a definio
morfolgica bsica de
afinamento. As duas
ltimas mostram o
afinamento atravs de
uma seqncia de
elementos estruturantes.
Na prtica, normalmente
este ltimo mtodo
usado. (IV)

Espessamento
(Thickening)
Athi B = A (AhomB)
} A B A B B B
n
thi thi thi thi ? ((...(( ) )...) )
1 2

Espessa o conjunto A.
(Ver os comentrios
anteriores sobre
seqncias de elementos
estruturantes). Usa (IV)
com os 0s e 1s
intercambiados.

Esqueletos
S A S A
k
K
k
( ) ( ) ?
?0
:


] _ } S A A kB A kB B
k
k
K
( ) ( ) ( ) ? /
?0
:
C S S

A S A kB
k
K
k
?
?0
:
( ( ) )
Busca o esqueleto S(A) do
conjunto A. A ltima
equao indica que A
pode ser reconstrudo a
partir dos subconjuntos
S A
k
( ). Em todas as trs
equaes, K o valor do
passo iterativo depois do
qual o conjunto A resulta,
por eroso, em um
conjunto vazio. A notao
( ) A kB S denota a k-
sima iterao de eroso
sucessiva. (I)

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
162
Operao Equao Comentrios
2

Poda (Pruning) } X A B
1
?

X X B
k
k
2 1
1
8
?
?
( hom )
:


X X H A
3 2
? ( )

X X X
4 1 3
?

X
4
o resultado da poda
aplicada ao conjunto A. O
nmero de vezes que a
primeira equao deve ser
aplicada para obter X
1

deve ser especificada. Os
elementos estruturantes
(V) so utilizados para as
duas primeiras equaes.
A terceira equao usa o
elemento estruturante (I).

I
B
II
B
III
Bi , i =1..4
(rot. 90
o
)
V
Bi , i =1..4 Bi , i =5..8
(rot. 90
o
) (rot. 90
o
)
IV
Bi , i =1..8
(rot. 45
o
)

Figura 18 - Os cinco elementos estruturantes utilizados.

Leitura complementar
A aplicao dos conceitos de morfologia matemtica a problemas de viso por computador
segue sendo um tema de investigao em nvel mundial. Os peridicos especializados contm
inmeros trabalhos cientficos desenvolvidos a partir das idias bsicas resumidas neste
captulo.
O captulo 11 de [Serra 1982] apresenta algoritmos morfolgicos de esqueletizao,
obteno do MAT, afinamento, espessamento e extrao de componentes conectados.
Para aqueles que pretendem desenvolver software usando os conceitos aqui
apresentados, tambm so de grande interesse os livros de Giardina e Dougherty [Giardina e
Dougherty 1988] e Dougherty [Dougherty 1992].
O captulo 4 de [Dougherty e Giardina 1987] exclusivamente dedicado Morfologia
Matemtica.
Os artigos de Haralick et al. [Haralick et al. 1987] e Maragos [Maragos 1987] servem de
referncia para o estudo de algoritmos morfolgicos aplicados a Processamento de Imagens.
O captulo 8 de [Dougherty 1993] e o captulo 4 de [Facon 1996] so inteiramente
devotado a algoritmos morfolgicos.
O artigo de Jang e Chin [Jang e Chin 1990] aborda em detalhes o processo de
afinamento usando Morfologia Matemtica, apresentando e comparando dois algoritmos
distintos para esta tarefa.
Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
163
No captulo 8 de [Gonzalez e Woods 1992] encontramos um exemplo de aplicao dos
algoritmos morfolgicos bsicos s etapas de pr-processamento de um sistema de
reconhecimento ptico de caracteres (OCR) capaz de ler o cdigo postal norte-americano (zip
code) em um envelope.
Em [Jain 1989] encontramos uma aplicao do processamento morfolgico em uma
aplicao que trata da inspeo de placas de circuito impresso. A imagem original limiarizada,
reduzida a um pixel de espessura usando um algoritmo morfolgico de afinamento e o resultado
submetido a uma etapa de poda.
Recomendamos ainda a leitura do captulo 7 de [Russ 1995], que traz muitos outros
exemplos de aplicao das operaes e algoritmos morfolgicos bsicos apresentados neste
captulo.
Exerccios Propostos
1. Seja o algoritmo de esqueletizao usando tcnicas morfolgicas descrito na Seo
5.5.7. Dada a imagem binria a seguir e o elemento estruturante abaixo dela, representar os
resultados intermedirios de ( ) A kB S , ( ) A kB S B, S
k
(A) e
k
K
k
S A
?0
:
( ) e explicar porque neste
caso K=2.












2. Extrair o contorno do objeto a seguir usando o algoritmo morfolgico descrito na Seo
5.5.1, utilizando uma matriz 3 x 3 de pixels pretos como elemento estruturante e indicando os
resultados intermedirios e final.








3. Preencher o interior do objeto a seguir usando o algoritmo morfolgico descrito na
Seo 5.5.2, utilizando uma matriz 3 x 3 em forma de cruz como elemento estruturante e
indicando os resultados intermedirios e final.









Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
164
4. Realizar a abertura do objeto a seguir utilizando uma matriz 3 x 3 com todos os pixels
pretos como elemento estruturante e indicando os resultados intermedirios e final.









5. Realizar o fechamento do objeto a seguir utilizando uma matriz 3 x 3 com todos os
pixels pretos como elemento estruturante e indicando os resultados intermedirios e final.








No computador
Para complementar o contedo deste captulo, sugerimos a prtica de laboratrio n 7 (Apndice
B).
Na Internet
"http://www.ime.usp.br/mac/khoros/mmach.old/tutor/mmach.html"
A Tutor ial on Mathematical Mor phology
Tutorial interativo elaborado pela USP.

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s4/front-
page.html"
Dilation, Er osion, Opening, Closing
Pgina com explicaes e ilustraes dos conceitos de dilatao, eroso, abertura e fechamento.

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s5/front-
page.html"
Contour s
Descreve o processo de extrao de contornos usando morfologia matemtica.

Bibliografia

[Blum 1967] Blum, H., A Transformation for Extracting New Descriptors of
Shape in Wathen-Dunn, W. (ed.), Models for the Perception of
Speech and Visual Form, MIT Press, 1967.

[Dougherty 1992] Dougherty, E.R., An Introduction to Morphological Image
Processing, SPIE Press, 1992.

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
165
[Dougherty 1993] Dougherty, E.R. (ed.), Mathematical Morphology in Image
Processing, Marcel Dekker, 1993.

[Dougherty 1994] Dougherty, E.R. (ed.), Digital Image Processing Methods,
Marcel Dekker, 1994.

[Dougherty e Giardina 1987] Dougherty, E.R. e Giardina, C.R., Matrix Structured Image
Processing, Prentice-Hall, 1987.

[Facon 1996] Facon, J., Morfologia Matemtica: Teoria e Exemplos, Editora
Universitria Champagnat, PUC-PR, 1996.

[Fu et al. 1987] Fu, K.S., Gonzalez, R. e Lee, C., Robotics: Control, Sensing,
Vision and Intelligence, McGraw-Hill, 1987.

[Giardina e Dougherty 1988]

Giardina, C.R. e Dougherty, E.R., Morphological Methods in
Image and Signal Processing, Prentice-Hall, 1988.

[Gonzalez e Woods 1992] Gonzalez, R.C. e Woods, R.E., Digital Image Processing
Third Edition, Addison-Wesley, 1992.

[Haralick e Shapiro 1992] Haralick, R.M. e Shapiro, L.G., Computer and Robot Vision -
Volume 1, Addison-Wesley, 1992.

[Haralick et al. 1987] Haralick, R.M., Sternberg, S.R. e Zhuang, X., Image Analysis
Using Mathematical Morphology, IEEE Trans. Pattern
Analysis and Machine Intelligence, 9, 4, 532-550.

[Jain 1989] Jain, A.K., Fundamentals of Digital Image Processing, Prentice-
Hall, 1989.

[Jang e Chin 1990] Jang, B.K. e Chin, R.T., "Analysis of Thinning Algorithms
Using Mathematical Morphology", IEEE Trans. Pattern
Analysis and Machine Intelligence, 12, 6, Junho 1990, 541-551.

[Lantujoul 1980] Lantujoul, C., Skeletonization in Quantitative Metallography
in Haralick, R.M. & Simon, J.C. (eds.), Issues of Digital Image
Processing, Sijthoff and Noordhoff, 1980.

[Maragos 1987] Maragos, P., Tutorial on Advances in Morphological Image
Processing and Analysis, Optical Engineering, 26, 7, 623-632.

[Naccache e Shingal 1984] Naccache, N.J. e Shingal, R., SPTA: A Proposed Algorithm for
Thinning Binary Patterns, IEEE Transactions on Systems, Man
and Cybernetics, 14, 3, 409-418.

[Pavlidis 1982] Pavlidis, T., Algorithms for Graphics and Image Processing,
Computer Science Press, 1982.

[Perrotti e Lotufo 1992]

Perrotti, F.A. e Lotufo, R.A., Um novo algoritmo paralelo de
afinamento, Anais do V SIBGRAPI, Novembro 1992, 285-293.

[Ross e Wright 1992] Ross, K.A. e Wright, C.R.B., Discrete Mathematics - 3rd ed.,
Prentice-Hall, 1992.

Mor fologia Matemtica
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
166
[Russ 1995] Russ, J. C., The Image Processing Handbook - 2nd ed., CRC
Press, 1995.

[Serra 1982] Serra, J., Image Analysis and Mathematical Morphology
Academic Press, 1982.

[Serra 1988] Serra, J., Image Analysis and Mathematical Morphology - vol. 2
Academic Press, 1988.

[Zhang e Suen 1984] Zhang, T.Y e Suen, C.Y. , A Fast Parallel Algorithm for
Thinning Digital Patterns, Communications of the ACM, 27, 3,
236-239.

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Captulo 6
Compresso e Codificao de Imagens
Um dos maiores desafios do processamento de imagens contornar o problema da grande
quantidade de bytes necessrios para armazenar ou transmitir distncia uma imagem
digitalizada. Tal problema agravado substancialmente quando se trabalha com imagens em
movimento (vdeo digital) e em ambos os casos requer a ao de algoritmos e tcnicas que
permitam a reduo da quantidade de dados necessria para representar uma imagem ou
seqncia de imagens.
As tcnicas de compresso de imagens buscam atingir tal reduo partindo de uma
premissa bsica, que a remoo de informao redundante. O interesse pelas tcnicas de
compresso de imagens remonta a quase meio sculo atrs (na poca, utilizando tcnicas
analgicas) e cada vez maior, graas popularizao da multimdia, sua extenso a sistemas
geograficamente distribudos, e a inmeros novos inventos que necessitam da tecnologia de
compresso de imagens para se tornarem viveis, como por exemplo: a videoconferncia, a TV
de alta definio (HDTV), a TV interativa e o vdeo sob demanda (video on demand - VOD).
Neste captulo, abordaremos aspectos tericos e prticos de compresso e codificao
de imagens. As Sees 6.1 a 6.3 apresentam os fundamentos tericos necessrios para a
compreenso dos princpios e tcnicas de compresso e codificao de dados de qualquer
natureza e que, portanto, so tambm aplicveis situao em que estes dados so imagens. A
Seo 6.1 concentra-se em explicar o conceito de redundncia e como ela pode ser explorada
pelos algoritmos de compresso de imagens. A Seo 6.2 apresenta os modelos de compresso e
descompresso de imagens, enquanto a Seo 6.3 revisa conceitos e teoremas fundamentais da
Teoria da Informao. As Sees 6.4 a 6.6 so dedicadas aos aspectos mais prticos das tcnicas
de compresso de imagens. Estas tcnicas costumam ser divididas em dois grandes grupos:
aquelas nas quais toda informao original preservada (chamadas de tcnicas de compresso
sem perdas) e aquelas em que ocorre uma perda tolervel de informao, com o objetivo de
atingir maiores taxas de compresso (tcnicas com perdas). Na Seo 6.4 so resenhadas
tcnicas de compresso sem perdas, enquanto a Seo 6.5 apresenta diversas tcnicas de
compresso com perdas. Finalmente, a Seo 6.6 apresenta os fundamentos de alguns dos mais
conhecidos padres de compresso adotados mundialmente.
6.1 Fundamentos
O termo 'compresso de dados' refere-se ao processo de reduo do montante de dados exigidos
para representar uma dada quantidade de informao. Deve-se esclarecer que denominamos
'dados' aos meios pelos quais uma informao transmitida. Vrias quantidades de dados
podem ser usadas para representar a mesma quantidade de informao. Tal pode ser o caso, por
exemplo, de uma pessoa prolixa e uma outra que vai direto ao assunto, que ao final de suas falas
tenham relatado a mesma histria. Neste caso, a informao que interessa a histria; as
palavras so os dados utilizados para relatar as informaes. Se as duas pessoas utilizarem um
nmero diferente de palavras para relatar a mesma histria, basicamente tem-se duas diferentes
verses e pelo menos uma delas inclui dados no essenciais. Em outras palavras, ela contm
dados (ou palavras) que podem tanto no fornecer informaes relevantes, como simplesmente
reafirmar o que j sabido, ou seja, o que se costuma denominar 'redundncia de dados'.
A redundncia de dados um aspecto essencial no estudo de compresso de imagens
digitais. Para quantific-lo matematicamente, suponhamos que n
1
e n
2
representam o nmero de
unidades portadoras de informaes em dois conjuntos de dados que representem a mesma
informao. Neste caso, a 'redundncia relativa' (R
D
) do primeiro conjunto de dados (aquele
representado por n
1
) poder ser definida como
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
168


R
C
D
R
= 1
1

(6.1)

onde o parmetro C
R
, comumente chamado de 'razo (ou taxa) de compresso',

C
n
n
R =
1
2

(6.2)

No caso em que n
2
= n
1
, C
R
= 1 e R
D
= 0, podemos concluir que o primeiro conjunto de dados
no contm nenhum dado redundante em relao ao segundo. Quando n
2
<< n
1
, C
R
e R
D
1, haver significativa compresso de dados altamente redundantes. Finalmente, no caso em
que n
2
>> n
1
, C
R
0 e R
D
- , podemos concluir que o segundo conjunto de dados contm
muito mais dados do que o primeiro, representando, obviamente, o caso de expanso de dados,
normalmente indesejado. Em geral, C
R
e R
D
situam-se nos intervalos abertos (0, ) e (- , 1),
respectivamente. Uma razo de compresso comum na prtica, como 10 (ou 10:1) significa que
o primeiro conjunto de dados tem 10 unidades de informao (p. ex. bits) para cada unidade no
segundo conjunto de dados (comprimido). A redundncia correspondente (neste caso, 0,9)
significa que 90% dos dados no primeiro conjunto de dados so redundantes.


Na compresso de imagens digitais, trs redundncias bsicas de dados podem ser
identificadas e exploradas: redundncia de codificao, redundncia interpixel, e redundncia
psicovisual. A compresso de dados efetivamente obtida quando uma ou mais dessas
redundncias so reduzidas ou eliminadas.
6.1.1 Redundncia de Codificao
No Captulo 3 apresentamos os conceitos de aprimoramento da qualidade de uma imagem
atravs da modificao de seu histograma, partindo da premissa de que os nveis de cinza de
uma imagem so quantidades aleatrias. Mostramos que uma grande quantidade de informao
sobre a aparncia de uma imagem poderia ser obtida a partir de um histograma de seus nveis de
cinza. Nesta seo, utilizaremos uma formulao matemtica similar para mostrar como o
histograma de nveis de cinza de uma imagem tambm pode auxiliar na elaborao de cdigos
para reduzir a quantidade de dados usada para represent-la.
Consideremos, mais uma vez, que uma varivel aleatria discreta r
k
no intervalo [0, 1]
representa os nveis cinza de uma imagem e que cada r
k
ocorre com probabilidade p
r
(r
k
). Como
no Captulo 3,

p r
n
n
r k
k
( ) = k = 0, 1, 2, ..., L - 1
(6.3)

onde L o nmero dos nveis cinza, n
k
o nmero de vezes que o nvel cinza k aparece na
imagem, e n o nmero total de pixels na imagem. Se o nmero de bits utilizado para
representar cada valor de r
K
l(r
K
), a quantidade mdia de bits exigida para representar cada
pixel

L l r p r avg
k r k
k
L
=
=

( ) ( )
0
1

(6.4)

Em resumo, o comprimento mdio das palavras-cdigo atribudas aos diversos valores de tom
de cinza calculado atravs da soma do produto do nmero de bits utilizados para representar
cada nvel de cinza pela probabilidade de ocorrncia daquele nvel. Assim, o nmero total de
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
169
bits exigido para codificar uma imagem de dimenses M x N MNL
avg
. A representao dos
nveis de cinza de uma imagem com um cdigo binrio natural de m bits reduz o lado direito da
eq. (6.4) para m bits. Em outras palavras, L
avg
= m quando l(r
k
) for substitudo por m na eq.
(6.4).

Exemplo
Seja uma imagem monocromtica de 8 tons de cinza, distribudos conforme a tabela 1. A
representao grfica de seu histograma mostrada na figura 1.
Supondo que cada tom de cinza desta imagem seja codificado por um cdigo natural de
3 bits (cdigo 1), o resultado poderia ser aquele indicado na terceira coluna da tabela 1, para o
qual L
avg
igual a 3 bits. Porm, se utilizssemos o cdigo 2, indicado na quinta coluna da
tabela 1, o nmero mdio de bits necessrio para codificar cada pixel da imagem seria reduzido
para:

L l r p r
avg k r k
k
=
= + + + +
+ + +
=
=
2
0
7
2 0 26 2 0 18 2 0 22 3 0 15 4 0 08
5 0 06 6 0 03 6 0 02
2 69
( ) ( )
( , ) ( , ) ( , ) ( , ) ( , )
( , ) ( , ) ( , )
, bits.


Utilizando a eq. (6.2) podemos calcular a razo de compresso obtida, C
R
, como 3/2,69 = 1,115.
Atravs da eq. (6.1), calculamos a redundncia como:

RD = = 1
1
1115
0 103
,
, .

Da tabela 1, pode-se facilmente extrair a relao de proporcionalidade inversa entre a
probabilidade de um certo tom de cinza e o comprimento da palavra-cdigo correspondente no
cdigo 2.

Tabela 1 - Exemplo de codificao de imagens usando palavras-cdigo de comprimento
varivel.
Nvel de cinza (r
k
) p
r
(r
k
) Cdigo 1 l
1
(r
k
) Cdigo 2 l
2
(r
k
)
r
0
= 0 0,26 000 3 01 2
r
1
= 1/7 0,18 001 3 11 2
r
2
= 2/7 0,22 010 3 10 2
r
3
= 3/7 0,15 011 3 001 3
r
4
= 4/7 0,08 100 3 0001 4
r
5
= 5/7 0,06 101 3 00001 5
r
6
= 6/7 0,03 110 3 000001 6
r
7
= 1 0,02 111 3 000000 6

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
170

0
0,05
0,1
0,15
0,2
0,25
0,3
Nvel de cinza (rk)

Figura 1 - Representao grfica do histograma da imagem.

6.1.2 Redundncia Interpixel
Existem situaes em que uma imagem apresenta pixels fortemente correlacionados, sendo estas
correlaes decorrentes de uma relao estrutural ou geomtrica entre os objetos que a
compem. Pelo fato de o valor de qualquer pixel de uma imagem poder ser razoavelmente
predito a partir dos valores de seus vizinhos, a informao contida por pixels individuais
relativamente pequena. A maior parte da contribuio visual de um simples pixel para uma
imagem redundante; ela poderia ter sido predita com base dos valores de seus vizinhos. As
expresses 'redundncia espacial', 'redundncia geomtrica', e 'redundncia entre quadros
(interframe)' so utilizadas para indicar estas dependncias. Ns as denominaremos pelo termo
'redundncia interpixel', que engloba todos os casos particulares.
A fim de reduzir as redundncias interpixel em uma imagem, o arranjo bidimensional de
pixels, normalmente utilizado para a visualizao e interpretao, deve ser transformado em um
formato mais eficiente (mas, geralmente, 'no visualizvel'), por exemplo, utilizando as
diferenas entre os pixels adjacentes para representar uma imagem. Transformaes capazes de
remover a redundncia interpixel so conhecidas como mapeamentos. Estes mapeamentos so
ditos reversveis se os elementos da imagem original puderem ser reconstrudos a partir do
conjunto de dados transformados.
6.1.3 Redundncia Psicovisual
Existem inmeras experincias capazes de comprovar o fato de que o olho humano no
responde com igual sensibilidade a toda informao visual que recebe. Certas informaes
possuem menor importncia relativa do que outras no processo visual normal. Estas
informaes menos importantes podem ser consideradas redundantes do ponto de vista
psicovisual, e, portanto, podem ser eliminadas sem prejudicar significativamente a qualidade da
imagem percebida pelo sistema visual humano.
A redundncia psicovisual fundamentalmente diferente das redundncias
anteriormente discutidas. Ao contrrio das redundncias de codificao e interpixel, a
redundncia psicovisual associada a informaes visuais quantificveis ou reais. Sua
eliminao possvel apenas pelo fato de a informao propriamente dita no ser essencial para
o processamento visual normal.
Considerando que a eliminao de dados psicovisualmente redundantes resulta em uma
perda de informao quantitativa, a mesma comumente chamada de quantizao. Esta
terminologia consistente com o uso normal da palavra, a qual geralmente significa o
mapeamento de uma ampla faixa de valores de entrada para um nmero limitado de valores de
sada. Como esta uma operao irreversvel (a informao visual perdida), a quantizao
resulta em uma compresso de dados com perdas.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
171
6.1.4 Critrios de Fidelidade
A necessidade de obteno de maiores taxas de compresso aliada explorao adequada de
limitaes e peculiaridades do sistema visual humano permite a elaborao de tcnicas de
compresso de imagens nas quais ocorre uma perda de informao visual quantitativa ou real.
Considerando que informaes de interesse podem ser perdidas, torna-se desejvel quantificar a
natureza e a extenso da perda de informao. Dois grupos gerais de critrios so utilizados
como base para tal anlise: (1) critrios de fidelidade objetiva e (2) critrios de fidelidade
subjetiva.
Quando o nvel de perda de informao puder ser expresso como uma funo da
imagem original, ou imagem de entrada, e da imagem de sada, comprimida e descomprimida
subseqentemente, diz-se que este baseia-se em um critrio de fidelidade objetiva. Um bom
exemplo o erro mdio quadrtico (rms) entre a imagem original e a processada. Seja f(x,y) a
imagem de entrada e seja f(x,y) a estimativa ou aproximao de f(x,y) resultante de sua
compresso e subseqente descompresso. Para qualquer valor de x e y, o erro e(x,y) entre f(x,y)
e f(x,y) pode ser definido como

e x y f x y f x y ( , ) ' ( , ) ( , ) =
(6.5)

de forma que o erro total entre as duas imagens

| |
f x y f x y
y
N
x
M
' ( , ) ( , )
=


0
1
0
1


sendo as imagens de tamanho M x N. O erro mdio quadrtico, e
rms
, entre f(x,y) e f(x,y) pode ser
obtido por:

| | e
MN
f x y f x y rms
x
M
y
N
=

(
=


1
0
1
0
1
2
1 2
' ( , ) ( , )
/

(6.6)

Outro critrio de fidelidade objetiva possvel a relao sinal-rudo rms (SNR
rms
) entre a
imagem comprimida e a descomprimida, dada por

| |
SNR
f x y
f x y f x y
rms
x
M
y
N
x
M
y
N
=



0
1
0
1
2
0
1
0
1
2
' ( , )
' ( , ) ( , )
(6.7)

Embora os critrios de fidelidade objetiva ofeream mecanismos simples e convenientes para se
avaliar a perda de informao decorrente da compresso, na maioria das vezes as imagens
comprimidas e descomprimidas so observadas por seres humanos ao final do processo. O
sistema visual humano possui caractersticas peculiares, a ponto de duas imagens contendo a
mesma quantidade de erro rms poderem ser avaliadas como se possussem qualidade visual
completamente distinta. Uma destas caractersticas a maior sensibilidade a erros em reas
escuras da imagem e nas regies de bordas. Conseqentemente, a medio da qualidade de uma
imagem por meio de avaliaes subjetivas de um observador humano freqentemente mais
apropriada.
Para a avaliao subjetiva da qualidade de uma imagem podem ser usados critrios
absolutos (como o proposto pela Television Allocations Study Organization, que classifica uma
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
172

imagem em: excelente, tima, aceitvel, marginal, inferior e imprestvel) ou relativos, usando
por exemplo comparaes sucessivas entre pares de imagens.
6.2 Modelos de compresso de imagem
Nesta seo, examinaremos as caractersticas principais de um sistema de codificao e
compresso de imagens e desenvolveremos um modelo geral para represent-lo.
Um sistema de codificao / compresso genrico (figura 2) consiste de dois blocos
estruturais distintos: um codificador e um decodificador. O codificador parte de uma imagem de
entrada f(x,y), a partir da qual cria um conjunto de smbolos. Aps a transmisso atravs do
canal, o sinal codificado aplicado ao bloco decodificador, onde uma imagem de sada
reconstruda f(x,y) produzida. A imagem recebida, f(x,y), poder ou no ser uma rplica exata
de f(x,y). Em caso positivo, o sistema dito imune a erros, ou seja, capaz de preservar a
informao; em caso negativo, haver um certo nvel de distoro presente na imagem
reconstruda.

Codi fi cador
de Fonte
Codi fi cador
de Canal
Decodifi cador
de Canal
Decodifi cador
de Fonte
f(x,y)
Codi fi cador Decodifi cador
Canal
f(x,y)

Figura 2 - Um sistema genrico de codificao e compresso de dados.

Tanto o codificador como o decodificador apresentados na figura 2, consistem de dois
sub-blocos relativamente independentes. O codificador composto por um codificador de fonte,
o qual remove as redundncias recebidas, e um codificador de canal, o qual aumenta a
imunidade a rudos do sinal produzido sada do codificador de fonte. Analogamente, a etapa
decodificadora inclui um decodificador de canal seguido por um decodificador de fonte. Se o
canal entre o codificador e o decodificador for imune a rudos, as etapas codificadora e
decodificadora de canal sero omitidas.
6.2.1 O codificador e decodificador de fonte
O codificador de fonte responsvel pela reduo ou eliminao de qualquer redundncia (de
codificao, interpixel, ou psicovisual) presente na imagem de entrada. Sua funo normalmente
pode ser modelada por uma srie de trs operaes independentes. Como mostra a figura 3(a),
cada operao est projetada para reduzir uma das trs redundncias descritas na Seo 6.1. A
figura 3(b) representa o decodificador de fonte correspondente.
No primeiro estgio do processo de codificao de fonte, o mapeador transforma os
dados de entrada em um formato (geralmente no visvel) projetado para reduzir as
redundncias interpixel da imagem de entrada. Esta operao geralmente reversvel e pode, ou
no, reduzir diretamente a quantidade de dados exigidos para representar a imagem. A
codificao por comprimento de cadeia (Run-length encoding) um exemplo de um
mapeamento que resulta diretamente na compresso de dados. A representao de uma imagem
por um conjunto de coeficientes de transformadas matemticas, por outro lado, um exemplo
de caso em que o mapeador transforma a imagem em uma srie de coeficientes, cujas
redundncias so mais acessveis aos estgios posteriores do processo de codificao.
O segundo estgio, ou bloco quantizador na figura 3(a), reduz a preciso de sada do
mapeador de acordo com alguns critrios de fidelidade preestabelecidos. Este estgio reduz as
redundncias psicovisuais da imagem de entrada e as alteraes que promove no sinal so
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
173
irreversveis. Portanto, este bloco deve ser omitido quando se desejar a compresso livre de
erros.
No terceiro e ltimo estgio do processo de codificao de fonte, aparece o codificador
de smbolos, responsvel por produzir uma palavra-cdigo de comprimento fixo ou na maioria
dos casos varivel para representar cada sada do quantizador. Ao final desta etapa, a imagem
de entrada no deve apresentar qualquer tipo de redundncia. Convm ressaltar, finalmente, que
nem todos os blocos indicados na figura 3(a) devem obrigatoriamente estar presentes num
codificador de fonte, bem como alertar para o fato de que em muitos sistemas de compresso
um mesmo algoritmo executa as funes correspondentes a mais de um bloco.
O decodificador de fonte apresentado na figura 3(b) contm apenas dois componentes:
um decodificador de smbolos e um mapeador inverso. Estes blocos realizam, em seqncia
oposta, as operaes inversas dos blocos mapeadores e codificadores de smbolo do codificador
de fonte. Como a quantizao resulta em perda de informao irreversvel, um bloco
quantizador inverso no aparece no modelo genrico do decodificador de fonte apresentado na
figura 3(b).

Mapeador Quanti zador
Codi fi cador
de Smbol os
Codi fi cador de Fonte
f(x,y) Canal

(a)
Decodifi cador
de Smbol os
Mapeador
Inverso
Decodifi cador de Fonte
f(x,y) Canal

(b)
Figura 3 - Diagramas em blocos: (a) codificador de fonte; (b) decodificador de fonte.

6.2.2 O codificador e decodificador de canal
O codificador e o decodificador de canal exercem uma importante funo no processo global de
codificao e decodificao nos casos em que o canal da figura 3 estiver contaminado por rudo
ou sujeito a erro. Eles so projetados para reduzir o impacto do rudo do canal atravs da
insero de uma forma controlada de redundncia nos dados provenientes do codificador de
fonte.
Uma das tcnicas mais teis e conhecidas de codificao de canal foi concebida por
R.W. Hamming [Hamming 1950]. Esta tcnica consiste em se adicionar bits suficientes aos
dados que estiverem sendo codificados, a fim de assegurar que um nmero mnimo de bits deve
variar entre as palavras-cdigo vlidas. Hamming mostrou, por exemplo, que se 3 bits de
redundncia forem adicionados a uma palavra de 4 bits, de forma que a distncia
1
entre duas
palavras-cdigo vlidas seja 3, todos os erros que atinjam somente um bit podem ser detectados
e corrigidos. (Atravs da atribuio de bits de redundncia adicionais, erros em mltiplos bits
podem ser detectados e/ou corrigidos). O cdigo Hamming (7,4) possui palavras-cdigo de 7
bits de h
1
h
2
... h
6
h
7
associadas aos nmeros binrios de 4 bits b
3
b
2
b
1
b
0
atravs das expresses
lgicas:

1
A 'distncia' entre duas palavras-cdigo definida como o nmero de bits que devem ser modificados
em uma palavra-cdigo, de modo a resultar na outra. Por exemplo, a distncia entre as palavras-cdigo
01010101 e 11011100 3. A distncia mnima de um cdigo a menor distncia entre duas de suas
palavras-cdigo.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
174


h
1
= b
3
b
2
b
0
h
3
= b
3

h
2
= b
3
b
1
b
0
h
5
= b
2

h
4
= b
2
b
1
b
0
h
6
= b
1

h
7
= b
0

(6.8)
onde

denota a operao XOR (ou-exclusivo). Observe que os bits h
1
, h
2
e h
4
so bits de
paridade par para os conjuntos de bits b
3
b
2
b
0
, b
3
b
1
b
0
e b
2
b
1
b
0
, respectivamente.
Para se decodificar uma palavra-cdigo codificada por Hamming, o decodificador de
canal deve verificar a paridade da palavra-cdigo recebida, para saber se ela coerente com a
conveno de paridade previamente estabelecida. Se tiver havido erro em um nico bit, a
palavra de paridade c
4
c
2
c
1
ser diferente de zero. Os valores dos bits individuais desta palavra
so obtidos pelas seguintes expresses lgicas:

c
1
= h
1
h
3
h
5
h
7

c
2
= h
2
h
3
h
6
h
7

c
4
= h
4
h
5
h
6
h
7

(6.9)
Se um valor diferente de zero for encontrado, o decodificador simplesmente complementa a
posio da palavra-cdigo indicada pela palavra de paridade. O valor binrio decodificado , em
seguida, extrado da palavra-cdigo corrigida como h
3
h
5
h
6
h
7
.

Exerccio resolvido
Seja uma imagem de 256 tons de cinza quantizada pelo mtodo IGS (Improved Gray-Scale)
[Bisignani 1966] de modo a resultar em uma imagem de 16 tons de cinza, na qual cada pixel
codificado usando uma palavra-cdigo de 4 bits, dentre as palavras-cdigo mostradas na
segunda coluna da tabela 2. Pede-se:
a) Projetar um cdigo Hamming (7,4) capaz de proteger as informaes codificadas contra
erros em um de seus bits.
b) Calcular a razo de compresso obtida, levando-se em conta somente a codificao de fonte.
c) Calcular a razo de compresso obtida, considerando o overhead introduzido pela
codificao de canal.

Tabela 2 - Palavras-cdigo para uma imagem quantizada pelo mtodo IGS.
Pixel Cdigo IGS Cdigo de Hamming (7,4)
i 0110 1100110
i + 1 1001 0011001
i + 2 1000 1110000
i + 3 1111 1111111

Soluo
a) Utilizando as relaes lgicas (6.8) para a primeira palavra-cdigo, obtemos:
h
1
= b
3
b
2
b
0
= 0 1 0 = 1
h
2
= b
3
b
1
b
0
= 0 1 0 = 1
h
4
= b
2
b
1
b
0
= 1 1 0 = 0
h
3
= b
3
= 0
h
5
= b
2
= 1

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
175
h
6
= b
1
= 1

h
7
= b
0
= 0.
Logo, a palavra-cdigo de Hamming equivalente : 1100110
2
.
Procedendo de forma semelhante para as demais palavras-cdigo, obteremos as
palavras-cdigo indicadas na terceira coluna da tabela 2.

b) A razo de compresso obtida aps a quantizao (codificao de fonte) obtida dividindo o
nmero de bits originalmente necessrio para representar cada pixel da imagem (8 bits) pelo
comprimento da palavra-cdigo IGS (4 bits). Logo, C
R
= 2.

c) Devido utilizao do cdigo de Hamming, cada pixel utilizar 7 bits para ser representado.
Portanto, a razo de compresso aps a codificao de canal ser: C
R
= 8/7 = 1,14.

6.3 Elementos de Teoria da Informao
Uma vez que o objetivo das tcnicas de compresso de imagens reduzir tanto quanto possvel
a quantidade de dados utilizados para representar uma imagem, surge naturalmente a questo:
Quantos dados so realmente necessrios para representar a imagem? Em outras palavras, existe
uma quantidade mnima de dados considerada suficiente para descrever completamente a
imagem sem perda de informao? A teoria da informao fornece o embasamento matemtico
para a resposta desta e de outras perguntas relacionadas ao tema.
6.3.1 Medidas de informao
A premissa fundamental da teoria da informao que a gerao de informao pode ser
modelada como um processo probabilstico, no qual um evento aleatrio E, que ocorre com
probabilidade P(E) contm

I E
P E
P E ( ) log
( )
log ( ) = =
1

(6.10)

unidades de informao. A quantidade I(E) freqentemente denominada 'informao prpria'
de E. Em linhas gerais, a quantidade de informao prpria atribuda ao evento E
inversamente proporcional probalidade de ocorrncia de E. Se P(E) = 1 (isto , o evento
ocorre sempre), I(E) = 0 e nenhuma informao atribuda a ele. Isto significa dizer que, pelo
fato de no existir nenhuma incerteza associada ao evento, nenhuma informao precisaria ser
transferida comunicando-se que o evento ocorreu. Entretanto, se P(E) = 0,99, comunicar que E
ocorreu transmitiria uma pequena quantidade de informao. Por outro lado, a comunicao de
que E no ocorreu conteria uma quantidade maior de informao, pois este resultado menos
provvel.
A base do logaritmo na equao (6.10) determina a unidade utilizada para medir a
informao. Se utilizarmos um logaritmo de base r, a medida conter r unidades. Se a base 2 for
selecionada, a unidade resultante de informao chamada bit. Observe que se P(E) =
1
/
2
, I(E)
= - log
2
, ou 1 bit. Ou seja, 1 bit corresponde quantidade de informao transmitida quando
um dos dois eventos, igualmente possveis, ocorre. Um exemplo clssico de tal situao o ato
de atirar uma moeda honesta e comunicar o resultado (cara ou coroa).
6.3.2 O canal de informao
Quando a informao prpria transferida entre uma fonte de informao e um usurio daquela
informao, diz-se que a fonte de informao est conectada ao usurio de informao por um
canal de informao. O canal de informao o meio fsico que conecta a fonte ao usurio.
Pode ser uma linha telefnica, um meio de propagao de ondas eletromagnticas, ou um cabo
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
176

entre dois computadores. A figura 4 mostra um diagrama em blocos simples para um sistema de
informao discreto. Aqui, o parmetro de particular interesse a capacidade do sistema,
definida como sendo sua habilidade em transferir informao.

Fonte de
Informao
Usuri o da
Informao
Canal

Figura 4 - Diagramas em blocos de um sistema de informao discreto.

Suponhamos que a fonte de informao da figura 4 gere uma seqncia aleatria de
smbolos a partir de um conjunto de smbolos possveis. Em outras palavras, a sada da fonte
uma varivel aleatria discreta. O conjunto de smbolos de fonte {a
1
, a
2
, ..., a
J
} chamado de
alfabeto da fonte A, e os elementos do conjunto, denotados por a
j
, so chamados de smbolos ou
letras. A probabilidade de a fonte vir a produzir o smbolo a
j
P(a
j
), e

P a
j
j
J
( )
=

=
1
1
(6.11)

O vetor z = [P(a
1
), P(a
2
), ... , P(a
J
)]
T
, de dimenses J x 1, representa o conjunto de todas as
probabilidades dos smbolos da fonte {P(a
1
), P(a
2
), ... , P(a
J
)}. O conjunto finito (A, z) descreve
completamente a fonte de informao.
A probabilidade de a fonte discreta emitir o smbolo a
j
P(a
j
), de forma que a
informao prpria gerada pela produo de um nico smbolo de fonte , de acordo com a
equao (6.10), I(a
j
) = log P(a
j
). Se k smbolos forem gerados, a lei dos grandes nmeros
estipula que, para um valor consideravelmente alto de k, o smbolo a
j
sair (em mdia) kP(a
j
)
vezes. Logo, a informao prpria mdia obtida das k sadas

k Pa P a kP a P a kP a P a
J J
( ) log ( ) ( ) log ( ) ... ( ) log ( )
1 1 2 2

ou

=

k P a P a
j
J
j j
1
( ) log ( ) .

A informao mdia por sada de fonte, denotada por H(z),

H P a P a
j
J
j j
( ) ( ) log ( ) z =
=

1

(6.12)

e chamada de incerteza ou entropia de fonte. Ela define a quantidade mdia de informao (em
unidades r por smbolo) obtida atravs da observao de uma simples sada de fonte. medida
que sua magnitude aumenta, mais incerteza e, conseqentemente mais informao associada
fonte. Se os smbolos de fonte forem equiprovveis, a entropia da equao (6.12) ser
maximizada e a fonte fornecer a maior mdia possvel de informaes por smbolo.
Aps termos modelado a fonte de informao, podemos agora desenvolver a funo de
transferncia do canal de informao com razovel facilidade. Como modelamos a entrada para
o canal na figura 4 como uma varivel aleatria discreta, a informao transferida para a sada
do canal ser, tambm, uma varivel aleatria discreta. Assim como a varivel aleatria de
fonte, ela assume valores pertencentes ao conjunto de smbolos {b
1
, b
2
, . . ., b
K
}, chamado de
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
177
alfabeto do canal B. A probabilidade do smbolo b
k
ser apresentado para o usurio de
informao P(b
k
). O conjunto finito (B,v), onde v = [P(b
1
), P(b
2
), ... , P(b
k
)]
T
, descreve
completamente a sada do canal e, por conseguinte, a informao recebida pelo usurio.
A probabilidade de uma determinada sada de canal P(b
k
) e a distribuio de
probabilidade da fonte z esto relacionadas pela expresso

P b P b a P a
k k j j
j
J
( ) ( ) ( ) =
=

1

(6.13)

onde P(b
k
|a
j
) a probabilidade condicional de que a sada b
k
ser recebida, considerando-se que
o smbolo de fonte a
j
foi gerado. Se as probabilidades condicionais mencionadas na equao
(6.13) forem dispostas em uma matriz Q de dimenses K x J, de forma que

Q =

(
(
(
(
(
(
P b a P b a P b a
P b a
P b a P b a P b a
J
K K K J
( ) ( ) ... ( )
( ) ...
. . ... .
.
( ) ( ) ... ( )
1 1
1
2 1
2 1
1 2
6 6

(6.14)

a distribuio de probabilidade do alfabeto de sada completo pode ser computada a partir da
expresso

v = Qz. (6.15)

A matriz Q, com elementos q
kj
= P(b
k
|a
j
), conhecida como matriz de transio direta do canal
ou simplesmente matriz do canal.
Para que se possa determinar a capacidade de um canal de informao com uma matriz
de transio direta de canal Q, a entropia da fonte de informao deve ser primeiramente
calculada considerando-se que o usurio da informao observa uma sada particular b
k
. A
equao (6.13) define uma distribuio de smbolos de fonte para qualquer b
k
observado, de
forma que cada b
k
possua uma funo de entropia condicional. Com bases nos passos que levam
equao (6.12), esta funo de entropia condicional, denotada por H(z|b
k
), pode ser escrita
como

H b P a b P a b
k j k j k
j
J
( ) ( ) log ( ) z =
=

1

(6.16)

onde P(a
j
|b
k
) a probabilidade do smbolo a
j
ter sido transmitido pela fonte, levando-se em
conta que o usurio tenha recebido b
k
. O valor esperado (ou valor mdio) desta expresso sobre
todos os b
k


H H b P b
k k
k
K
( ) ( ) ( ) z v z =
=

1

(6.17)

a qual, aps a substituio de H(z|b
k
) pela expresso direita na equao (6.16) e alguns
pequenos rearranjos, pode ser escrita como
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
178


H P a b P a b
j
J
j k j k
k
K
( ) ( ) log ( ) , z v =
= =

1 1

(6.18)

onde P(a
j
, b
k
) a probabilidade conjunta de a
j
e b
k
. Ou seja, P(a
j
, b
k
) a probabilidade de a
j
ser
transmitido e de b
k
ser recebido.
O termo H(z|v) chamado de ambigidade de z para com v. Representa a informao
mdia de um smbolo de fonte, considerando-se a observao do smbolo de sada que resultou
de sua gerao. Pelo fato de H(z) ser a informao mdia de um smbolo de fonte, considerando
nenhum conhecimento do smbolo de sada resultante, a diferena entre H(z) e H(z|v) a
informao mdia recebida durante a observao de um nico smbolo de sada. Esta diferena,
denotada por I(z,v) e conhecida como informao mtua de z e v,

I(z,v) = H(z) - H(z,v). (6.19)

Substituindo-se os valores de H(z) e H(z|v) dados pelas equaes (6.12) e (6.18), e lembrando-
se que P(a
j
) = P(a
j
, b
1
) + P(a
j
, b
2
) + . . . + P(a
j
, b
K
) obtemos

I P a b
P a b
P a P b
j
J
k
K
j k
j k
j k
( , ) ( , ) log
( , )
( ) ( )
z v =
= =

1 1

(6.20)

a qual, aps posterior manipulao, pode ser escrita como

I P a q
q
P a q
j kj
kj
i ki
i
J
k
K
j
J
( , ) ( ) log
( )
. z v =
=
= =


1
1 1

(6.21)

Assim, a informao recebida durante a observao de uma nica sada do canal de informao
uma funo da distribuio de probabilidade dos smbolos de entrada (ou smbolos de fonte) z
e da matriz de canal Q. O valor mnimo possvel de I(z, v) zero e ocorre quando os smbolos
de entrada ou sada so estatisticamente independentes. Neste caso, P(a
j
, b
k
) = P(a
j
)P(b
k
) e o
termo logartmico na equao (6.20) 0 para todo j e k. O valor mximo de I(z, v) dentre todas
as escolhas possveis de distribuio de fonte z a capacidade C do canal descrito pela matriz de
canal Q. Ou seja,

| |
C max I =
z
z v ( , )
(6.22)

onde o mximo obtido sobre todas as distribuies de entrada possveis. A capacidade do
canal define a taxa mxima (em unidades de informao r por smbolo de fonte) pela qual a
informao pode ser transmitida seguramente atravs do canal. Alm disso, a capacidade de um
canal no depende das probabilidades de entrada da fonte (ou seja, como o canal utilizado),
mas uma funo das probabilidades condicionais do canal.
6.3.3 Utilizando a Teoria da Informao
Conforme antecipamos no incio desta seo, a teoria da informao fornece as ferramentas
necessrias para representar e manipular informaes de forma direta e quantitativa. O exemplo
a seguir mostra a utilizao destas informaes para o propsito de compresso de imagens.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
179

Exemplo
Seja a imagem 4 x 8 de 256 tons de cinza a seguir:

22 22 22 95 167 234 234 234
22 22 22 95 167 234 234 234
22 22 22 95 167 234 234 234
22 22 22 95 167 234 234 234

Suponhamos que se deseja estimar o contedo de informao (ou entropia) da imagem acima.
Para tanto, trs alternativas podem ser adotadas.
Como primeiro caso, assumimos que a imagem foi produzida por uma fonte de
informao imaginria, capaz de emitir seqencialmente pixels (i.e. seus valores de tons de
cinza, codificados em 8 bits) estatisticamente independentes, de acordo com uma lei de
probabilidade pr-definida. Nesta situao, os smbolos da fonte so os nveis de cinza e o
alfabeto composto por 256 smbolos possveis. Se a distribuio de probabilidade dos
smbolos for conhecida (e.g. gaussiana), a entropia de cada pixel na imagem poder ser
calculada pela eq. (6.12). No caso de uma distribuio uniforme, por exemplo, os smbolos da
fonte so equiprovveis e a entropia da fonte de 8 bits/pixel. Em outras palavras, a informao
mdia por smbolo de fonte (pixel) 8 bits. Portanto, a entropia total da imagem acima de 4 x
8 x 8 = 256 bits. Esta imagem em particular apenas uma das 2
8 x 4 x 8
, ou 2
256
(~ 10
77
) imagens 4
x 8 equiprovveis que podem ser produzidas pela fonte.
Um segundo mtodo, conhecido como estimativa de primeira ordem, consiste na
construo de um modelo baseado na freqncia relativa de ocorrncia de cada smbolo na
imagem sob considerao. Ou seja, consideraramos a imagem analisada como uma amostra do
comportamento da fonte que a gerou. Levantando as probabilidades de cada nvel de cinza na
imagem proposta, teramos:

Nvel de cinza N de ocorrncias Probabilidade
22 12 3/8
95 4 1/8
167 4 1/8
234 12 3/8

Entrando com as probabilidades obtidas na eq. (6.12), obtemos uma entropia de 1,81
bits/pixel, o que representa uma entropia total da fonte de aproximadamente 58 bits.
Uma terceira forma de calcular a entropia da fonte seria examinar a freqncia relativa
de blocos de 2 pixels na imagem. Assumindo que a imagem em questo conectada de linha a
linha e do final ao incio, as freqncias relativas de ocorrncia dos pares de pixels podem ser
computadas, conforme a tabela a seguir:


Par de tons de cinza N de ocorrncias Probabilidade
(22, 22) 8 1/4
(22, 95) 4 1/8
(95, 167) 4 1/8
(167, 234) 4 1/8
(234, 234) 8 1/4
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
180

(234, 22) 4 1/8

A estimativa de entropia resultante do uso da eq. (6.12) ser 2,5/2 = 1,25 bits/pixel,
onde a diviso por 2 uma conseqncia de estarmos considerando dois pixels de cada vez.
Esta estimativa denominada estimativa de segunda ordem da entropia da fonte. Usando
raciocnio semelhante, poderamos computar a entropia de terceira, quarta, ..., n-sima ordem da
fonte, o que se tornaria computacionalmente lento.

Os valores obtidos no exemplo anterior fornecem interessantes interpretaes. A
estimativa de primeira ordem da entropia pode ser entendida como o limite mnimo de
representao de um pixel usando um certo nmero de bits (i.e. a taxa mxima de compresso)
que se pode atingir explorando apenas a redundncia de codificao. J os resultados mais
baixos obtidos com a estimativa de segunda ordem sugerem que taxas ainda maiores podem ser
obtidas, se explorarmos a redundncia interpixel. No exemplo analisado, a quantidade de bits
necessria para representar um pixel poderia cair de 1,81 bits/pixel para 1,25 bits/pixel se a
redundncia interpixel e de codificao fossem, ambas, exploradas.
6.4 Compresso sem perdas
Apresentaremos a seguir algumas das principais tcnicas de compresso de dados sem perdas.
Em alguns textos tcnicos a expresso 'compactao' tambm utilizada para estes casos,
reservando-se a expresso 'compresso' especificamente para as tcnicas que introduzem perdas.
No caso especfico de compresso de imagens, convm notar que, em diversas
circunstncias prticas, a compresso deve obrigatoriamente ser sem perdas. Tal o caso
quando se aplicam tcnicas de compresso a imagens mdicas ou de documentos para fins de
arquivamento, onde eventuais perdas so indesejveis e, muitas vezes, legalmente proibidas.
As tcnicas a seguir relatadas so aplicveis a imagens monocromticas com dois ou
mais tons de cinza e costumam permitir a obteno de taxas de compresso na faixa de 2 a 10.
Elas geralmente consistem de duas etapas principais: (1) elaborao de um mtodo alternativo
de representao da imagem, a fim de reduzir as redundncias interpixel; e (2) codificao do
resultado desta nova representao. Estes passos correspondem aos blocos 'mapeador' e
'codificador de smbolos' da figura 3.
6.4.1 Cdigos de palavra-cdigo de comprimento varivel
A maneira mais simples de se obter uma compresso de imagens sem perdas trabalhar na
reduo apenas da redundncia de codificao. Para tanto, pode-se codificar os valores de tons
de cinza utilizando cdigos de comprimento varivel, que atribuem palavras-cdigo mais curtas
aos smbolos mais provveis. Na prtica, os smbolos de fonte a serem codificados podem ser os
valores de tons de cinza da imagem ou a sada de uma operao de mapeamento (e.g. diferenas
entre pixels consecutivos, run-lengths etc.)
Cdigo de Huffman
A tcnica mais popular de codificao para remoo de redundncia o cdigo de Huffman
[Huffman 1952]. Quando aplicado codificao de cada smbolo da fonte, individualmente, o
cdigo de Huffman fornece o menor nmero inteiro possvel de unidades de informao (bits)
por smbolo de fonte.
O primeiro passo no algoritmo de Huffman consiste na criao de uma srie de redues
na fonte original, atravs da ordenao das probabilidades de ocorrncia dos smbolos sob
considerao, combinando os (dois) smbolos de menor probabilidade em um nico smbolo que
ir substitu-los na prxima etapa de reduo da fonte. A figura 5 ilustra este processo para o
caso de codificao binria. esquerda, aparecem os smbolos originais da fonte hipottica de
informao, ordenados em ordem decrescente de probabilidade de ocorrncia. Na primeira
reduo, os dois smbolos de menor probabilidade (a
3
com prob. = 0,06 e a
5
com prob. = 0,04)
so combinados, formando um 'smbolo composto' cuja probabilidade 0,06 + 0,04 = 0,1. Este
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
181
'smbolo composto' e sua respectiva probabilidade so posicionados na coluna correspondente
primeira reduo de fonte de forma que todos os valores da coluna estejam em ordem
decrescente. O processo ento repetido at atingirmos uma fonte reduzida com apenas dois
smbolos.

Fonte Original Redues de fonte
Smbolo Probabilidade 1 2 3 4
a
2
0,4 0,4 0,4 0,4 0,6
a
6
0,3 0,3 0,3 0,3 0,4
a
1
0,1 0,1 0,2 0,3
a
4
0,1 0,1 0,1
a
3
0,06 0,1
a
5
0,04
Figura 5 - Redues de fonte no algoritmo de Huffman.

O segundo passo no algoritmo de Huffman consiste em codificar cada fonte reduzida,
iniciando pela menor fonte e caminhando em direo fonte original. O menor cdigo binrio
possvel para uma fonte de 2 smbolos , obviamente, formado pelos smbolos 0 e 1. Como a
figura 6 ilustra, estes valores so atribudos aos dois smbolos da direita (neste caso, segundo a
conveno 'probabilidade maior recebe bit 0'). Como o smbolo de probabilidade 0,6 foi gerado
a partir da combinao de dois outros smbolos na fonte reduzida sua esquerda, o 0 usado para
codific-lo agora atribudo a ambos os smbolos que lhe deram origem, colocando-se um 0 ou
1 direita de cada um (segundo a mesma conveno) para distingui-los. O processo repetido
para cada fonte reduzida at se retornar fonte original. O cdigo resultante aparece na terceira
coluna da figura 6. O comprimento mdio do cdigo :
L
avg
= (0,4)(1) + (0,3)(2) + (0,1)(3) + (0,1)(4) + (0,06)(5) + (0,04)(5)
= 2,2 bits/smbolo.
A entropia da fonte, calculada pela eq. (6.12), 2,14 bits/smbolo. A eficincia do cdigo de
Huffman, calculada como a razo entre a entropia da fonte e o comprimento mdio do cdigo,
de 0,973.
O algoritmo de Huffman permite a criao de um cdigo timo para um dado conjunto
de smbolos e respectivas probabilidades, com a ressalva de que os smbolos devem ser
codificados um de cada vez. O cdigo denominado 'cdigo de bloco instantneo e unicamente
decodificvel', porque cada smbolo da fonte mapeado em uma seqncia fixa (bloco) de bits,
cada palavra-cdigo pode ser decodificada instantaneamente, ou seja, sem fazer referncia a
smbolos subseqentes e porque no h mais de uma forma de decodificar uma string de 0s e 1s,
ou seja, nenhuma palavra-cdigo prefixo de nenhuma outra.
A principal desvantagem prtica do cdigo de Huffman a necessidade de se armazenar
ou transmitir a tabela de smbolos da fonte e respectivas probabilidades juntamente com os
dados codificados.

Fonte Original Redues de fonte
Smbolo Prob. Cdigo 1 2 3 4
a
2
0,4 1 0,4 1 0,4 1 0,4 1 0,6 0
a
6
0,3 00 0,3 00 0,3 00 0,3 00 0,4 1
a
1
0,1 011 0,1 011 0,2 010 0,3 01
a
4
0,1 0100 0,1 0100 0,1 011
a
3
0,06 01010 0,1 0101
a
5
0,04 01011
Figura 6 - Atribuio de palavras-cdigo no algoritmo de Huffman.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
182


Leitura complementar
Diversos livros apresentam implementaes do cdigo de Huffman em linguagem C, dentre eles
[Tenenbaum et al. 1990].
Cdigo de Huffman Truncado
2

Quando o nmero de smbolos a serem codificados muito grande, a construo do cdigo de
Huffman torna-se uma tarefa no trivial do ponto de vista computacional. Alm disso, aos
smbolos menos provveis podero ser atribudas palavras-cdigo proibitivamente longas. Uma
possvel modificao sobre o cdigo de Huffman original consiste em se codificar somente os K
smbolos mais provveis, dentre os N smbolos da fonte. Para os demais smbolos, utiliza-se
uma palavra-cdigo de prefixo seguida de um cdigo de comprimento fixo adequado. Esta
modificao do algoritmo original de codificao por Huffman denominada 'cdigo de
Huffman truncado'.
A tabela 3 ilustra a obteno do cdigo de Huffman truncado para o caso em que N = 21
e K = 12. Neste caso, os smbolos a
1
a a
12
foram codificados por Huffman enquanto os smbolos
a
13
a a
21
utilizam um prefixo de 2 bits (10) seguido de um cdigo de comprimento fixo e igual a
4 bits. O comprimento mdio de uma palavra-cdigo, neste caso, ser 4,24 bits/smbolo, valor
ligeiramente maior que aquele que seria obtido utilizando Huffman tradicional (4,05
bits/smbolo), mas ainda bastante prximo do limite terico dado pela entropia da fonte, que
de 4,0 bits/smbolo.
Codificao Aritmtica
Na codificao por Huffman existe uma correspondncia biunvoca entre as palavras-cdigo e
os smbolos (ou seqncias de smbolos) da fonte. A tcnica de codificao aritmtica, cuja
concepo atribuda a Elias (ver [Abramson 1963]), uma tcnica orientada a bloco, na qual
uma palavra-cdigo aritmtica atribuda a uma seqncia de smbolos de entrada. A palavra-
cdigo em si define um intervalo de nmeros reais entre 0 e 1. medida que o nmero de
smbolos na mensagem aumenta, o intervalo usado para represent-la se torna menor e o nmero
de bits utilizados para represent-lo se torna maior.
A figura 7 ilustra o processo bsico de codificao aritmtica. Neste caso, deseja-se
codificar uma seqncia de 5 smbolos, a
1
a
2
a
3
a
3
a
4
, obtida a partir de uma fonte de quatro
smbolos. No incio do processo, assume-se que a mensagem ocupa todo o intervalo [0,1).
Como indica a tabela 4, este intervalo est inicialmente subdividido em 4 regies, de acordo
com a probabilidade de cada smbolo. Como o smbolo a
3
ocorre mais vezes, ele ocupa um
intervalo maior que os demais smbolos. Ao codificarmos a mensagem, o primeiro smbolo a ser
codificado ser a
1
, o que provocar um estreitamento inicial do intervalo da mensagem para o
intervalo [0, 0,2). Este intervalo reduzido ento subdividido de acordo com as probabilidades
dos smbolos que compem a fonte e o processo continua com o prximo smbolo a ser
codificado, neste caso a
2
. A codificao de a
2
reduz o intervalo a [0,04, 0,08), a codificao de
a
3
provoca uma nova reduo, desta vez para [0,056, 0,072) e assim por diante. O smbolo final
da mensagem, que deve ser reservado como um indicador especial de fim de mensagem (EOM -
End-Of-Message), reduzir a faixa ao intervalo [0,06752, 0,0688). Naturalmente, qualquer
nmero real neste intervalo, por exemplo 0,068, poder ser utilizado para representar a
mensagem.


2
Diversos autores do a esta alternativa o nome de Cdigo de Huffman Modificado (MHC).
Reservaremos este nome para a modificao no cdigo de Huffman encontrada na codificao de
imagens P&B no padro G3 dos sistemas fac-smile.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
183
Tabela 3 - Codificao utilizando cdigo de Huffman truncado.
Smbolo da fonte Probabilidade Huffman Truncado
a
1
0,2 11
a
2
0,1 011
a
3
0,1 0000
a
4
0,06 0101
a
5
0,05 00010
a
6
0,05 00011
a
7
0,05 00100
a
8
0,04 00101
a
9
0,04 00110
a
10
0,04 00111
a
11
0,04 01000
a
12
0,03 01001
a
13
0,03 10 0000
a
14
0,03 10 0001
a
15
0,03 10 0010
a
16
0,02 10 0011
a
17
0,02 10 0100
a
18
0,02 10 0101
a
19
0,02 10 0110
a
20
0,02 10 0111
a
21
0,01 10 1000

Na mensagem codificada aritmeticamente da figura 7, trs dgitos decimais so
necessrios para representar uma mensagem de cinco smbolos, numa mdia de 0,6 dgito
decimal/smbolo. Pode-se mostrar que este resultado se aproxima da entropia da fonte, que de
0,58 dgito decimal/smbolo. Quanto maior o comprimento da mensagem a ser codificada, mais
o resultado se aproximar do limite terico dado pelo Teorema de Shannon.
Existem dois problemas prticos principais, que limitam a eficincia da codificao
aritmtica: (1) a adio de um indicador de fim de mensagem, necessrio para separar uma
mensagem da seguinte; e (2) a necessidade de se utilizar aritmtica de preciso finita. As duas
formas mais usuais de se contornar o segundo problema so a estratgia de escala e a estratgia
de arredondamento. A primeira renormaliza cada subintervalo para a faixa [0, 1) antes de
subdividi-lo de acordo com as probabilidades dos smbolos. A segunda garante que os
truncamentos associados preciso finita no comprometem a preciso de representao dos
subintervalos de codificao.

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
184

0
1
0
0,2
0,04
0,08 0,072
0,056
0,0688
0,06752
0,0624
a1 a1 a1 a1 a1
a2 a2 a2 a2 a2
a3 a3 a3 a3 a3
a4 a4 a4 a4 a4
a1 a2 a3 a3 a4
Seqnci a de codi fi cao

Figura 7 - Codificao aritmtica.

Tabela 4 - Exemplo de codificao aritmtica.
Smbolo Probabilidade Subintervalo inicial
a
1
0,2 [0,0, 0,2)
a
2
0,2 [0,2, 0,4)
a
3
0,4 [0,4, 0,8)
a
4
0,2 [0,8, 1,0)

Exerccio resolvido
Dada a mensagem ' MAC ADDICT' codific-la e decodific-la utilizando codificao
aritmtica. Por simplicidade, desprezar o indicador de fim de mensagem (EOM).

Soluo:
O primeiro passo levantar as probabilidades de cada caractere presente na mensagem,
resultando nas duas primeiras colunas da tabela a seguir. Na terceira coluna, indicamos o
intervalo de valores para cada caractere.

Caractere Probabilidade Intervalo
Espao 0,1 [0,0 , 0,1)
A 0,2 [0,1 , 0,3)
C 0,2 [0,3 , 0,5)
D 0,2 [0,5 , 0,7)
I 0,1 [0,7 , 0,8)
M 0,1 [0,8 , 0,9)
T 0,1 [0,9 , 1,0)

O processo de codificao consiste em adicionar um dgito a cada smbolo correspondente na
mensagem original. Iniciando pelo primeiro smbolo 'M' , sabemos que o nmero resultante
ficar na faixa entre 0,8 e 0,9. Prosseguindo com o smbolo 'A', reduziremos esta faixa ao
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
185
intervalo entre 0,81 e 0,83. As sucessivas redues de intervalo esto resumidas na tabela a
seguir. O resultado final ser o nmero 0,8160903936.

Caractere lido Limite inferior Limite superior
M 0,8 0,9
A 0,81 0,83
C 0,816 0,820
Espao 0,8160 0,8164
A 0,81604 0,81612
D 0,816080 0,816096
D 0,8160880 0,8160912
I 0,81609024 0,81609056
C 0,816090336 0,816090400
T 0,8160903936 0,8160904000

O processo de decodificao est resumido na tabela a seguir, que mostra as vrias redues do
nmero inicial at resultar em 0,0 (fim da decodificao).

Nmero Smbolo
decodificado
Limite inferior Limite superior Largura do
intervalo
0,8160903936 M 0,8 0,9 0,1
0,160903936 A 0,1 0,3 0,2
0,30451968 C 0,3 0,5 0,2
0,0225984 Espao 0,0 0,1 0,1
0,225984 A 0,1 0,3 0,2
0,62992 D 0,5 0,7 0,2
0,6496 D 0,5 0,7 0,2
0,748 I 0,7 0,8 0,1
0,48 C 0,3 0,5 0,2
0,9 T 0,9 1,0 0,1
0,0

Leitura complementar
O captulo 5 de [Nelson e Gaily 1996] inteiramente dedicado codificao aritmtica e
contm exemplo de programa em C para implement-la.
Codificao LZW (Lempel-Ziv-Welch)
Todas as tcnicas de codificao para reduo de redundncia vistas at aqui pressupunham a
necessidade de se levantar as probabilidades dos smbolos da fonte. Apresentaremos a seguir o
cdigo LZW, considerado por muitos autores o 'algoritmo universal de codificao', por no
requerer um conhecimento a priori das estatsticas da fonte.
O mtodo de codificao LZW baseia-se na construo progressiva de uma tabela
(dicionrio) contendo as strings de smbolos de vrios comprimentos encontradas na seqncia
de smbolos da fonte. Como este dicionrio criado a partir da seqncia a ser codificada, ele
reflete com preciso as estatsticas daquela fonte de informao sendo codificada.
Na codificao, a tabela (dicionrio) de strings inicializada com todos os smbolos
individuais. A seqncia de entrada ento examinada, smbolo a smbolo, e a mais longa string
para a qual exista uma entrada correspondente na tabela extrada, e a palavra-cdigo para esta
string ento transmitida. A string extrada estendida de mais um smbolo da seqncia de
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
186

entrada, formando uma nova string, que ento adicionada tabela. Esta string recebe um
nmero (endereo) nico na tabela e passa a ficar disponvel para uso futuro. O processo de
codificao continua procurando sempre extrair a mais longa string possvel da seqncia de
entrada, estendendo esta string de mais um smbolo, adicionando-o ao dicionrio, e assim por
diante.
Na decodificao, inicialmente criada uma tabela com os smbolos individuais da
fonte. A partir da, cada palavra-cdigo recebida traduzida, atravs desta tabela, em uma string
original. Exceto para o caso do primeiro smbolo, cada vez que uma palavra-cdigo recebida,
o dicionrio atualizado da seguinte forma: aps a palavra-cdigo ter sido traduzida, seu
primeiro smbolo de fonte adicionado string anterior para acrescentar uma nova string ao
dicionrio. Desta forma, o decodificador, incrementalmente, reconstri a mesma tabela usada no
codificador.
Para melhor esclarecer o funcionamento do algoritmo LZW, consideremos o seguinte
exemplo. Seja uma fonte ternria, cujos smbolos possveis so A, B e C, e considere a
seqncia de entrada:
ABAAAAAACAABAAAAACABAAAAB ...
O dicionrio inicialmente conter os trs smbolos da fonte, A, B e C. Por simplicidade,
assumiremos que o tamanho mximo da tabela 16 (4 bits so usados para representar o
endereo de uma posio da tabela). Aps a etapa de codificao, o dicionrio da tabela 5 ter
sido criado.
A seqncia de palavras-cdigo geradas ser:
0 - 1 - 0 - 5 - 6 - 2 - 5 - 4 - 6 - 0 - 8 - 10 - 15 ...
No incio do processo de codificao, o mtodo LZW um tanto ineficiente, mas
medida que a tabela atinge um tamanho razovel, muitos smbolos podem ser representados por
uma nica palavra-cdigo.

Tabela 5 - Codificao LZW
String de entrada Palavra-cdigo
A 0
B 1
C 2
AB 3
BA 4
AA 5
AAA 6
AAAC 7
CA 8
AAB 9
BAA 10
AAAA 11
AC 12
CAB 13
BAAA 14
AAB... 15

Na prtica, os endereos da tabela costumam ocupar 12 bits. Para resolver o problema
do limite mximo de strings do dicionrio ser atingido, existem estratgias de atualizao
adaptativa do dicionrio, de modo a refletir as estatsticas de fonte mais recentes.

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
187
Exerccio resolvido
Dada a mensagem ' BABABABABABAB' produzida por uma fonte capaz de gerar os smbolos
{A, B, C}, codific-la e decodific-la utilizando o mtodo LZW.

Soluo:

1) Codificao
O processo de codificao parte do dicionrio j inicializado com trs smbolos, A, B e C, cujas
palavras-cdigo so, respectivamente, 0, 1 e 2.
O algoritmo de codificao gerar a seqncia de sada:
1-0-3-5-4-7-1
e produzir o dicionrio a seguir:

Palavra-cdigo String de entrada
0 A
1 B
2 C
3 BA
4 AB
5 BAB
6 BABA
7 ABA
8 ABAB

2) Decodificao
O processo de decodificao tambm inicia com o dicionrio j inicializado com trs smbolos,
A, B e C, cujas palavras-cdigo so, respectivamente, 0, 1 e 2.
A cada palavra-cdigo de entrada, ele procurar o smbolo correspondente no dicionrio
e efetuar a decodificao. Alm de decodificar o ltimo smbolo enviado, o decodificador
tambm atualiza seu dicionrio com strings geradas pelo codificador porm ainda no utilizadas,
como por exemplo a string 'BABA' (palavra-cdigo 6).
O detalhe mais sutil do algoritmo de decodificao surge quando se tenta decodificar
uma palavra-cdigo que ainda no foi utilizada pelo dicionrio da etapa receptora. Neste caso
(como veremos adiante para as palavras-cdigo 5 e 7), o decodificador capaz de deduzir a
string correspondente atravs da concatenao da ltima string decodificada com o primeiro
smbolo desta mesma string.
Pode-se provar que a etapa decodificadora recupera sem erros a informao original e
constri uma tabela idntica da etapa codificadora.
Detalhando passo a passo a seqncia de decodificao, temos:
1. Recebe a palavra-cdigo 1.
2. Localiza a string correspondente no dicionrio ('B') e decodifica.
3. Recebe a palavra-cdigo 0.
4. Localiza a string correspondente no dicionrio ('A') e decodifica.
5. Acrescenta a string formada pela concatenao da penltima string decodificada com o
primeiro smbolo da ltima string codificada ('B' + 'A' = 'BA') ao dicionrio (palavra-cdigo
3).
6. Recebe a palavra-cdigo 3.
7. Localiza a string correspondente no dicionrio ('BA') e decodifica.
8. Acrescenta a string formada pela concatenao da penltima string decodificada com o
primeiro smbolo da ltima string codificada ('A' + 'B' = 'AB') ao dicionrio (palavra-cdigo
4).
9. Recebe a palavra-cdigo 5.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
188

10. Como a palavra-cdigo 5 ainda no tem correspondncia no dicionrio, o decodificador
deduz a que string ela corresponde, concatenando a ltima string decodificada com o
primeiro smbolo desta mesma string ('BA' + 'B' = 'BAB').
11. Acrescenta a string recm-formada ao dicionrio (palavra-cdigo 5) e decodifica a palavra-
cdigo 5.
12. Recebe a palavra-cdigo 4.
13. Localiza a string correspondente no dicionrio ('AB') e decodifica.
14. Acrescenta a string formada pela concatenao da penltima string decodificada com o
primeiro smbolo da ltima string codificada ('BAB' + 'A' = 'BABA') ao dicionrio (palavra-
cdigo 6).
15. Recebe a palavra-cdigo 7.
16. Como a palavra-cdigo 7 ainda no tem correspondncia no dicionrio, o decodificador
deduz a que string ela corresponde, concatenando a ltima string decodificada com o
primeiro smbolo desta mesma string ('AB' + 'A' = 'ABA').
17. Acrescenta a string recm-formada ao dicionrio (palavra-cdigo 7) e decodifica a palavra-
cdigo 7.
18. Recebe a palavra-cdigo 1.
19. Localiza a string correspondente no dicionrio ('B') e decodifica.
20. Acrescenta a string formada pela concatenao da penltima string decodificada com o
primeiro smbolo da ltima string codificada ('ABA' + 'B' = 'ABAB') ao dicionrio (palavra-
cdigo 8).
21. Fim da decodificao.

Leitura complementar
O artigo de Nelson [Nelson 1989] apresenta os conceitos bsicos da compresso LZW e inclui
cdigo-fonte em C.
6.4.2 Codificao bit-plane
Aps termos examinado alguns dos principais mtodos de remoo de redundncia de
codificao, consideraremos a seguir uma das vrias tcnicas de compresso de imagens que
busca explorar suas redundncias interpixel. Este mtodo, denominado codificao bit-plane,
baseado no conceito de decomposio de uma imagem de mltiplos tons de cinza em uma srie
de imagens binrias, comprimindo a seguir cada uma delas utilizando um dos inmeros mtodos
de compresso de imagens binrias. Nesta seo explicaremos uma possvel forma de
decomposio e analisaremos alguns dos mais populares mtodos de compresso das imagens
binrias resultantes.
Decomposio bit-plane
Os nveis de cinza de uma imagem monocromtica podem ser representados na forma de um
polinmio de base 2

a a a a
m
m
m
m


+ + + +
1
1
2
2
1
1
0
0
2 2 2 2 ... .
(6.23)

Com base nesta propriedade, uma forma simples de decompor uma imagem em uma coleo de
imagens binrias consiste em separar os m coeficientes do polinmio em m bit planes de 1 bit. O
bit plane de ordem 0 ser obtido a partir dos coeficientes a
0
de cada pixel, enquanto o bit plane
de ordem (m - 1) conter os coeficientes a
m-1
. A desvantagem desta abordagem que pequenas
variaes de tom de cinza na imagem original podero produzir significativas variaes de
intensidade nos bit planes correspondentes. Por exemplo, se um pixel de intensidade 127
(01111111) estiver ao lado de outro, de intensidade 128 (1000000), cada bit plane conter uma
transio de 0 para 1 (ou de 1 para 0).
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
189
Para reduzir este problema, uma alternativa decompor a imagem original usando o
cdigo de Gray para m bits. O cdigo de Gray para m bits g
m-1
... g
2
g
1
g
0
correspondente ao
polinmio (6.23) pode ser calculado como:

g a a i m
g a
i i i
m m
= s s
=
+

1
1 1
0 2
.

(6.24)

onde o smbolo indica a operao ou-exclusivo. A principal propriedade do cdigo de Gray
que duas palavras-cdigo consecutivas diferem em apenas um bit. No caso dos valores 127 e
128, por exemplo, suas representaes binrias equivalentes sero 11000000 e 01000000,
respectivamente.
Codificao de reas constantes
Uma forma simples e eficiente de comprimir uma imagem binria ou bit plane consiste na
utilizao de palavras-cdigo especiais para designar grandes regies de pixels 1 (brancos) ou 0
(pretos) contguos. Nesta tcnica, denominada 'codificao de reas constantes' (CAC), a
imagem dividida em blocos de m x n pixels, os quais so classificados como: totalmente
brancos, totalmente pretos ou mistos. A categoria mais provvel recebe a palavra-cdigo de um
bit 0, enquanto as demais categorias recebem as palavras-cdigo 10 e 11. A compresso obtida
porque os mn bits que seriam normalmente necessrios para codificar o bloco so substitudos
por apenas 1 ou 2 bits. Evidentemente, a palavra-cdigo correspondente aos blocos mistos
usada apenas como prefixo do bloco codificado. Este conceito pode ser extrapolado em
subdivises subseqentes de cada bloco. Nos casos em que cada bloco ocupa um quarto da rea
total da imagem, a estrutura de dados equivalente diviso sucessiva da imagem ser uma
rvore quaternria.
Uma pequena variao desta tcnica consiste em codificar as reas brancas com 0 e
todos os outros blocos (inclusive os formados somente por pixels pretos) com um bit 1 seguido
do padro de bits do bloco. Esta abordagem, denominada White Block Skipping (WBS),
apresenta bons resultados em imagens obtidas a partir de textos digitalizados, cujas
caractersticas estruturais so favorveis ao seu uso.
Uma modificao adicional na tcnica WBS original consiste em codificar a imagem
linha a linha, designando pela palavra-cdigo 0 uma linha totalmente branca e codificando as
linhas que contm um ou mais pixels pretos por um bit 1 seguido do padro de bits da linha.
Run-length unidimensional
Uma interessante alternativa codificao de blocos constantes a representao de cada linha
de uma imagem ou bit plane atravs de uma seqncia de valores de comprimento, que
representam os comprimentos das cadeias de 0's e 1's. Nesta tcnica, denominada codificao
run-length, a idia bsica codificar cada grupo de 0's e 1's contguos encontrados em uma
varredura da esquerda para a direita atravs de seu comprimento, segundo uma conveno pr-
estabelecida. Uma conveno comum admitir que cada linha comea com uma seqncia de
pixels brancos, que corresponde ao primeiro valor numrico encontrado. Caso a linha em
questo comece com um pixel preto, codifica-se uma seqncia de brancos de comprimento
zero.
Embora a compresso run-length seja, por si s, um mtodo eficaz de compresso de
imagens, possvel obter uma compresso adicional, codificando as seqncias obtidas
utilizando palavras-cdigo de comprimento varivel.
Run-length bidimensional
Os conceitos da codificao run-length unidimensional so extensveis ao caso 2D. Uma das
tcnicas mais conhecidas a utilizar tal extenso a codificao por endereo relativo (relative
address coding - RAC), que se baseia na codificao das transies de branco para preto e vice-
versa, levando em conta a linha atual e a imediatamente anterior. A figura 8 ilustra o mtodo.
Nela, a distncia ec representa a distncia entre a transio atual (c) e a transio anteriormente
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
190

ocorrida na mesma linha (e). J cc' representa a distncia entre c (na linha atual) e a transio
similar da linha anterior que ocorre direita da transio e da linha atual (c'). Se ec s cc', a
distncia a ser codificada pelo mtodo RAC, d, considerada igual a ec e utilizada para
representar a transio atual em c. Caso contrrio (cc' < ec), a distncia d a ser codificada igual
a cc'.
A exemplo do run-length unidimensional, a codificao RAC requer a adoo de uma
conveno que inclui o estabelecimento de transies imaginrias no incio e fim de cada linha,
bem como uma linha de incio imaginria, totalmente branca, precedendo a primeira linha real.
Alm disso, a codificao RAC tambm costuma utilizar cdigos de comprimento varivel para
codificar as distncias (d) encontradas, como ilustra a figura 8(b).

Li nha Anteri or
Li nha Atual
= 0
= 1
c
cc
ec
e c
Transio
Atual

(a)

Distncia medida Distncia
codificada
Cdigo Faixa de distncia Cdigo h(d)
cc' 0 0 1 - 4 0 xx
ec ou cc' (esq) 1 100 5 - 20 10 xxxx
cc' (dir) 1 101 21 - 84 110 xxxxxx
ec d (d > 1) 111 h(d) 85 - 340 1110 xxxxxxxx
cc' (c' esq) d (d > 1) 1100 h(d) 341 - 1364 11110 xxxxxxxxx
cc' (c' dir) d (d > 1) 1101 h(d) 1365 - 5460 111110 xxxxxxxxxx

(b)
Figura 8 - Exemplo ilustrativo do mtodo RAC.
6.4.3 Codificao Preditiva sem Perdas
Para concluir nossa abordagem de tcnicas de compresso sem perdas, apresentaremos agora
uma tcnica de codificao, cuja idia bsica a remoo de redundncia entre pixels prximos,
extraindo e codificando apenas a informao nova trazida por cada pixel. Esta informao 'nova'
normalmente definida como a diferena entre o valor real do pixel e o valor predito para
aquele pixel. Por esta razo, esta tcnica recebe o nome de codificao preditiva.
A figura 9 mostra os principais componentes de um codificador preditivo sem perdas e
de seu respectivo decodificador. Em ambos os blocos, aparece um elemento-chave, que o
estgio preditor. medida que cada pixel da imagem de entrada, indicado pela notao f
n
,
introduzido no codificador, o preditor gera um nmero, que o valor previsto para aquele pixel,
com base em entradas anteriores. A sada do preditor ento arredondada para um valor inteiro,
a que denominaremos
#
f
n
, utilizado para calcular o 'erro de predio', dado por

e f f
n n n
=
#

(6.25)

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
191
que ento codificado por um cdigo de comprimento varivel (pelo 'codificador de smbolos'
do estgio codificador), gerando o prximo elemento do conjunto de dados comprimidos. O
decodificador da figura 9(b) reconstri e
n
a partir das palavras-cdigo de comprimento varivel
recebidas e executa a operao inversa

f e f
n n n
= +
#
.
(6.26)

Diversos mtodos locais, globais e adaptativos podem ser usados para gerar
#
f
n
. Na maioria dos
casos, entretanto, a predio formada por uma combinao linear dos m pixels anteriores. Ou
seja,

#
f f
n i n i
i
m
=

(
=

round o
1

(6.27)

onde m a ordem do preditor linear, round uma funo utilizada para indicar a operao de
arredondamento e o
i
para i = 1, 2, ..., m so os coeficientes de predio. O subscrito n equivale a
um ndice espacial ou temporal de ocorrncia do pixel. No caso particular da codificao
preditiva linear 1-D, por exemplo, a eq. (6.27) pode ser reescrita como

#
( , ) ( , ) f x y f x y i
n i
i
m
=

(
=

round o
1

(6.28)

onde cada varivel est explicitamente relacionada a suas coordenadas espaciais x e y. Convm
notar que na predio linear 1-D,
#
( , ) f x y funo apenas dos pixels anteriores da mesma linha.
No caso 2-D, ele tambm depende de pixels que tenham aparecido em linhas anteriores,
enquanto que no caso 3-D, tambm so levados em conta os pixels de frames anteriores. Por
fim, convm notar que a eq. (6.28) no pode ser avaliada para os primeiros m pixels de uma
linha, que portanto tero de ser codificados por outro mtodo (e.g. Huffman), introduzindo um
pequeno overhead no processo.

Imagem
Comprimi da
Preditor
Intei ro mais
prximo
Codi fi cador
de Smbol os
Imagem
de Entrada
+
-
fn
fn
en
^

(a)
Figura 9 - Um modelo de codificao preditiva: (a) codificador; (b) decodificador.
Imagem
Comprimi da
Decodifi cador
de Smbol os
+
+
Preditor
en fn
fn
Imagem
Descomprimida
^

(b)
Figura 9 - Continuao.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
192


6.5 Compresso com perdas
Diferentemente das tcnicas livres de erro apresentadas na seo anterior, a codificao com
perdas baseia-se no conceito de comprometimento da preciso da imagem reconstruda em troca
de uma maior compresso. Se a distoro resultante (que poder ou no ser aparentemente
visvel) puder ser tolerada, o aumento na compresso poder ser bastante significativo (de taxas
na faixa de 3:1 at razes de compresso maiores ou iguais a 100:1). Conforme antecipamos na
Seo 6.2, a principal diferena entre as tcnicas de compresso com perdas e sem perdas a
presena ou ausncia do bloco quantizador da figura 3.
6.5.1 Codificao preditiva com perdas
Duas das tcnicas de compresso preditiva com perdas mais conhecidas so a modulao delta
(DM) e a Modulao por Codificao Diferencial de Pulsos (DPCM). Para analis-las,
acrescentaremos um quantizador ao modelo introduzido na Seo 6.4.3. e examinaremos o
compromisso resultante entre preciso na reconstruo da imagem e desempenho da etapa de
compresso. Como mostra a figura 10, o quantizador (que absorve a funo de arredondamento
para o nmero inteiro mais prximo do codificador sem erros) inserido entre o codificador de
smbolos e o ponto no qual o erro de predio calculado. Ele mapeia o erro de predio em
uma faixa limitada de sada, denotada % e
n
, a qual estabelece a quantidade de compresso e
distoro associados codificao preditiva com perdas.

Imagem
Comprimi da
Preditor
Quanti zador
Codi fi cador
de Smbol os
Imagem
de Entrada
fn
^
+
+
+
-
en
f
n
en
fn

(a)

Imagem
Comprimi da
Decodifi cador
de Smbol os
+
+
Preditor
fn
^
Imagem
Descomprimida
en fn

(b)
Figura 10 - Um modelo de codificao preditiva com perdas: (a) codificador; (b) decodificador.

A fim de acomodar a insero do estgio de quantizao, o codificador livre de erros da
figura 9(a) deve ser alterado de tal maneira que as predies geradas pelo codificador e
decodificador sejam equivalentes. Como mostra a figura 10(a), isto obtido colocando-se o
preditor dentro de um lao de realimentao, onde sua entrada, denotada
%
f
n
, gerada como
uma funo de predies anteriores e dos erros quantizados correspondentes. Ou seja,

%
%
#
f e f
n n n
= +
(6.29)
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
193

onde
#
f
n
aparece como definido na Seo 6.4.3. Esta configurao de malha fechada previne o
surgimento de erros na sada do decodificador. Da figura 10(b) pode-se deduzir que a sada do
decodificador tambm fornecida pela equao (6.29).
Modulao Delta (DM)
A modulao Delta (DM) constitui um exemplo simples e bastante conhecido de codificao
preditiva com perdas no qual o preditor e o quantizador so definidos como

# %
f f
n n
=

o
1

(6.30)
e
% e
e
n
n
=
+ >

,
,
para
caso contrario
0

(6.31)

onde o um coeficiente de predio (normalmente menor que 1) e , uma constante positiva.
A sada do quantizador, % e
n
, pode ser representada por um nico bit, portanto o codificador de
smbolos da figura 10(a) pode utilizar cdigo de comprimento fixo e igual a 1 bit. O cdigo DM
resultante utiliza 1 bit/pixel. A tabela 6 ilustra a mecnica do processo de modulao delta, bem
como os clculos necessrios para comprimir e reconstruir a seqncia de entrada {14, 15, 14,
15, 13, 15, 15, 14, 20, 26, 27, 28, 27, 27, 29, 37, 47, 62, 75, 77, 78, 79, 80, 81, 81, 82, 82} com
o = 1 e , = 6.5.
O processo se inicia com a transferncia do primeiro pixel de entrada para o
decodificador. Uma vez estabelecida a condio inicial
%
f f
0 0
14 = = , tanto no codificador
quanto no decodificador, as sadas subseqentes podem ser calculadas atravs das equaes
(6.30), (6.25), (6.31) e (6.29). Logo, quando n = 1, por exemplo,
#
f
1
= (1)(14) = 14, e
1
= 15 - 14
= 1, % e
1
= + 6,5 (porque e
1
> 0),
%
f
1
= 6,5 + 14 = 20,5 e o erro de reconstruo (15 - 20,5) ou -
5,5 nveis de cinza.
A figura 11 ilustra graficamente os dados da tabela 6. Nela podem ser observados os
dois principais problemas da tcnica DM: o rudo granular na regio em que a imagem de
entrada apresenta valores praticamente uniformes, entre a 1 e a 8 amostra (porque , muito
grande para acompanhar estas pequenas flutuaes), e a dificuldade em acompanhar uma
transio abrupta nos valores de entrada (slope overload), presente no intervalo entre a 14 e a
19 amostra, porque neste caso , muito pequeno para acompanhar as variaes de entrada.
Esta limitao da modulao Delta provocaria uma suavizao das bordas da imagem
comprimida, enquanto o rudo granular distorceria regies homogneas da imagem. Estas
limitaes so comuns a todas as formas de compresso com perdas e algumas formas de
minimiz-las so o projeto de preditores e quantizadores timos e a utilizao de tcnicas
adaptativas.

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
194

Tabela 6 - Codificao DM
Entrada Codificador Decodificador Erro
n f #
f
e % e
%
f
#
f
%
f [f -
%
f ]
0 14 14,0 14,0 0,0
1 15 14,0 1,0 6,5 20,5 14,0 20,5 -5,5
2 14 20,5 -6,5 -6,5 14,0 20,5 14,0 0,0
3 15 14,0 1,0 6,5 20,5 14,0 20,5 -5,5
4 13 20,5 -7,5 -6,5 14,0 20,5 14,0 -1,0
5 15 14,0 1,0 6,5 20,5 14,0 20,5 -5,5
6 15 20,5 -5,5 -6,5 14,0 20,5 14,0 1,0
7 14 14,0 0,0 -6,5 7,5 14,0 7,5 6,5
8 20 7,5 12,5 6,5 14,0 7,5 14,0 6,0
9 26 14,0 12,0 6,5 20,5 14,0 20,5 5,5
10 27 20,5 6,5 6,5 27,0 20,5 27,0 6,5
11 28 27,0 1,0 6,5 33,5 27,0 33,5 -5,5
12 27 33,5 -6,5 -6,5 27,0 33,5 27,0 0,0
13 27 27,0 0,0 -6,5 20,5 27,0 20,5 6,5
14 29 20,5 8,5 6,5 27,0 20,5 27,0 2,0
15 37 27,0 10,0 6,5 33,5 27,0 33,5 3,5
16 47 33,5 13,5 6,5 40,0 33,5 40,0 7,0
17 62 40,0 22,0 6,5 46,5 40,0 46,5 15,5
18 75 46,5 28,5 6,5 53,0 46,5 53,0 22,0
19 77 53,0 24,0 6,5 59,5 53,0 59,5 17,5
20 78 59,5 18,5 6,5 66,0 59,5 66,0 18,5
21 79 66,0 13,0 6,5 72,5 66,0 72,5 13,0
22 80 72,5 7,5 6,5 79,0 72,5 79,0 7,5
23 81 79,0 2,0 6,5 85,5 79,0 85,5 2,0
24 81 85,5 -4,5 -6,5 79,0 85,5 79,0 -4,5
25 82 79,0 3,0 6,5 85,5 79,0 85,5 3,0
26 82 85,5 -3,5 -6,5 79,0 85,5 79,0 -3,5

0
10
20
30
40
50
60
70
80
90
0 2 4 6 8 10 12 14 16 18 20 22 24 26
Entrada
Resultado da DM

Figura 11 - Representao grfica dos valores originais e aps codificao, ilustrando os
problemas de rudo granular e slope overload.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
195
Modulao por Codificao Diferencial de Pulsos (DPCM)
A tcnica DPCM, proposta por [Cutler 1952], a mais conhecida tcnica de codificao
preditiva. Ela utiliza um preditor timo, cujo objetivo minimizar o erro mdio quadrtico de
predio, assumindo que o erro de quantizao desprezvel (ou seja, % e e
n n
~ ) e que o valor
predito de um pixel depende de uma combinao linear de m pixels anteriores, isto ,

#
f f
n i n i
i
m
=

=

o
1
.
(6.32)

O nmero de pixels considerados na predio, m, normalmente conhecido como 'ordem do
preditor' e estudos realizados sobre imagens de TV e de radiografias demonstraram que no h
ganho significativo em se utilizar ordem superior a 3.
O conjunto de coeficientes do preditor timo normalmente obtido modelando a
imagem como uma fonte de Markov 2-D, cuja funo de auto-correlao

. { } E f x y f x i y j
v
i
h
j
( , ) ( , ) = o
2

(6.33)

resultando no preditor linear de 4 ordem

.
#
( , ) ( , ) ( , ) ( , ) ( , ) f x y f x y f x y f x y f x y = + + + + o o o o
1 2 3 4
1 1 1 1 1 1
(6.34)

cujos coeficientes timos so

. o o o o
1 2 3 4
0 = = = =
h v h v
(6.35)

onde
h
e
v
so os coeficientes de correlao horizontal e vertical da imagem, respectivamente.
Leitura complementar
A Seo 6.4 de [Lynch 1985] totalmente dedicada modulao DPCM, bem como sua
variante adaptativa (ADPCM).
Para uma reviso dos conceitos de modelos de Markov e suas aplicaes em estratgias
de predio sugerimos a Seo 1.10 de [Williams 1991].
A etapa de quantizao
Um quantizador em essncia um bloco com funo de transferncia em forma de escada, que
mapeia todos os possveis valores de entrada em um menor nmero de nveis de sada. Desta
forma, o nmero de smbolos a serem codificados se reduz, s custas de um maior erro na
imagem reconstruda. A quantizao individual de cada valor do sinal de entrada denominada
quantizao escalar (QE), enquanto a quantizao conjunta de um bloco de valores do sinal de
entrada recebe o nome de quantizao vetorial (QV). Para um mesmo esquema de codificao,
pode-se garantir que a QV produz resultados iguais ou superiores que a QE. Porm, em alguns
casos, o ganho em termos de compresso no compensa a complexidade adicional de
implementao. A tcnica de QE mais conhecida o quantizador de Lloyd-Max.
Leitura complementar
A Seo 2.5 de [Lynch 1985] totalmente dedicada a conceitos e mtodos de quantizao.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
196

6.5.2 Codificao por transformadas
As tcnicas discutidas na Seo 6.5.1 operam diretamente nos pixels de uma imagem e por isso
so chamadas de mtodos de domnio espacial. Nesta seo, consideraremos as tcnicas de
compresso baseadas na modificao da transformada de uma imagem. Na codificao por
transformadas, utiliza-se uma operao matemtica linear reversvel para mapear a imagem
dentro de um conjunto de coeficientes, os quais em seguida so quantizados e codificados. Para
a maioria das imagens naturais, um nmero significativo de coeficientes tm pequena magnitude
e podem, portanto, ser quantizados (ou mesmo descartados), causando pouca distoro na
imagem decodificada. Diversas transformadas matemticas conhecidas podem ser utilizadas
para transformar os dados da imagem. Quanto maior a capacidade da transformada de
compactar informao em poucos coeficientes, melhor ela ser para fins de compresso.
A figura 12 mostra um sistema de codificao por transformadas tpico. O decodificador
implementa a seqncia inversa dos estgios (com exceo da funo de quantizao) do
codificador, o qual realiza quatro operaes principais: decomposio da imagem original em
subimagens, clculo da transformada direta, quantizao e codificao. O objetivo da
transformada direta descorrelacionar os pixels de cada subimagem e reunir o maior nmero de
informaes possvel no menor nmero de coeficientes. O estgio de quantizao, a seguir,
elimina seletivamente, ou quantiza mais grosseiramente, os coeficientes que carregam o menor
nmero de informaes. Estes coeficientes tm o menor impacto sobre a qualidade da
subimagem reconstruda. O processo termina com a codificao (normalmente utilizando-se
palavras-cdigo de comprimento varivel) dos coeficientes quantizados. Alguns ou todos os
estgios da codificao por transformadas podem ser adaptados ao contedo local da imagem,
ao que se denomina codificao adaptativa por transformadas.

Construo
de Sub-
imagens nxn
Transformao
Di reta
Quanti zao
Codi fi cao
de Smbol os
Imagem
de
Entrada
(NxN)
Imagem
Comprimi da

(a)

Decodifi cao
de Smbol os
Transformao
Inversa
Fuso de
Subimagens
nxn
Imagem
Comprimi da
Imagem
Descomprimida

(b)
Figura 12 - Codificao por transformadas: (a) codificador; (b) decodificador.

Seleo de Transformadas
A escolha da melhor transformada matemtica para uma dada aplicao depende de vrios
parmetros, dentre eles a quantidade de erro de reconstruo tolervel e os recursos
computacionais disponveis. A maior parte da compresso obtida durante a quantizao dos
coeficientes transformados (e no durante o estgio de transformao propriamente dito). Uma
das transformadas mais utilizadas a transformada discreta de cossenos (DCT), cuja formulao
matemtica apresentada a seguir.
A DCT direta 1-D definida como:

C u u f x
x u
N
x
N
( ) ( ) ( ) cos
( )
=
+

(
=

o
t 2 1
2
0
1

(6.36)
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
197

Para u = 0, 1, 2, ..., N-1.
Similarmente, a DCT inversa 1-D definida como:

f x u C u
x u
N
u
N
( ) ( ) ( ) cos
( )
=
+

(
=

o
t 2 1
2
0
1

(6.37)

Para x = 0, 1, 2, ..., N-1. Em ambas equaes (6.36) e (6.37), o :

o ( )
/
/
u
N
p u
N
p u
=
=
=

1
0
2
1

(6.38)

A DCT direta 2-D dada por:

C u v u v f x y
x u
N
y v
N
y
N
x
N
( , ) ( ) ( ) ( , ) cos
( )
cos
( )
=
+

(
+

(
=

o o
t t 2 1
2
2 1
2
0
1
0
1

(6.39)

para u, v = 0, 1, 2, ..., N-1.
Enquanto a DCT inversa 2-D pode ser calculada como:

f x y u v C u v
x u
N
y v
N
v
N
u
N
( , ) ( ) ( ) ( , ) cos
( )
cos
( )
=
+

(
+

(
=

o o
t t 2 1
2
2 1
2
0
1
0
1

(6.40)

para x, y = 0, 1, 2, ..., N-1. Onde o dada pela eq.(6.38).
Nos ltimos anos a DCT tem-se tornado uma das ferramentas matemticas mais utilizadas
em padres de compresso de imagens, como o JPEG, o H.261 e o MPEG, que sero abordados
na Seo 6.6.
6.5.3 Outras tcnicas
Inmeras outras tcnicas de compresso de imagens vm sendo testadas, em alguns casos com
resultados bastante promissores. Dentre elas destacamos o uso de fractais [Barnsley e Sloan
1988], a transformada Wavelet [Mallat 1989] [Rioul e Vetterli 1991], a codificao por sub-
bandas [Vetterli 1984] e codificao preditiva com rvore binria (BTPC - Binary Tree
Predictive Coding).
6.6 Padres de compresso de imagens
A adoo de padres de compresso de imagens traz vrios benefcios, dentre os quais
relacionamos: (1) facilita o intercmbio de imagens comprimidas entre vrios dispositivos e
aplicaes; (2) permite o uso do mesmo hardware e software em uma ampla gama de produtos,
reduzindo custos e encurtando o ciclo de desenvolvimento de novos produtos; e (3) prov
referenciais de qualidade esperada para imagens comprimidas. Os esforos de padronizao de
algoritmos de compresso de imagens esto divididos em trs tipos: imagens binarizadas,
imagens estticas (monocromticas ou coloridas) e seqncias de imagens (vdeo digital). Nesta
seo abordaremos o padro adotado pelo CCITT para transmisso de imagens binarizadas
atravs de fac-smile grupos 3 e 4, o padro JPEG de compresso de imagens estticas e os
padres H.261, H.263 e MPEG de compresso de vdeo.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
198

6.6.1 Padres CCITT para fac-smiles Grupo 3 e Grupo 4
O padro CCITT para fac-smile Grupo 3 e Grupo 4 o mais conhecido e utilizado padro de
compresso de imagens binrias. O padro adotado para o fax Grupo 3 utiliza uma codificao
run-length 1-D no-adaptativa na qual K - 1 linhas de cada conjunto de K linhas (para K = 2 ou
4) podem ser opcionalmente codificadas por um algoritmo de explorao da redundncia entre
linhas consecutivas (MREAD). J no fax Grupo 4, apenas a codificao 2-D implementada.
Codificao unidimensional
Nesta tcnica, cada linha completa lida e convertida, para fins de transmisso, em uma
seqncia de segmentos de linha (run lengths) alternadamente brancos e pretos. Assume-se que
todas as linhas comeam com um segmento branco para garantir que o receptor mantenha
sincronismo de cor. Caso a linha lida comece com um segmento preto, ento inserido um
segmento branco de comprimento zero no incio da transmisso da linha.
Cada segmento da linha ento codificado, segundo o seu comprimento e cor, atravs
das tabelas 7 e 8. So utilizados cdigos separados para representar segmentos de linha brancos
e pretos. Este tipo de codificao conhecido como 'Cdigo de Huffman Modificado' (MHC -
Modified Huffman Code). Atravs dele pode-se representar um segmento de linha at o mximo
comprimento admissvel para uma linha completa, que de 1728 pixels.
Existem duas categorias de palavras-cdigo, denominadas 'palavras-cdigo de
terminao' (PCT) (tabela 7) e 'palavras-cdigo de composio' (PCC) (tabela 8). Segmentos de
linha com comprimento entre 64 e 1728 pixels so codificados por uma PCC seguida por uma
PCT. A PCC representa um valor de comprimento 64 x N ( onde N um inteiro entre 1 e 27 )
que igual a, ou menor que, o valor do comprimento a ser codificado. A PCT seguinte
especifica a diferena entre a PCC e o valor real do comprimento a ser codificado.
Por exemplo, suponhamos a codificao de um segmento de linha branco com 200
pixels. Como este comprimento maior do que 63, necessrio compor o cdigo com uma PCC
e uma PCT. O maior valor de PCC inferior ao valor a ser codificado igual a 192 (200 / 64 = 3
com resto 8, portanto N = 3). A PCT codificar ento a diferena entre 200 e 192 que igual a
oito. Consultando-se as tabelas 7 e 8, obteremos os cdigos 010111 e 10011 para a PCC e a
PCT, respectivamente, resultando na palavra-cdigo 01011110011. Neste segmento, em
particular, foram utilizados apenas 11 bits para codificar 200 pixels.
A codificao de uma linha termina quando todos os segmentos de linha, perfazendo um
total de 1728 pixels, forem transmitidos. Cada linha codificada seguida pela palavra-cdigo de
fim de linha (EOL - End Of Line), codificada como 00000000000. A palavra-cdigo EOL uma
seqncia nica que no pode ocorrer dentro de uma linha vlida de dados codificados. Ela
pode ser detectada independentemente de como o receptor divide a linha codificada em
palavras- cdigo. Na verdade, o EOL representa uma informao redundante pois, aps contar
1728 pixels, o receptor j sabe que a linha terminou. Esta redundncia existe para tornar o
sistema mais tolerante a falhas. Assim, se uma falha de transmisso corromper alguns dos dados
codificados na linha lida, este erro no impedir o verdadeiro EOL de ser detetado.
Codificao bidimensional
A tcnica de codificao bidimensional adotada pelo CCITT tanto para o fax Grupo 3 quanto
para o Grupo 4 recebe o nome de Modified Relative Element Address Designate (MREAD).
Esta tcnica um esquema de codificao seqencial linha-a-linha, onde se transmite apenas a
informao nova (em relao a linha anterior) que est contida na linha sendo codificada. A
linha anterior chamada de linha de referncia. No fax Grupo 4, a linha de referncia para a
primeira linha da imagem uma linha imaginria composta somente de pixels brancos. J na
codificao padronizada para o Grupo 3, para obtermos a primeira linha de referncia, j que
no existe linha anterior, utilizada a codificao unidimensional com o cdigo MHC. Caso
haja uma falha na transmisso dos dados codificados de uma linha, o erro resultante vai se
propagar pelas linhas seguintes. Para evitar esse efeito, transmitida regularmente uma linha
codificada no modo unidimensional. A tcnica MHC aplicada ento primeira linha de cada K
sucessivas linhas, de modo a confinar a rea danificada em caso de erros devidos a falhas de
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
199
transmisso. As subseqentes (K - 1) linhas so codificadas linha-a-linha, pela tcnica
bidimensional MREAD.

Tabela 7 - Cdigo de Huffman Modificado - Cdigos de terminao (PCT)
Run-
length
Palavra-cdigo
Branco
Palavra-cdigo
Preto
Run-
length
Palavra-cdigo
Branco
Palavra-cdigo
Preto
0 00110101 0000110111 32 00011011 000001101010
1 000111 010 33 00010010 000001101011
2 0111 11 34 00010011 000011010010
3 1000 10 35 00010100 000011010011
4 1011 011 36 00010101 000011010100
5 1100 0011 37 00010110 000011010101
6 1110 0010 38 00010111 000011010110
7 1111 00011 39 00101000 000011010111
8 10011 000101 40 00101001 000001101100
9 10100 000100 41 00101010 000001101101
10 00111 0000100 42 00101011 000011011010
11 01000 0000101 43 00101100 000011011011
12 001000 0000111 44 00101011 000001010100
13 000011 00000100 45 00000100 000001010101
14 110100 00000111 46 00000101 000001010110
15 110101 000011000 47 00001010 000001010111
16 101010 0000010011 48 00001011 000001100100
17 101011 0000011000 49 01010010 000001100101
18 0100111 0000001000 50 01010011 000001010010
19 0001100 00001100111 51 01010100 000001010011
20 0001000 00001101000 52 01010101 000000100100
21 0010111 00001101100 53 00100100 000000110111
22 0000011 00000110111 54 00100101 000000111000
23 0000100 00000101000 55 01011000 000000100111
24 0101000 00000010111 56 01011001 000000101000
25 0101011 00000011000 57 01011010 000001011000
26 0010011 000011001010 58 01011011 000001011001
27 0100100 000011001011 59 01001010 000000101011
28 0011000 000011001100 60 01001011 000000101100
29 00000010 000011001101 61 00110010 000001011010
30 00000011 000001101000 62 00110011 000001100110
31 00011010 000001101001 63 00110100 000001100111

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
200


Tabela 8 - Cdigo de Huffman Modificado - Cdigos de composio (PCC)
Run-
length
Palavra-cdigo
Branco
Palavra-cdigo
Preto
64 11011 0000001111
128 10010 000011001000
192 010111 000011001001
256 010111 000001011011
320 00110110 000000110011
384 00110111 000000110100
448 01100100 000000110101
512 01100101 0000001101100
576 01101000 0000001101101
640 01100111 0000001001010
704 011001100 0000001001011
768 011001101 0000001001100
832 011010010 0000001001101
896 011010011 0000001110010
960 011010100 0000001110011
1024 011010101 0000001110100
1088 011010110 0000001110100
1152 011010111 0000001110110
1216 011011000 0000001110111
1280 011011001 0000001010010
1344 011011010 0000001010011
1408 011011011 0000001010100
1472 010011000 0000001010101
1536 010011001 0000001011010
1600 010011010 0000001011011
1664 011000 0000001100100
1728 010011011 0000001100101

A idia bsica da tcnica MREAD codificar a posio de cada transio de preto para
branco ou de branco para preto em relao a um elemento de referncia a
0
, situado na linha
atual.
A figura 13 ilustra esquematicamente o procedimento de codificao MREAD em um
fluxograma. Atravs dela pode-se notar que inicialmente necessrio localizar os elementos de
referncia para o processo de codificao, que so:
a
o
: pixel de incio na linha atual, que se torna o pixel de referncia;
a
1
: pixel onde ocorre a primeira transio direita de a
0
na linha atual;
a
2
: pixel onde ocorre a primeira transio direita de a
1
na linha atual;
b
1
: pixel de cor oposta a a
0
, que indica a primeira transio direita de a
0
na linha
anterior;
b
2
: pixel onde ocorre a primeira transio direita de b
1
na linha anterior.

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
201
Inci o de Nova
Codi fi cao
Col ocar a0 antes
do primeiro pi xel
Detetar a1
Detetar b1
Detetar b2
B2
esquerda
de a1?
|a1,b1| 3?
Detetar a2
Codi fi cao
de Passagem
Codi fi cao
Hori zontal
Codi fi cao
Verti cal
Col ocar a0
embai xo de b2
Col ocar a0
sobre a2
Col ocar a0
sobre a1
Fim da Linha?
Fim da
Codi fi cao
Sim
Sim Sim
No
No
No


Figura 13 - Procedimento de codificao MREAD. A notao |a
1
,b
1
| indica o valor absoluto da
distncia entre os elementos a
1
e b
1
.

Se algum destes pixels no puder ser detetado porque a correspondente transio no
existe, o valor correspondente ser atribudo a um pixel imaginrio direita do ltimo pixel da
linha em questo. A figura 14 ilustra duas situaes possveis e os correspondentes elementos de
referncia detetados.
Aps a identificao dos elementos de referncia so efetuados dois testes simples para
determinar um dos trs modos de codificao possveis, que so: modo de passagem, modo
vertical e modo horizontal. O teste inicial compara a localizao de b
2
em relao a a
1
. O
segundo calcula a distncia (em pixels) entre a
1
e b
1
e compara com o valor 3. De acordo com os
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
202

resultados destes testes, um dos trs modos de codificao 2-D ser utilizado, um novo elemento
de referncia a
0
ser determinado e o procedimento recomea, conforme indica o fluxograma da
figura 13.

Refernci a
Codi fi cao
a0
b1 b2
a1 Passagem
Prximo a0
= 0
= 1

(a)

Refernci a
Codi fi cao
= 0
= 1
a0a1
Hori zontal
a0 a1 a2
a1a2
b1 b2
a1b1
Verti cal

(b)
Figura 14 - Parmetros de codificao 2-D para os casos: (a) modo de passagem; (b) modos
horizontal e vertical.


Tabela 9 - Palavras-cdigo para codificao CCITT 2-D
Modo Elementos a ser em
codificados
Notao Palavr a-Cdigo
Passagem b
1
, b
2
P 0001
Horizontal a
0
a
1
, a
1
a
2
H 001 + M(a
0
a
1
) + M(a
1
a
2
)



Vertical
a
1
sob b
1
a
1
1 pixel direita de b
1
a
1
2 pixels direita de b
1
a
1
3 pixels direita de b
1

a
1
b
1
= 0
a
1
b
1
= 1
a
1
b
1
= 2
a
1
b
1
= 3
V (0)
V
D
(1)
V
D
(2)
V
D
(3)
1
011
000011
0000011
a
1
1 pixel esquerda de b
1
a
1
2 pixels esquerda de b
1
a
1
3 pixels esquerda de b
1
a
1
b
1
= 1
a
1
b
1
= 2
a
1
b
1
= 3
V
E
(1)
V
E
(2)
V
E
(3)
010
000010
0000010
Nota: A codificao M(.) do modo horizontal significa que as distncias indicadas entre
parnteses so codificadas usando as palavras-cdigo das tabelas 7 e 8.

A tabela 9 define os cdigos utilizados para cada um dos trs modos possveis. No
modo de passagem, que especificamente exclui o caso em que b
2
est diretamente acima de a
1
,
apenas a palavra-cdigo 0001 basta. Como se pode ver na figura 14(a), este modo identifica
seqncias de pixels brancos ou pretos na linha de referncia que no sobrepem as seqncias
de branco ou preto da linha atual. No modo horizontal, as distncias de a
0
at a
1
e de a
1
at a
2

devem ser codificadas usando os cdigos MHC das tabelas 7 e 8 e os resultados concatenados
ao padro 001. Este procedimento est indicado na tabela 9 usando a notao 001 + M(a
0
a
1
) +
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
203
M(a
1
a
2
). Finalmente, no modo vertical, uma das sete palavras-cdigo correspondentes
distncia entre a
1
e b
1
atribuda.
Convm notar que embora a figura 14(b) indique os modos de codificao horizontal e
vertical para fins ilustrativos, ela reflete uma situao em que a codificao ser no modo
vertical, uma vez que b
2
est direita de a
1
e a distncia entre a
1
e b
1
menor que 3. Logo, a
situao ilustrada V
E
(2), implicando no uso da palavra-cdigo 000010. Na prxima iterao
a
0
ser movido para a posio onde at ento estava a
1
.
Leitura complementar
O leitor interessado em um estudo comparativo de diversas tcnicas de codificao e
compresso de imagens binrias, desenvolvidas no final da dcada de 70, quando o CCITT
estudava qual(is) delas utilizar no padro G3 dos equipamentos fac-smile, encontrar em
[Allens et al. 1980] uma boa resenha em portugus sobre o tema. Dentre outros artigos
relevantes na rea de compresso e codificao de imagens binrias, podemos indicar: [Hunter
1980], [Ting 1980], [Kawaguchi 1980], [Yasuda 1980], [Arps 1980] e [Usubuchi 1980].
[Pratt et al. 1980] apresentam um interessante sistema de compresso de dados hbrido,
em que os trechos de um documento a ser transmitido por fax que forem reconhecidos como
texto passam pela ao de um software de reconhecimento de caracteres (OCR) e so
representados por seu cdigo ASCII, enquanto os demais trechos da imagem (linhas, figuras,
informao ilegvel) so codificados por tcnicas run-length.
Jayme [Jayme 1992] [Jayme et al. 1993] prope um mtodo para compactao de
imagens de assinaturas digitalizadas com dois tons de cinza.
6.6.2 JPEG
Sigla de Joint Photographic Experts Group, comit formado pelo ISO, ITU-T e IEC que
originou o padro. Estabelecido em 1991, foi projetado para comprimir imagens naturais
coloridas ou monocromticas com at 65536 x 65536 pixels.
Caractersticas do JPEG
O JPEG otimizado para fotografias, figuras e imagens naturais (imagens em tom contnuo de
cores ou nveis de cinza, sem bordas abruptas). No caso de imagens com poucas cores (e.g.
linhas, figuras simples, caracteres etc.), seu desempenho inferior, por exemplo, ao padro GIF
(Graphics Interchange Format). O JPEG no deve ser usado com imagens bitonais (preto e
branco), sendo necessrio existir, no mnimo, 16 nveis de cinza.
Quanto resoluo de cores, o JPEG toma como base uma imagem com 8 bits/amostra,
ou seja, 24 bits/pixel para imagens em cores ou 8 bits/pixel para tons de cinza. No caso de
compresso sem perdas permitido usar qualquer valor entre 2 e 16 bits/amostra.
Apesar de existirem implementaes para compresso sem perdas, o JPEG
fundamentalmente uma tcnica de compresso com perdas baseado na DCT (Transformada
Discreta de Cossenos). O algoritmo explora as limitaes do olho humano, notadamente o fato
de que variaes de cor so menos perceptveis que variaes de brilho.
O grau de perda pode ser variado ajustando-se parmetros de compresso. Para imagens
coloridas as taxas de compresso podem variar de 10:1 a 20:1 sem perda visvel. Taxas de 30:1
a 50:1 podem ser atingidas com pequenas a moderadas distores. Para imagens de baixa
qualidade (do tipo preview) taxas de at 100:1 so praticveis.
Imagens em tons de cinza no podem ser comprimidas a taxas to elevadas porque,
como j foi citado, o olho humano mais sensvel a variaes de brilho do que a variaes de
cor. Perdas visveis podem surgir quando imagens monocromticas so comprimidas a taxas
maiores que 5:1.
O JPEG tem quatro modos de operao:
seqencial: a imagem codificada em uma nica varredura (da esquerda para a direita, de
alto a baixo);
progressiva: a imagem codificada em mltiplas varreduras, aumentando a qualidade e
resoluo a cada nova varredura;
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
204

hierrquica: a imagem codificada em mltiplas resolues;
sem perda.
A vantagem das tcnicas progressiva e hierrquica permitir ao usurio selecionar um
nvel de qualidade varivel para a imagem. Por exemplo, num meio de transmisso lento pode
ser desejvel transmitir uma imagem de menor qualidade. Numa aplicao tipo browser, o
usurio poderia escolher uma imagem especfica dentre diversas imagens de baixa resoluo
para ento solicit-la em maiores detalhes.
importante lembrar que o JPEG no um formato de arquivo, mas apenas uma famlia
de algoritmos de compresso. Inicialmente o comit no estabeleceu nenhum padro para o
formato de arquivo a ser utilizado. O que normalmente se conhece como 'arquivo JPEG' um
formato de arquivo chamado JFIF (JPEG File Interchange Format) definido pela C-Cube
Microsystems e que se tornou o padro de facto na Internet. Existem outros formatos de
arquivos, inclusive o SPIFF (compatvel com o JFIF), que foi definido posteriormente pelo
comit JPEG.
Codificador seqencial
A codificao pode ser dividida em uma seqncia de operaes, apresentada na figura 15:
diviso da imagem em blocos 8 x 8, clculo dos coeficientes da DCT, quantizao, reordenao
dos coeficientes em zig-zag e codificao baseada em entropia.
DCT (Transformada Discreta de Cossenos)
A imagem dividida em blocos no sobrepostos de 8 x 8 pixels. Cada um dos 64 elementos de
um bloco apresentar um valor no intervalo [0, 2
p
-1]. Estes valores so deslocados para o
intervalo [- (2
p-1
) , (2
p-1
) - 1]. Numa imagem monocromtica na qual p = 8, por exemplo, os
valores no intervalo [0 , 255] seriam deslocados para [-128 , 127].
A DCT codificar estes valores, transportando-os do domnio espacial para o domnio
de freqncias segundo a equao:

F u v C u C v f x y
u x v y
y x
( , ) ( ) ( ) ( , ) cos
( )
cos
( )
=
+ +
= =

1
4
2 1
16
2 1
16
0
7
0
7
t t

(6.41)

onde

C u C v ( ), ( ) =
1
2
para u , v = 0
(6.42)

C u C v ( ), ( ) = 0 para u , v > 0 (6.43)

Dos valores resultantes, F(0,0) chamado coeficiente DC e os demais 63 valores so
denominados coeficientes AC.
Numa imagem tpica, muitos dos coeficientes tero valor zero ou prximo de zero. Estes
componentes sero descartados no processo de compactao de dados.
Note-se que a DCT em si no compacta os dados. A anlise dos valores resultantes da
DCT que permite escolher os dados que podem ser descartados sem perda visvel de qualidade
da imagem.

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
205
Imagem
(blocos
8x8)
Imagem
codi fi cada
Imagem
decodi-
fi cada
DCT Quanti zador
Tabel a de
quanti zao
Ordenao
zi g-zag
Codi fi cador
por entropi a
(Huffman)
Tabel a de
codi fi cao
Tabel a de
quanti zao
Tabel a de
decodi-
fi cao
Dequan-
ti zador
DCT
i nversa
Decodi-
fi cador
por entropi a
(Huffman)

Figura 15 - Esquema bsico de codificao e decodificao JPEG seqencial.

Quantizao
Esta etapa aumenta o nmero de coeficientes com valor zero, valendo-se da reduo da
amplitude dos coeficientes que contribuem pouco para a qualidade de imagem. A quantizao
tambm descarta informao que no visualmente significativa.
Os coeficientes resultantes da etapa de DCT so transformados de acordo com a
frmula:

F (u,v) round
F u v
Q u v
q =

(
( , )
( , )

(6.44)

onde os valores Q(u,v) constituem a tabela de quantizao. Cada um dos elementos Q(u,v) um
nmero inteiro no intervalo 1 a 255. O padro permite at quatro tabelas de quantizao.
Ordenao zig-zag
Os 63 coeficientes AC so reordenados numa seqncia zig-zag (figura 16(a)) visando facilitar a
etapa de codificao por entropia. A reordenao coloca os coeficientes de baixa freqncia,
que tm maior probabilidade de serem diferentes de zero, antes dos coeficientes de alta
freqncia. J os coeficientes DC, que representam os valores mdios dos blocos de 64 pixels,
so codificados por meio de tcnicas preditivas (figura 16(b)) devido forte correlao existente
entre os coeficientes DC de blocos adjacentes.
Codificador por entropia
O JPEG especifica dois mtodos que podem ser usados para esta etapa de codificao:
algoritmo de Huffman ou codificao aritmtica. Descrevemos a seguir o funcionamento do
codificador Huffman.
Na sada do ordenador zig-zag encontram-se muitos coeficientes com valor zero devido
s etapas de DCT+quantizao. Seqncias de coeficientes com valor zero seguida de um
coeficiente com valor diferente de zero so codificadas em run-length segundo o formato
chamado smbolo intermedirio:

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
206

Quantidade de coeficientes
com valor 0
Nmero de bits necessrios para
codificar o coeficiente diferente de 0
Valor do
coeficiente
diferente de 0
Run-length Size Amplitude

Por exemplo, a seqncia de coeficientes 0, 0, 0, 0, 0, 0, 476 ser codificada como (6,9)
(476). Onde 6 a quantidade de zeros consecutivos, 476 o valor do coeficiente diferente de zero
que segue a seqncia de zeros, 9 o nmero de bits necessrio para codificar 476.
O termo Run-length usa 4 bits de maneira que podemos representar seqncias de at 15
zeros. Caso existam mais do que 15 zeros usamos o smbolo intermedirio (15,0) como
indicador de 16 zeros. Podemos ter at trs (15,0) consecutivos. Por exemplo a seqncia de
smbolos intermedirios (15,0) (15,0) (7,4) (12) corresponde a uma seqncia de 16+16+7 = 39
coeficientes zero seguido de um coeficiente igual a 12.
O termo Size usa 4 bits para representar valores de 0 a 10. 10 o nmero mximo de
bits necessrio para representar o termo Amplitude cujo valor est no intervalo [-1024, 1023]. O
smbolo (0,0) significa fim do bloco 8x8 (EOB, end of block).
J os coeficientes DC so codificados na forma:

Nmero de bits necessrio para codificar
o coeficiente DC
Valor do coeficiente DC

Cada smbolo intermedirio ento transformado numa seqncia binria de
comprimento varivel de acordo com o algoritmo de Huffman: aos smbolos com maior
probabilidade de ocorrncia so atribudas seqncias binrias mais curtas e aos de menor
probabilidade atribuem-se seqncias binrias mais longas. As tabelas de Huffman para a
codificao seqencial JPEG so encontradas em [Pennenbaker e Mitchell 1993].

Coefi ci ente DC

(a)

+
-
Amostra
anteri or
Amostra DCi
Amostra DCi-1
DCi - DCi-1


(b)
Figura 16 - (a) Ordenao zig-zag; (b) codificador preditivo dos coeficientes DC.

Decodificador seqencial
A seqncia binria da imagem codificada primeiro convertida em coeficientes DCT atravs
do decodificador por entropia. Estes coeficientes so ento dequantizados de acordo com a
frmula:

F u v F u v Q u v ( , ) ( , ) ( , ) = q (6.45)

Os coeficientes dequantizados so transportados do domnio da freqncia para o domnio
espacial atravs da DCT inversa:
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
207

f x y C u C v F u v
u x v y
C(u),C(v) u v
C(u),C(v) u v
v u
( , ) ( ) ( ) ( , ) cos
( )
cos
( )
,
,
=
+ +
= =
= >
= =

1
4
2 1
16
2 1
16
1
2
0
1 0
0
7
0
7
t t
onde
para
para

(6.46)
(6.47)
(6.48)

Aps a DCT inversa, os valores decodificados so deslocados para o intervalo
[0 , 2
P
- 1].
Compresso progressiva
Em algumas aplicaes o tamanho da imagem e/ou a velocidade do canal de transmisso pode
tornar o processo de codificao-transmisso-decodificao muito lento. Pode ento ser
vantajoso, ou mesmo necessrio, ter acesso rapidamente imagem completa mesmo que ela seja
de baixa qualidade. No modo progressivo a codificao JPEG feita por uma seqncia de
varreduras da imagem, onde cada varredura gera um subconjunto dos coeficientes DCT. J na
primeira varredura temos a imagem completa, de menor qualidade, mas em menor tempo que no
modo seqencial.
A operao pode ser executada por seleo espectral, aproximao sucessiva ou por
uma combinao de ambas. Na seleo espectral os coeficientes da DCT so agrupados em
diversas faixas espectrais: coeficientes que representam baixas freqncias so enviados
primeiro. Por exemplo, para uma seqncia de 4 faixas espectrais podemos ter:
Faixa 1: coeficientes DC;
Faixa 2: coeficientes AC
1
e AC
2
;
Faixa 3: coeficientes AC
3
...AC
6
;
Faixa 4: coeficientes AC
7
...AC
63

Na tcnica de aproximao sucessiva todos os coeficientes da DCT so enviados
inicialmente com baixa preciso e, posteriormente, os valores so refinados a cada nova
varredura.
Codificao seqencial sem perdas
A compresso sem perdas baseada em codificao preditiva atingindo taxas de cerca de 2:1.
Em lugar de se codificar o valor da amostra, codifica-se a diferena entre o valor real e o valor
previsto atravs de algoritmos por entropia.
Considerando-se que o pixel X tem como vizinhos acima e esquerda os pixels A, B e
C:

C B
A X

o valor previsto pode ser calculado por uma das seguintes frmulas:


0 sem predio
1 X = A
2 X = B
3 X = C
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
208

4 X = A + B - C
5 X = A + (B - C)/2
6 X = B + (A - C)/2
7 X = (A + B)/2

Outros aspectos do JPEG
JPEG x GIF
O JPEG no substitui o GIF. O GIF superior ao JPEG quando se trata de codificar imagens
com poucas cores ou grandes reas com o mesmo valor de pixel. O JPEG, ao contrrio do GIF,
distorce imagens que contenham bordas bem definidas, isto , transies abruptas nos valores
dos pixels (o exemplo extremo so caracteres pretos sobre fundo branco). Nestes casos a
imagem JPEG apresenta-se borrada. O bom desempenho do JPEG obtido com imagens full-
color (at 8 bits/amostra) de tom contnuo, sem transies bruscas de cores. J o GIF limitado
a um mapa de cores (palheta) de 256 cores. Informaes adicionais sobre os formatos GIF e JPG
so fornecidas no Apndice A.
Parmetros de qualidade
Os compressores JPEG permitem trabalhar com os parmetros qualidade de imagem x tamanho
de arquivo atravs da seleo de um nvel de qualidade. No entanto, os nveis de qualidade no
so padronizados:
a Apple costumava usar uma escala de 0 a 4, tendo alterado para uma escala 0-100 nos
softwares mais recentes;
o Paint Shop Pro usa uma escala de 100 invertida, isto , quanto menor o valor numrico,
maior a qualidade da imagem;
o Adobe Photoshop permite escolher entre os nveis high, medium e low.
Desta forma, dizer que um arquivo JPEG tem 'qualidade 75' no tem significado a
menos que se especifique tambm o software utilizado na compresso. Esta falta de
padronizao, no entanto, no impede o intercmbio de arquivos JPEG.
Note-se que mesmo ajustando o nvel de qualidade para o valor mximo, a compresso
ser com perdas. O algoritmo para JPEG sem perdas completamente diferente do JPEG
normal, tendo como caracterstica principal no usar a DCT.
Pixel transparente
Alguns tipos de arquivos de imagem, como o GIF, permitem escolher um valor de pixel no
usado como pixel transparente (sem cor). No JPEG, devido s perdas inerentes do algoritmo,
isto no possvel: um pixel no tem necessariamente o mesmo valor inicial uma vez que
pequenos erros so permitidos como parte do processo de compresso.
Acumulao de perdas
A finalidade do JPEG ser um padro para armazenamento e transmisso de imagens. Para a
manipulao de imagens deve-se primeiro converter o arquivo JPEG para algum formato full-
color sem perdas (e.g. o TIFF), fazer as alteraes na imagem e ento reconvert-la para JPEG.
Deve-se atentar para o fato de que sucessivas converses JPEG outro formato edio
JPEG introduzem perdas que se acumulam a cada nova reconverso.
M-JPEG
Apesar do JPEG ter sido concebido como um padro de compresso para imagens estticas,
muitos fabricantes aplicaram o JPEG para seqncias de imagens de vdeo tratando cada quadro
como uma imagem isolada, dando origem ao que se denomina M-JPEG (motion JPEG).
Infelizmente, na falta de um padro estabelecido, cada fabricante implementou a tcnica sua
maneira.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
209
O padro reconhecido para compresso de imagens em movimento o MPEG (Moving
Pictures Experts Group), que alm de comprimir a imagem de um quadro isolado como o JPEG,
vale-se das redundncias existentes entre quadros sucessivos (redundncia temporal ou
interframe) para obter maiores taxas de compresso. Por este motivo o MPEG tem taxa de
compresso cerca de 3 vezes superior ao M-JPEG. A codificao interframe, no entanto,
dificulta a edio de imagens quadro-a-quadro, motivo este que tornou o M-JPEG muito popular
nos equipamentos de edio de vdeo.
Leitura complementar
Para uma descrio completa e formal do padro JPEG, sugerimos [Pennenbaker e Mitchell
1993] e [Wallace 1991].
O artigo de Furht [Furht 1995a] descreve didaticamente as etapas de codificao e
decodificao JPEG e compara o desempenho do algoritmo sobre diferentes imagens.
Aos leitores interessados nos aspectos de custo computacional do algoritmo JPEG,
sugerimos [Monnes e Furht 1994].
6.6.3 H.261
Estabelecido em 1991, o H.261 faz parte de um conjunto de padres do ITU-T para servios
audiovisuais em telecomunicaes. Alm do H.261, que trata da codificao/decodificao de
sinais de vdeo, temos o H.221 (estrutura de quadros), H.230 (controle de sincronismo de
quadro), H.242 (comunicao entre terminais audiovisuais) e H.320 (equipamentos de sistema e
terminais). Codificadores/decodificadores de udio so especificados por outros padres (o
G.725, por exemplo).
Caractersticas do H.261
O padro tambm conhecido como p x 64 porque pode operar nas diversas capacidades de um
canal ISDN (Integrated Service Digital Network) (taxas de p x 64 kbps, para p = 1, ..., 30). Para
p = 1 e 2, a limitada largura de banda disponvel, permite somente comunicao face-a-face
(videofone). Para p > 6 imagens mais complexas podem ser transmitidas permitindo aplicaes
de videoconferncia. Os formatos de imagem permitidos so CIF (Common Intermediate
Format) e QCIF (Quarter CIF).

Bl oco mai s
semel hante
Quadro
anteri or
Quadro
atual

Figura 17 - Princpio da codificao interframe

O H.261 tem muitas semelhanas com o JPEG: ambos utilizam as tcnicas de dividir a
imagem em pequenos blocos e nelas aplicar a DCT, quantizao e codificao por comprimento
varivel. A maior diferena que o JPEG codifica cada imagem (ou quadro) individualmente
(codificao intraframe) enquanto que o H.261, alm da codificao intraframe, usa codificao
interframe (figura 17): o quadro anterior usado para prever o quadro atual. Como resultado,
somente a diferena entre eles (quadro anterior e previsto), geralmente de pequena magnitude,
transmitida. Com esta tcnica as taxas de compresso atingidas variam entre 100:1 a 2000:1.
Entretanto, as tcnicas de predio de movimento so utilizadas de forma limitada: s o
quadro imediatamente anterior considerado. A razo desta limitao fundamenta-se no fato de
que o padro destina-se comunicao em tempo real onde necessrio reduzir o atraso de
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
210

processamento. Tambm deve-se levar em conta que as aplicaes do H.261, videofone e
videoconferncia, no so intensivas em movimento.
O tipo de aplicao tambm dirigiu o padro para um equilbrio entre a complexidade
do codificador e do decodificador, uma vez que ambos so necessrios para comunicao em
tempo real. A estrutura de codificao e seus parmetros foram escolhidos visando aplicaes
com baixa taxa de dados.
O H.261 a especificao de um conjunto de protocolos que todo fluxo de dados
(bitstream) codificado tem que seguir e tambm um conjunto de operaes que todo
decodificador compatvel com o padro tem que ser capaz de executar.
Estrutura de dados
O H.261 tem um fluxo de dados com a seguinte estrutura hierrquica: Imagens, Grupo de
Blocos (GOB), Macro Blocos (MB) e Blocos. Um MB (macro bloco) composto de 4 blocos 8
x 8 de luminncia (Y) e dois blocos 8 x 8 de crominncia (Cr e Cb). Um GOB (grupo de blocos)
composto de 3 x 11 MBs. Uma imagem CIF contm 12 GOBs e uma imagem QCIF, 3 GOBs.
Estes conceitos esto ilustrados na figura 18.
O cabealho da camada imagem contm:
PSC (picture start code): 20 bits;
TR (temporal reference): 5 bits, nmero do quadro entrante;
PTYPE (type information): CIF ou QCIF;
bits do usurio;
segue um nmero de GOB.
O cabealho da camada GOB contm:
GBSC (group of blocks start code): 16 bits;
GN (group number): 4 bits, endereo do GOB;
GQUANT (quantizer information): tamanho do passo do quantizador (entre 1 e 31);
bits do usurio;
segue um nmero de MB.
O cabealho do MB contm:
MBA (macroblock address): MB previamente codificado;
MTYPE (type information): existem 10 tipos;
MQUANT (quantizer): passo de quantizao normalizado;
MVD (motion vector data);
CBP (coded block pattern): indica a localizao do bloco codificado;
No bloco temos:
coeficientes da transformada quantizados;
EOB (end of block);
O tipos de MB so essencialmente quatro: intra, inter, inter com compensao de
movimento e inter com compensao de movimento com filtro.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
211

1 2
3 4
5 6
Y Cb Cr
MB (Macro Bloco)
1 2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18 19 20 21 22
23 24 25 26 27 28 29 30 31 32 33
GOB (Grupo de Bl ocos)
1 2
3
5
7
9
11 12
10
8
6
4
Imagem
CIF
1
2
3
Imagem
QCIF

Figura 18 - Estrutura hierrquica dos dados H.261.

Codificador
O algoritmo de codificao H.261 (figura 19) consiste em:
compresso intraframe baseada em DCT;
predio interframe baseado em DPCM e compensao de movimento.
O algoritmo inicia com uma codificao intraframe usando DCT e quantizao e
enviando o resultado para o multiplex de vdeo. O novo quadro descompactado via
dequantizador e DCT inversa, armazenado na memria de quadro para uso na codificao
interframe. Na codificao interframe a predio baseada no algoritmo DPCM usada para
comparar cada macro bloco (MB) do quadro atual com os MBs do quadro anterior. As
diferenas so calculadas, como valores de erro, codificados via DCT e quantizao, enviadas
para o multiplex de vdeo com ou sem vetores de movimento. Na etapa final utiliza-se
codificao por mtodos entrpicos (Huffman, por exemplo).
Decodificador
A figura 20 ilustra esquematicamente o processo de decodificao H.261. Os coeficientes,
exceto os coeficientes DC intraframes, so recuperados de acordo com uma tabela de
dequantizao. Os coeficientes DC intraframe so uniformemente quantizados com passo fixo
de 8 e codificados com 8 bits.
O padro requer uma DCT inversa prxima da DCT inversa ideal de 64 bits. Para evitar
erros de DCT inversa e propagao de erros introduzidos pelo canal, pelo menos 1 em cada 132
quadros tem que ser codificado intraframe.
Leitura complementar
Maiores detalhes sobre o H.261 podem ser vistos em [Aranvid et al. 1993] e [Furht 1995b].

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
212

+
+
+
+
Si nal
de vdeo
Si nal
codi fi cado
DCT
DCT
i nversa
Dequan-
ti zador
Quanti zador
Codi fi cador
multipl ex de
vdeo / codi f.
Huffman
Memri a de
quadro do
preditor

Figura 19 - Codificador H.261.


+
+
Bit-
stream
Imagem
recuperada
DCT
i nversa
Dequan-
ti zador
Preditor de
compensao
de movimento
e memri a de
quadro
Decodif. por
comprimento
vari vel
Fi ltro
Li ga / desl i ga
filt
Vetores de movimento
Buffer

Figura 20 - Decodificador H.261.

6.6.4 H.263
O H.263 um padro para comunicao visual recentemente estabelecido pelo ITU-T capaz de
operar a baixa taxas de dados. O padro foi desenvolvido tendo em vista a baixa capacidade da
rede telefnica convencional e das comunicaes sem fio.
Com os mtodos de codificao atuais possvel conseguir razovel qualidade de
imagem (para algumas aplicaes) a taxas de 64 kbps. Abaixo disto a transmisso s possvel
a baixa taxa de quadros alm de surgirem distores na imagem. Tendo em vista estas
limitaes, o ITU-T desenvolveu um conjunto de especificaes que permitem a utilizao de
canais de baixa capacidade na comunicao multimdia. Para a codificao de vdeo dois
algoritmos foram desenvolvidos: H.263 e H.263/L.
O H.263 foi baseado em tecnologia existente em 1995 e desenvolvido para oferecer
qualidade de imagem significativamente superior ao H.261. No desenvolvimento do padro foi
considerada a mxima capacidade de transmisso da rede telefnica convencional, poca 28,8
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
213
kbps. A taxas de dados to baixas necessrio manter o mais baixo possvel o overhead na
informao transmitida.
Dentre as caractersticas do H.263, destacamos:
baixa complexidade (e custo);
interoperabilidade e/ou coexistncia com outros padres de comunicao visual (e.g.,
H.261);
robustez quanto a erros introduzidos pelos canais de comunicao;
flexibilidade para extenses futuras como operao a taxas de dados mais elevadas;
parmetros de qualidade de servios tais como resoluo de imagem, atraso de sinal, taxa de
quadros, qualidade de cores etc.;
a exemplo do H.261, a codificao um processo hbrido de predio de movimento
interframe com codificao DCT do erro de predio;
estrutura do GOB mais simples que no H.261;
o uso da compensao de movimento opcional no codificador;
diversos parmetros podem ser variados para controlar a taxa de dados: processamento do
sinal de vdeo prioritrio codificao do sinal da fonte, escala do quantizador, seleo de
modos e taxa de quadros. O decodificador pode informar as escolhas feitas quanto a
resoluo temporal x resoluo espacial por meios externos (protocolo H.245);
quatro mtodos de codificao avanados: vetor de movimento irrestrito, predio avanada,
quadros P-B e codificao aritmtica baseada em sintaxe;
o codificador pode operar com cinco formatos de imagem: sub-QCIF, QCIF, CIF, 4CIF E
16CIF. Os decodificadores tm que operar, no mnimo, com sub-QCIF e QCIF. Para os
codificadores somente um dos formatos, sub-QCIF ou QCIF, obrigatrio.
Leitura complementar
Outros detalhes sobre o H.263 podem ser vistos em [Rijske 1996] e [Herman 1996].
6.6.5 MPEG
O comit MPEG (Moving Pictures Experts Group) foi estabelecido pelo ISO e o IEC em 1988
com o objetivo de desenvolver padres de codificao de vdeo e udio associado para
armazenamento em mdia digital. O objetivo inicial do MPEG foi estabelecer padres para a
codificao de vdeo (e udio) a trs taxas de dados: 1,5, 10 e 40 Mbps, conhecidos como
MPEG-1, 2 e 3, respectivamente.

Tabela 10 - Tipos de MPEG
MPEG Ano Aplicao tpica Taxa de dados tpica
1 1992 vdeo CD 1,5 Mbps
2 1994 vdeo com qualidade broadcast 4-100 Mbps
4 verso 1 aprovada
em outubro de
1998
verso 2 prevista
para dezembro de
1999
comunicao multimdia -
7 previsto para julho
de 2001
interface de descrio de contedo
multimdia
-

O MPEG-1 visava aplicaes como o vdeo-CD (armazenamento de vdeo e udio
digital com qualidade similar a do VHS). O MPEG-2 era destinado a aplicaes de maior
qualidade e resoluo (televiso broadcast). O MPEG-3 foi abandonado em julho de 1993
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
214

quando se verificou que as funcionalidades do MPEG-2 permitiam-no abranger o tipo de
aplicao que o MPEG-3 pretendia atingir: a televiso de alta definio (HDTV).
Atualmente o comit trabalha na definio dos MPEG-4 e 7 que no pretendem se
restringir a aplicaes de vdeo, mas a padronizar a codificao (MPEG-4) e a descrio do
contedo de aplicaes multimdia (MPEG-7). A tabela 10 resume os vrios tipos de MPEG.
Caractersticas do MPEG 1 e 2
O MPEG primariamente uma especificao para a sintaxe que um fluxo de dados (bitstream)
compatvel com o padro deve seguir. Tambm especificado um processo de decodificao
tpico que auxilia na interpretao da sintaxe do bitstream. Esta abordagem permite o
intercmbio de dados mas no restringe inovaes, ou a implementao de sistemas
proprietrios, na criao (codificao) e na decodificao do bitstream MPEG. O padro
consiste de trs partes: sincronizao de udio e vdeo, vdeo e udio, ilustrados
esquematicamente na figura 21.

Bit-stream
MPEG
Decodifi cador
de si stema
Bit-stream
de vdeo
Bit-stream
de udi o
Timing
Decodifi cador
de vdeo
Decodifi cador
de udi o
Si nal
de vdeo
Si nal
de udi o

Figura 21 - Esquema genrico da decodificao MPEG.

A compresso de sinais de vdeo pode atingir taxas de at 200:1. Ambos os tipos de
aplicaes, simtricas e assimtricas, so atendidas pelo MPEG. Aplicaes assimtricas
caracterizam-se pelo uso freqente da decodificao enquanto que o processo de codificao
realizado uma s vez, como por exemplo o vdeo sob demanda e o ensino distncia.
Aplicaes simtricas requerem igual uso tanto da codificao quanto da decodificao. As
aplicaes de tempo real como a videoconferncia so exemplos tpicos.
Na elaborao do MPEG houve preocupao em se prever suporte para uma srie de
caractersticas tipicamente encontradas em equipamentos de gravao e transmisso de vdeo:
acesso aleatrio, busca rpida em avano (forward search) e em retrocesso (reverse search),
playback reverso, sincronismo entre os sinais de udio e vdeo, capacidade de tratar erros,
editabilidade e flexibilidade de formatos.
MPEG-1
Originalmente desenvolvido para estabelecer um padro para o armazenamento de udio e vdeo
em mdia digital, o MPEG-1 otimizado para operar a taxas de 1,5 Mbps (padro do CD de
udio). Tipicamente, o sinal de udio toma 192 kbps, o sinal de vdeo 1,15 Mbps e o restante
usado para os dados do sistema. Apenas o modo de varredura seqencial (no entrelaado)
suportado. Suas aplicaes incluem multimdia interativa e vdeo-CD. O formato de imagem
tpico de 320 x 240 pixels. Diferentemente dos padres para videoconferncia, o MPEG-1
preocupa-se mais em estabelecer parmetros para se obter determinados nveis de qualidade do
que em conseguir transmitir informao a uma certa taxa de dados.
MPEG-2
compatvel com o MPEG-1 mas inclui extenses para abranger uma maior variedade de
aplicaes. O MPEG-2 foi concebido inicialmente como um padro para a transmisso de vdeo
digital (a taxas de 4-9 Mbps) com qualidade equivalente da televiso comercial (broadcast).
Entretanto o MPEG-2 eficiente tambm para outras aplicaes a taxas de dados e amostragem
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
215
mais altas como a HDTV. O aperfeioamento mais significativo em relao ao MPEG-1, e que
essencial para a TV broadcast, foi a incluso da capacidade de codificao de vdeo
entrelaado. Dentre os exemplos de aplicao do MPEG-2, citamos os sistemas de TV a cabo, o
consrcio americano para HDTV e o DVD.
Devido generalidade do MPEG-2, que permite taxas de at 400 Gbps e imagens de at
16000 x 16000 pixels, um sistema de perfis (profiles) e nveis (levels) foi definido para colocar
limites prticos nos muitos parmetros de uma aplicao real. Um perfil um subconjunto da
sintaxe do bitstream. Por exemplo, a sintaxe permite operao escalonvel S/R (sinal/rudo) ou
espacial, mas os perfis main e simple no usam este recurso do MPEG-2. Um nvel, por sua vez,
restringe os parmetros dentro de uma sintaxe permitida.
Estrutura dos quadros MPEG
So trs os tipos de quadros usados pelo MPEG: I (intraframe), P (preditivo) e B (bidirecional).
O quadro I codificado de maneira similar ao JPEG usando a informao de uma nica
imagem em particular, sem considerar outras imagens, prvias ou futuras. Os quadros I so
chamados referncias temporais e utilizados como pontos de acesso aleatrio dentro do fluxo de
dados MPEG. Sua taxa de compresso a menor dentre todos os tipos de quadros.
O quadro P usa predio, isto , o quadro atual codificado com referncia a um quadro
prvio que pode ser do tipo I ou P. O processo similar codificao preditiva do H.261, com a
diferena de que o quadro prvio nem sempre o quadro imediatamente anterior como acontece
no H.261. A taxa de compresso do quadro P significativamente maior que a do quadro I.
Por ltimo, o quadro B codificado usando-se dois quadros como referncia: um
quadro anterior (passado) e outro posterior (futuro). Os quadros anterior e posterior podem ser
do tipo I ou P. Quadros B proporcionam as taxas de compresso mais altas.
Na figura 22, o quadro P (5) codificado com referncia ao quadro prvio I (1). J os
trs primeiros quadros B (2,3,4) so codificados pela combinao de dois quadros de referncia:
quadro prvio I (1) e quadro futuro P (5). Note-se que os quadros P podem propagar erros por
serem obtidos com referncia a um quadro prvio e servirem tambm como referncia aos
quadros B.

Tempo
1 2 3 4 5 6 7 8 9
I B B B P B B B I
M: di stnci a entre
quadros ncora
GOP (group of pictures)
N: di stnci a entre quadros

Figura 22 - Seqncia de quadros MPEG.

Devido existncia dos quadros B, a ordem de decodificao diferir da ordem de
codificao: o quadro P (5) tem que ser decodificado antes dos quadros B (2, 3 e 4); o quadro I
(9) tem que ser decodificado antes dos quadros B (6, 7 e 8). A seqncia de transmisso, para
uma correta decodificao, seria, portanto, {1, 5, 2, 3, 4, 9, 6, 7, 8}.
A aplicao que determinar os tipos e a seqncia de quadros utilizada. Por exemplo,
se houver necessidade de acesso aleatrio rpido, a soluo mais simples seria codificar toda a
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
216

seqncia de vdeo com quadros I (caso em que o MPEG ficaria idntico ao M-JPEG). A
seguinte seqncia provou ser eficaz para um grande nmero de aplicaes prticas:
(I B B P B B P B B) (I B B P B B P B B) ...
Para sistemas operando a 30 quadros/s, quadros I so enviados a cada 400 ms
aproximadamente (um quadro I a cada 10 a 12 quadros). Os quadros I alm de permitirem o
acesso aleatrio no fluxo MPEG, conforme especificado, tambm garantem a qualidade da
imagem porque os quadros P e B so baseados neles. Portanto, importante que os quadros I
sejam transmitidos com maior confiabilidade que quadros P ou B.
Os quadros B tornam a imagem mais suave e consomem menos largura de banda. O
problema que para utiliz-los o decodificador necessita armazenar quadros P para calcul-los,
elevando a complexidade e o custo do sistema.
Ainda com relao figura 22, definimos um GOP (group of pictures) como uma
seqncia que se inicia com um quadro I e se estende at o quadro imediatamente anterior ao
prximo quadro I. O GOP mostrado na figura dito aberto: o ltimo quadro do GOP usa o
primeiro quadro do prximo GOP como referncia. O segundo tipo de GOP o fechado, onde
um quadro P fecha o grupo e, portanto, no tem vnculos com o prximo GOP. A figura 23
apresenta a diviso do GOP em sucessivas unidades menores at chegarmos ao elemento bsico
da imagem MPEG, o bloco.

GOP
Seqnci a de vdeo
... ...
Picture
Slice Macrobl oco
Bl oco
8 pixel s
8 pixel s

Figura 23 - Estrutura hierrquica da seqncia de imagens MPEG.

Codificao interframe
O princpio da codificao interframe muito simples: numa seqncia de imagens de vdeo h
uma grande probabilidade de que o quadro atual seja muito semelhante ao anterior e que o
quadro futuro tambm se assemelhe ao atual. Codificando apenas a diferena existente entre os
quadros atual e prvio, a quantidade de informao a ser transmitida/armazenada seria menor do
que codificando-se cada quadro isoladamente. A tcnica pode ser refinada se em lugar de
utilizarmos o quadro prvio diretamente, levarmos em conta o movimento dos objetos na cena
que pode haver entre um quadro e outro. O mecanismo da codificao interframe funciona como
se fosse criado um novo quadro a partir do prvio onde os objetos se movimentaram de acordo
com uma previso (estimativa) de movimento (motion estimation). A diferena entre este
quadro hipottico transformado e o atual ainda menor que a diferena dele em relao ao
quadro atual.
A figura 24 ilustra a tcnica. Neste exemplo, imaginemos que o quadro prvio j foi
codificado (e transmitido/armazenado). No necessrio codificar o quadro atual, mas apenas
transmitir a informao sobre o movimento do objeto ocorrido de um quadro a outro (vetor de
movimento) alm da informao nova existente no quadro atual (erro de predio).
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
217

+
-
Quadro prvi o Quadro atual
Quadro previ sto
Erro de predi o
Compensao
de movimento

Figura 24 - Ilustrao da previso de movimento entre quadros.

Apesar de conceitualmente simples, a implementao desta tcnica apresenta duas
dificuldades prticas:
necessrio identificar objetos com formatos diversificados num quadro;
preciso determinar o deslocamento do objeto ocorrido de um quadro a outro.
O MPEG no especifica nenhuma tcnica para a predio de movimento. No entanto,
prtica comum utilizar-se a tcnica de semelhana entre blocos (block matching), que faz
algumas simplificaes em relao ao esquema anteriormente descrito:
no so identificados objetos reais na imagem. A previso de movimento feita sobre os
macroblocos (16 x 16 pixels), como se cada um deles fosse um objeto;
a busca limitada a uma rea de 28 x 28 pixels.
Se o macrobloco M encontrado na mesma posio relativa em S, o vetor de
movimento zero; caso contrrio, um vetor de movimento diferente de zero codificado em
lugar do macrobloco. Os vetores de movimento so obtidos pela minimizao de uma funo de
custo. Furht [Furht 1995b] apresenta as funes de custo mais conhecidas na literatura e detalha
alguns algoritmos para a minimizao destas funes de custo. O artigo de [Pirsch et al. 1995]
considera a implementao destas tcnicas em circuitos VLSI.
Quadros P sempre usam a predio em avano (forward prediction), isto , a rea de
busca do macrobloco fica num quadro posterior ao atual. J os quadros B podem usar um
quadro anterior (backward prediction) ou posterior (forward prediction). Neste caso tanto o
quadro P como o B geram um vetor de movimento para cada macrobloco. O quadro B pode
tambm usar dois quadros de referncia, um anterior e outro posterior, gerando dois vetores de
movimento.

M
S
6
6 16
16
28
28

Figura 25 - Predio de movimento: rea de busca do macrobloco.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
218

MPEG-4
Iniciado em julho de 1993, originalmente o MPEG-4 tinha como objetivo estabelecer um padro
para videoconferncia/videofone a baixas taxas de dados. Devido, em parte, ao estabelecimento
do H.324 (H.263) pelo ITU-T como padro para este tipo de aplicao, a abrangncia do
MPEG-4 foi muito ampliada. A primeira verso do MPEG-4 foi aprovada em outubro de 1998 e
a segunda verso est prevista para dezembro de 1999..
O objetivo do MPEG-4 ser um padro para codificar diferentes formas de dados
(objetos audiovisuais de origem natural ou sintetizada) provendo meios para representar,
integrar e intercambiar estes objetos. O padro dever oferecer:
um novo tipo de interatividade com objetos dinmicos: peas individuais de informao
dentro de uma cena chamados objetos AV (audiovisuais);
integrao de material audiovisual natural (filmes, fotos, etc) e sintetizado (grficos,
animao gerados por computador, etc);
possibilidade de o usurio interferir no modo como o material audiovisual ser apresentado
(capacidade de composio de uma cena);
acesso aleatrio mais eficiente aos componentes de uma seqncia audiovisual;
qualidade audiovisual subjetivamente superior aos outros padres de codificao a taxas de
dados comparveis;
habilidade em codificar mltiplas vistas/trilhas sonoras de uma cena explorando a
redundncia entre as diferentes vistas e com suficiente sincronismo entre elas;
reusabilidade de ferramentas e dados;
independncia da aplicao em relao s camadas de mais baixo nvel (uso de API -
application interface);
capacidade de os receptores realizarem downloading dos softwares de aplicao;
uso simultneo de material vindo de diferentes fontes;
integrao de informao de tempo real com informao armazenada em uma apresentao;
robustez a erros mesmo na transmisso em canais ruidosos e de baixa capacidade;
compatibilidade com MPEG-1 e 2.
MPEG-7
O crescimento da disponibilidade de informao audiovisual distribuda por diversos locais em
todo o mundo torna cada vez mais difcil encontrar a informao desejada. Atualmente existem
maneiras de se encontrar na WWW informao sobre um determinado assunto atravs de
consulta no modo textual. No existe, no entanto, nenhuma maneira eficiente de se encontrar
informao visual atravs da descrio de seu contedo.
O MPEG-7 (interface para descrio de contedo multimdia) o padro MPEG que
visa solucionar este problema. O padro especificar uma descrio padronizada dos vrios
tipos de informao multimdia (imagens estticas, grficos, udio, vdeo, e informao sobre
como estes elementos so combinados numa apresentao). Esta descrio ser associada ao
contedo multimdia para permitir acesso rpido e eficiente ao material e poder ser feita em
vrios nveis semnticos. O nvel de abstrao mais baixo pode ser a descrio do formato,
tamanho, textura, cor e composio; o nvel mais alto uma descrio textual do tipo 'esta cena
contm tais e tais elementos...'.
Alguns exemplos de uso da interface incluem:
tocar algumas notas num teclado musical e obter uma lista de peas musicais contendo a
melodia produzida ou algo prximo dela;
desenhar algumas linhas na tela e obter um conjunto de imagens contendo smbolos,
logotipos, ideogramas, etc, que se assemelhem ao que foi desenhado;
digitar algumas palavras e obter uma lista de textos que contenham as mesmas palavras e/ou
tradues correlacionadas.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
219
O estabelecimento deste padro proporcionar utilizao mais eficiente dos sistemas
multimdia atuais e abrir novas possibilidades de uso beneficiando aplicaes como bibliotecas
digitais, educao, medicina, entretenimento, etc. Espera-se que o padro esteja concludo at
julho de 2001.
Leitura complementar
Para uma viso abrangente e introdutria dos padres e tcnicas de compresso de imagens
estticas e vdeo, incluindo um maior detalhamento do MPEG-4, sugerimos [Kawano 1997].
Exerccios Propostos
1. Qual a diferena fundamental entre as tcnicas de compresso de imagens com perdas
(lossy) e sem perdas (lossless) do ponto de vista da explorao da redundncia?

2. Considere a imagem a seguir, representada por uma matriz 7 x 7, onde cada elemento da
matriz corresponde ao nvel de cinza normalizado do pixel correspondente, sendo 0 = preto, 1 =
branco. Pede-se:
a) Calcular as probabilidades de cada nvel de cinza e esboar seu histograma.
b) Calcular a entropia da fonte (em bits / pixel).
c) Codificar cada nvel de cinza utilizando Huffman, indicando as palavras-cdigo obtidas na
coluna apropriada.
d) Calcular o comprimento mdio das palavras-cdigo atribudas no passo (c) e a eficincia do
cdigo de Huffman utilizado.
e) Calcular a taxa de compresso obtida em relao utilizao de um cdigo de comprimento
fixo e igual a 3 bits e a redundncia relativa correspondente.

0 3/7 2/7 2/7 1/7 1/7 4/7
3/7 2/7 1/7 1/7 1/7 1/7 4/7
2/7 0 1 1/7 3/7 0 0
0 5/7 1/7 0 6/7 0 1/7
1/7 1/7 1/7 3/7 6/7 6/7 5/7
1/7 1/7 1/7 1/7 5/7 6/7 4/7
0 1 0 0 0 0 4/7

Nvel de cinza (r
k
) p
r
(r
k
) Cdigo de Huffman l(r
k
)
r
0
= 0
r
1
= 1/7
r
2
= 2/7
r
3
= 3/7
r
4
= 4/7
r
5
= 5/7
r
6
= 6/7
r
7
= 1


3. Seja a codificao de canal usando Hamming exemplificada na tabela 2. Decodifique a
palavra-cdigo original e determine se h algum bit errado (e, em caso positivo, qual ele), caso
a palavra-cdigo recebida seja:
a) 1100111
b) 1100110
c) 1100010.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
220


4. Calcule todas as (16) probabilidades (no se esquea das probabilidades condicionais e
conjuntas) associadas ao canal de informao em que A = {0, 1}, B = {0, 1}, z = [0,75, 0,25]
T
e
Q =

(
2 3 1 3
1 10 9 10
/ /
/ /
.

5. Decodificar a mensagem 0.23355, codificada aritmeticamente segundo o modelo a
seguir. Interpretar o smbolo '!' como EOM (fim de mensagem).

Smbolo Probabilidade
a 0.2
e 0.3
i 0.1
o 0.2
u 0.1
! 0.1

6. Uma imagem binarizada de 64 x 64 pixels foi codificada usando o cdigo WBS 1-D
utilizando blocos de quatro pixels. O cdigo WBS obtido para uma linha da imagem foi:
0110010000001000010010000000, onde 0 significa pixel preto. Pede-se:
a) Decodificar a linha.
b) Elaborar um procedimento WBS 1-D iterativo que comea buscando linhas totalmente
brancas (um bloco de 64 pixels) e reduz o tamanho dos blocos que contm um ou mais pixels
pretos metade, sucessivamente, at chegar a blocos de quatro pixels.
c) Usar o algoritmo elaborado no passo (b) para codificar a linha decodificada previamente. O
resultado deste item ocupa mais ou menos bits que o padro mencionado no enunciado? Por
que?

7. Utilize o algoritmo de compresso CCITT Grupo 3 (e 4) para codificar a segunda linha
do segmento de duas linhas abaixo:
0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1
1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1
Assumir que o elemento de referncia inicial a
0
est localizado no primeiro pixel da
segunda linha.

8. Por que os coeficientes resultantes do clculo da DCT direta no algoritmo JPEG, aps a
quantizao, so lidos em zig-zag?

9. O que so e em que se baseiam as tcnicas preditivas de compresso de imagens? Qual a
diferena bsica entre tcnicas preditivas com perdas e sem perdas?
No computador
Sugerimos executar o programa dctdemo, que acompanha a toolbox de processamento de
imagens do MATLAB. Este programa permite comprovar interativamente a influncia do
nmero de coeficientes da DCT utilizados na reconstruo de uma imagem na sua qualidade
subjetiva.
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
221
Na Internet
Existe uma quantidade imensa de sites direta ou indiretamente ligados codificao e
compresso de imagens. Dentre eles, relacionamos:

"http://www.mpeg.org/index.html/"
MPEG . ORG - MPEG Pointer s and Resour ces
Ponto de partida ideal para a rea de compresso de imagens e vdeo, particularmente o padro
MPEG. Contm links para novidades, programas, empresas, FAQs etc. ligados ao assunto. Um
bookmark obrigatrio.

"http://www.vol.it/MPEG/"
MPEG Moving Pictur e Exper t Gr oup Infor mation
Informaes sobre o padro MPEG

"http://www.visiblelight.com/mpeg/index.htp"
MPEG Plaza - The Sour ce For MPEG
Contm informaes sobre produtos, empresas, software e dados tcnicos sobre o padro
MPEG, agrupados de forma bem estrturada.

"http://www.cis.ohio-state.edu/hypertext/faq/usenet/jpeg-faq/top.html"
JPEG image compr ession: Fr equently Asked Questions
Respostas a questes mais comuns sobre JPEG.

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s12/front-
page.html"
Bit Plane Slicing
Descreve e exemplifica o processo de converter uma imagem monocromtica de 8 bits/pixel em
oito imagens binrias, cada qual correspondendo a um bit do byte original.

"http://www.deakin.edu.au/~agoodman/scc308/topic7.html"
Topic 7: File for mats and image compr ession
Captulo de tutorial on-line dedicado a formatos de arquivos de imagem e algumas tcnicas de
compresso utilizadas nestes formatos.

"http://www.engr.mun.ca/~john/btpc.html"
Binar y Tr ee Pr edictive Coding
Descrio completa e bem documentada de uma nova proposta de algoritmo de codificao de
imagens estticas, com vantagens em relao ao LZW e ao JPEG.

"http://act.by.net/act.html"
Ar chive Compar ison Test (A.C.T.)
Comparativo de desempenho de programas de compresso de dados para diversas plataformas.
Atualizado periodicamente.

"http://www.internz.com/compression-pointers.html"
Compr ession Pointer s
Lista de links interessantes e teis na rea de compresso de dados e imagens.

"http://drogo.cselt.stet.it/mpeg/"
The Moving Pictur e Exper ts Gr oup (MPEG) Home Page
Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
222

Pgina oficial do comit encarregado da padronizao MPEG.

Bibliografia

[Abramson 1963] Abramson, N., Information Theory and Coding, McGraw-Hill,
1963.

[Allens et al. 1980] Alens, N. et al., "Tpicos sobre fac-smile", Relatrio Tcnico
RT-73, Contrato Telebrs 139/76, Unicamp, Junho 1980.

[Aranvid et al. 1993] Aranvid, R. et al., "Image and video coding standards", AT&T
Technical Journal, Jan/Fev 1993, 67-89.

[Arps 1980] Arps, R.B., "Bibliography on Binary Image Compression",
Proceedings of the IEEE, 68, 7, Julho 1980, 922-924.

[Barnsley e Sloan 1988] Barnsley, M.F. e Sloan, A.D., "A better way to compress
images", Byte, Janeiro 1988, 215-223.

[Bisignani 1966] Bisignani, W.T., Richards, G.P. e Whelan, J.W., "The
Improved Grey Scale and Coarse-Fine PCM Systems: Two
New Digital TV Bandwidth Reduction Techniques", Proc.
IEEE, 54, 3, 376-390.

[Cutler 1952] Cutler, C.C., Differential Quantization of Communication
Signals, U.S. Patent 2.605.361, Julho 1952.

[Furht 1995a] Furht, B., "A survey of multimedia compression techniques
and standards - part I: JPEG standard.", Real-Time Imaging
Journal, 1, 1, 1995, pp. 49-67.

[Furht 1995b] Furht, B., "A survey of multimedia compression techniques
and standards - part II: video compression.", Real-Time
Imaging Journal, 1, 5, 1995, pp. 319-337.

[Hamming 1950] Hamming, R.W., "Error Detecting and Error Correcting
Codes"
Bell Sys. Tech. Journal, 29, 147-160.

[Herman 1996] Herman, M., "The Fundamentals of H.324 Desktop Video
Conferencing", Electronic Design, 14 de Outubro, 1996, 114-
128.

[Huffman 1952] Huffman, D.A., "A Method for the Construction of Minimum
Redundancy Codes", Proc. IRE, 40, 10, 1098-1101.

[Hunter 1980] Hunter, R. e Harry Robinson, A., "International Digital
Facsimile Coding Standards", Proceedings of the IEEE, 68, 7,
Julho 1980, 854-867.

[Jayme 1992] Jayme, C.A., "Proposta de um Mtodo para Compactao de
Imagens de Assinaturas", Dissertao de Mestrado, CPGEI,
CEFET-PR, Abril 1992.

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
223
[Jayme et al. 1993] Jayme, C.A., Marques Filho, O. e Godoy Jr., W., "Proposta de
um Mtodo para Compactao de Imagens de Assinaturas,
Aplicvel Automao Bancria", Congresso do Mercosoft
93, Curitiba-PR, Maio 1993.

[Kawaguchi 1980] Kawaguchi, E. e Endo, T., "On a Method of Binary-Picture
Representation and Its Application to Data Compression",
IEEE Trans. Pattern Analysis and Machine Intelligence, 2, 1,
Janeiro 1980, 27-35.

[Kawano 1997] Kawano, W., "Tcnicas e Padres de Compresso de Vdeo
para Sistemas Multimdia Distribudos", Monografia - Curso
de Especializao em Teleinformtica, Centro Federal de
Educao Tecnolgica do Paran, 1997.

[Lynch 1985] Lynch, T.J., Data compression techniques and applications,
Van Nostrand Reinhold, 1985.

[Mallat 1989] Mallat, S.G., "A theory for multiresolution signal
decomposition: the wavelet representation", IEEE
Transactions Pattern Analysis and Machine Intelligence,
PAMI-11(7), 674-693.

[Monnes e Furht 1994] Monnes, P. e Furht, B., "Parallel JPEG Algorithms for Still
Image Compression", Proceedings of Southeastcom '94, Abril
1994, 375-379.

[Nelson 1989] Nelson, M., "LZW Data Compression", Dr. Dobb's Journal,
Outubro 1989.

[Nelson e Gaily 1996] Nelson, M. e Gaily, J.L., The Data Compression Book 2nd ed.
M&T Books, 1996.

[Pennenbaker e Mitchell 1993] Pennenbaker, W.B. e Mitchell, J.L., JPEG still image data
compression standard, Van Nostrand Reinhold, 1993.

[Pirsch et al. 1995] Pirsch, P. et al., "VLSI architectures for video compression: a
survey", Proceedings of the IEEE, Fevereiro 1995, 220-246.

[Pratt et al. 1980] Pratt, W.K. et al.,"Combined Symbol Matching Facsimile Data
Compression System", Proceedings of the IEEE, 68, 7, Julho
1980, 786-796.

[Rijske 1996] Rijske, K., "H.263: video coding for low-bit-rate
communication", IEEE Communications Magazine, Dezembro
1996, 42-45.

[Rioul e Vetterli 1991] Rioul, O. e Vetterli, M., "Wavelets and Signal Processing",
IEEE Signal Processing Magazine, Outubro 1991, 14-38.

[Tenenbaum et al. 1990] Tenenbaum, A.M., Langsam, Y. e Augenstein, M.J., Data
Structures Using C, Prentice-Hall, 1990.

Compr esso e Codificao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
224

[Ting 1980] Ting, D. e Prasada, B., "Digital Processing Techniques for
Encoding of Graphics", Proceedings of the IEEE, 68, 7, Julho
1980, 757-769.

[Usubuchi 1980] Usubuchi, T. et al., "Adaptive Predictive Coding for
Newspaper Facsimile", Proceedings of the IEEE, 68, 7, Julho
1980, 807-813.

[Vetterli 1984] Vetterli, M., "Multi-dimensional sub-band coding: some theory
and algorithms", Signal Processing, 6, 97-112.

[Wallace 1991] Wallace, G., "The JPEG still picture compression standard",
Communications of the ACM, 34, 30-44.

[Williams 1991] Williams, R.N., Adaptive data compression, Kluwer Academic
Publishers, 1991.

[Yasuda 1980] Yasuda, Y., "Overview of Digital Facsimile Coding
Techniques in Japan", Proceedings of the IEEE, 68, 7, Julho
1980, 830-845.



MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Captulo 7
Aspectos Prticos de Hardware e
Software para Processamento de
Imagens
Os assuntos abordados nos captulos anteriores constituem, em sua maioria, um conjunto de
conhecimentos tericos clssicos das principais tcnicas de processamento digital de imagens.
Este captulo procura contemplar os leitores interessados em implementar ou testar na prtica
algumas destas tcnicas. Para tanto, contm maiores detalhes sobre hardware especfico para
processamento de imagens (Seo 7.1), desde os sensores utilizados para aquisio, passando
por placas de processamento (frame grabbers) e armazenamento (frame buffers) e chegando at
os principais dispositivos de armazenamento, exibio e impresso disponveis atualmente.
Na Seo 7.2 encontram-se compilados diversos ttulos de software / classificados
segundo a sua finalidade / e ambientes para desenvolvimento de aplicativos. Muitos destes
ttulos encontram-se disponveis em repositrios de shareware na Internet, indicados no final do
captulo.
7.1 O hardware
Para adquirir imagens digitais, so necessrios equipamentos especiais. Normalmente, a imagem
a ser adquirida primeiramente convertida em sinal eltrico analgico atravs de sensores
pticos. Posteriormente, esse sinal analgico convertido em sinal digital atravs de circuitos
eletrnicos especficos chamados frame grabbers (dispositivos de captura de quadro), tornando
possvel a interpretao por computadores. Uma vez digitalizada a imagem, essa pode ser
adequadamente processada, muitas vezes fazendo uso de arquiteturas especiais para agilizar o
processo. Por fim, utilizam-se dispositivos de sada, como monitores e impressoras / para a
visualizao dos resultados / e dispositivos de armazenamento / para a preservao dos
mesmos.
7.1.1 Sensores
O processo de gerar dados a partir de imagens nada mais do que a converso da intensidade
luminosa em sinais eltricos distribudos espacialmente. Entre os diversos tipos de sensores
existentes, os de maior destaque so os sensores a vlvula e os sensores de estado slido.
Sensores a vlvula
Os primeiros dispositivos sensores de imagens foram os tubos de cmera utilizados nas
primeiras cmeras analgicas de televiso. Seu funcionamento consiste na varredura, atravs de
um feixe eletrnico, de uma superfcie fotossensvel base de fsforo. A intensidade de corrente
do feixe eletrnico ento proporcional intensidade luminosa incidente no ponto da superfcie
fotossensvel em questo. A varredura responsvel pelo mapeamento espacial da imagem, ou
seja, o valor do sinal eltrico obtido em determinado instante de tempo corresponde a um ponto
especfico da superfcie fotossensvel.
A varredura realizada da esquerda para a direita e de cima para baixo, at que um
quadro seja completado, conforme ilustra a figura 1. A varredura entrelaada, isto ,
primeiramente so varridas as linhas mpares e posteriormente as linhas pares. Para facilitar a
reproduo em um tubo de imagem, so acrescentados ao sinal de vdeo referncias de
sincronismo horizontal e vertical, gerando o chamado sinal composto de vdeo (SCV).

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
226

Figura 1 - Varredura da superfcie fotossensvel pelo feixe de eltrons

Entre os tubos de cmera mais comuns esto o Vidicon, o Saticon e o Plumbicon. Esses
dispositivos apresentam a desvantagem de serem relativamente volumosos, difceis de ser
ajustados por se tratar de vlvulas eletrnicas, alm de desvantagens com respeito a consumo de
energia e aquecimento, que tendem a ser eliminadas com o uso de dispositivos de estado slido.
Entretanto, a varredura dos tubos de cmera, capaz de converter uma imagem bidimensional em
um sinal eltrico unidimensional variante no tempo, foi responsvel pela criao de um formato
padro de transmisso serial de dados que continua sendo significativo nos dias atuais: o padro
RS-170.
Sensores de estado slido (linear e de rea)
Existem diversas alternativas para converso de imagens em sinais eltricos utilizando-se
dispositivos de estado slido. Entre os principais dispositivos esto as matrizes de fotodiodos,
dispositivos de injeo de carga (CID) e dispositivos de carga acoplada (CCD). Focalizaremos
nossa ateno no tipo de dispositivo mais comumente utilizado na atualidade: o CCD.
A tecnologia CCD baseia-se em pastilhas semicondutoras com determinado nmero de
recipientes capazes de armazenar carga eltrica, que possuem um determinado mecanismo de
transferncia entre elas. A quantidade de carga eltrica armazenada nos recipientes corresponde
a valores analgicos, o que equivale a dizer que erros de quantizao so praticamente nulos.
Dessa maneira, o CCD equivale a uma memria analgica, cujos dados so acessados
serialmente atravs da transferncia de carga entre os recipientes.
A utilizao de materiais fotossensveis permite a construo de dispositivos CCD cujos
recipientes de carga constituem tambm elementos sensveis luz. Assim, a carga armazenada
em cada recipiente proporcional intensidade luminosa incidente sobre o mesmo.
Posteriormente, a leitura seqencial dos recipientes pode gerar um sinal eltrico variante no
tempo nos moldes do padro gerado por tubos de cmera.
Normalmente, a formao de imagens envolve a utilizao de sensores CCD de rea,
que consistem em matrizes bidimensionais de elementos fotossensveis. Sensores de rea so
amplamente utilizados em cmeras de vdeo digitais e contribuem para o reduzido tamanho
desses equipamentos. Outra abordagem, particularmente importante para aplicaes que
demandam alta resoluo, emprega sensores CCD lineares na tcnica conhecida por varredura
matricial linear. Os sensores lineares utilizados so matrizes que contm os elementos
fotossensveis alinhados em uma nica coluna ou linha de alta resoluo espacial. A informao
luminosa da imagem bidimensional ento convertida em sinais eltricos atravs de varredura
espacial perpendicular linha sensora, ou seja, atravs do deslocamento relativo do sensor em
relao imagem em questo. Esta a tcnica empregada nos equipamentos de fac-smile e
scanners de documentos.
Os sensores CCD oferecem diversas vantagens sobre os tubos de cmera. Entre elas
esto: o tamanho reduzido; o menor consumo de energia; a menor suscetibilidade a efeitos de
espalhamento (blooming); a melhor resposta a mudanas na iluminao incidente; e o bom
desempenho em condies de baixa iluminao [Schalkoff 1989].
Entretanto, a tecnologia de fabricao dos sensores CCD um tanto dispendiosa
financeiramente e, alm disso, no permite a incluso de circuitos de controle na mesma pastilha
semicondutora. Tentando contornar esses problemas, um grupo de pesquisadores da
Universidade de Edinburgo desenvolveu um novo tipo de sensor, utilizando a tecnologia
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
227
CMOS. A abordagem escocesa permite que sejam includos na mesma pastilha circuitos de
controle, conversores analgico/digital, memrias digitais e circuitos com funes especficas
para o processamento de imagens, alm da matriz sensora propriamente dita. possvel, desse
modo, integrar um sistema completo de viso por computador numa nica pastilha de baixo
custo. Outra vantagem da tecnologia CMOS o consumo de energia, que reduzido a
aproximadamente um quinto do consumo da tecnologia CCD [Vellacott 1994].
Sensores de imagens coloridas necessitam de trs sensores monocromticos operando
em conjunto com filtros de cores, a fim de gerar os sinais das trs cores primrias aditivas: o
vermelho (R), o verde (G) e o azul (B). Para efeito de gerao de sinal de vdeo, as trs
componentes R, G e B so combinadas aritmeticamente para gerar o sinal de luminncia e
codificadas e moduladas para gerar a componente de crominncia. O sinal de luminncia
equivale ao sinal de vdeo monocromtico da imagem, sobre o qual superposta a informao
de cor.
Leitura complementar
Maiores detalhes sobre a formao do sinal composto de vdeo podem ser encontradas no
captulo 8 de [Schalkoff 1989] e nos captulos 7 e 8 de [Grob 1989].
Ainda em [Grob 1989], em seu captulo 3, encontram-se mais informaes sobre tubos
de cmera.
Sobre o processo de funcionamento de dispositivos CCD, tambm recomenda-se a
leitura do captulo 8 de [Schalkoff 1989].
7.1.2 Frame grabbers / frame buffers
Para que seja possvel o processamento de imagens atravs de algoritmos computacionais
preciso que os dados estejam disponveis na forma digital. Como explicado anteriormente,
comum que os sensores de imagens forneam sinais eltricos analgicos variantes no tempo
representando a imagem de entrada, como o caso das cmeras de vdeo. Faz-se necessria,
ento, uma converso do padro analgico de representao da imagem para o formato binrio
de representao, utilizado pelos computadores.
O dispositivo responsvel pela converso do sinal analgico de vdeo para uma matriz
de dados digitais contendo informaes sobre a imagem conhecido como dispositivo de
captura de quadro (frame grabber).
Cabe a esse dispositivo detetar as informaes de sincronismo horizontal e vertical do
sinal composto de vdeo, determinando os limites de informao da imagem. Uma vez detetado
um pulso de sincronismo vertical, tem incio a captura de um quadro. O sinal analgico a partir
de ento amostrado no tempo, passa por uma converso analgico/digital e armazenado em
memria. D-se o nome de memria de quadro (frame buffer) ao sistema de armazenamento
voltil de imagens digitalizadas.
importante ressaltar que a resoluo horizontal da imagem obtida depende do nmero
de amostras realizadas numa linha, ou seja, entre dois pulsos de sincronismo horizontal do sinal
composto de vdeo. A quantidade de tons de cinza (ou de cores) depende da capacidade de
quantizao do(s) conversor(es) analgico/digital empregado(s).
O processo se repete at que seja detetado o final do quadro, ou seja, o prximo pulso
de sincronismo vertical. Cabe dizer aqui que a resoluo vertical da imagem digital obtida
limitada pelo nmero de linhas imposto pelo padro de sinal de vdeo utilizado. Os pulsos de
sincronismo horizontal e vertical servem de referncia para a montagem da matriz de dados da
imagem, juntamente com as informaes de quantidade de amostras por linha (resoluo
horizontal) e quantidade de linhas propriamente dita (resoluo vertical).
Para a captura de imagens digitais coloridas so necessrios trs circuitos de aquisio
independentes para cada um dos sinais de cor R, G e B. O sistema de deteo de informaes de
sincronismo comum aos trs circuitos de aquisio, porm necessria a existncia de um
sistema complementar para a decodificao do sinal de crominncia nas trs componentes de
cor.
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
228
A construo de dispositivos de aquisio de imagens atravs de sinal de vdeo
apresenta diversos desafios. A velocidade de converso analgico/digital talvez seja a maior
dificuldade a ser enfrentada. O tempo de durao da informao de uma linha de vdeo no
sistema PAL-M, por exemplo, de aproximadamente 53,3 os (53,3 x 10
-6
segundos). Desse
modo, para se obter 512 amostras nesse tempo necessria a utilizao de um conversor
analgico/digital capaz de realizar a converso em menos de 104 ns (104 x 10
-9
segundos),
equivalente a aproximadamente 9,6 milhes de amostras por segundo. Dessa forma, torna-se
necessria a utilizao dos velozes e custosos conversores analgico/digitais do tipo flash. Outra
dificuldade envolve a alta quantidade de memria envolvida no processo, que tambm exige
taxas de transferncia de dados superiores a 7,5 megabytes por segundo [Schalkoff 1989].
Devido a essas complicaes tcnicas, tais dispositivos de aquisio normalmente
possuem um custo alto, principalmente quando possibilitam a obteno de elevadas resolues.
7.1.3 Arquiteturas
Tendo em vista o exposto nos captulos anteriores, pode-se concluir que as tcnicas de
processamento de imagens geralmente exigem um grande poder de processamento. O esforo
computacional exigido supera a capacidade de processamento de muitas arquiteturas de
computador que fazem uso de um nico microprocessador. Por mais que se consiga acelerar a
velocidade de um microprocessador em termos de freqncia de operao, em algum momento
um limite ser atingido.
Por outro lado, nos captulos anteriores foram apresentadas tcnicas que em sua grande
maioria podem ser realizadas paralelamente. Isto significa dizer que diversas etapas
independentes de um algoritmo podem ser calculadas ao mesmo tempo, para depois os
resultados parciais serem combinados gerando o resultado final. Para fazer uso dessa
caracterstica to freqente dos algoritmos de processamento de imagens pode-se implementar
computadores especiais, utilizando arquiteturas multiprocessadas. Um requisito essencial para
bem aproveitar o poder computacional de arquiteturas com mltiplos microprocessadores o
desenvolvimento de programas e algoritmos dedicados, que possibilitem a execuo paralela
das tarefas.
Um conceito importante, o qual deve-se ter em mente, o de que o desempenho no
aumenta linearmente com o aumento de processadores empregados. Isso significa dizer que se
utilizarmos dois processadores em paralelo no ser obtido um desempenho duas vezes superior
ao apresentado por um nico processador e sim um desempenho sensivelmente inferior a duas
vezes. Esse fato se deve a perdas de tempo devidas troca de informaes entre os
processadores, no computadas pelos algoritmos em si.





(a)

(b)



(c)
Figura 2 - Estruturas de conexo de arquiteturas multiprocessadas: (a) estrutura em malha; (b)
estrutura em pirmide; (c) estrutura em hipercubo.

As arquiteturas multiprocessadas geralmente so classificadas segundo a taxonomia de
Flynn, baseando-se na multiplicidade de fluxo de instrues e dados. So possveis, segundo
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
229
essa classificao, quatro arquiteturas diferentes: SISD (Single Instruction-Single Data), SIMD
(Single Instruction-Multiple Data), MISD (Multiple Instruction-Single Data) e MIMD (Multiple
Instruction-Multiple Data). A estrutura de conexo entre os processadores tambm constitui
uma forma de classificao: em malha, em pirmide, em hipercubo, etc., como ilustrado na
figura 2.
Foge ao escopo deste captulo a completa exposio do assunto, por se tratar de tema
bastante extenso e especfico. O leitor interessado encontrar maiores informaes nas
indicaes bibliogrficas.
Leitura complementar
sugerida a leitura do captulo 9 de [Dougherty 1994] para maiores detalhes sobre as diversas
arquiteturas multiprocessadas.
Para consideraes sobre algoritmos paralelos, consultar o captulo 8 de [Schalkoff
1989].
O captulo 8 de [Pearson 1991] trata de arquiteturas para processamento de imagem.
Ainda em [Pearson 1991], no seu captulo 10, existem maiores detalhes sobre
arquiteturas paralelas para processamento de imagens e redes neurais artificiais.
7.1.4 Dispositivos de sada
De pouco adianta realizar operaes com imagens se no pudermos visualizar o resultado. Com
poucas excees, como em alguns casos de reconhecimento de padres, o resultado do
processamento retorna tambm na forma de imagem.
Entre os dispositivos de sada mais comumente encontrados, temos os monitores de
vdeo, seguidos pelas impressoras e finalmente pelos plotters. Esses dispositivos tm funo
exatamente oposta dos sensores, ou seja, transformar dados digitais em informao visvel.
Monitores de vdeo
Representam a classe de dispositivos de sada mais veloz, entretanto voltil. Os circuitos de um
monitor buscam realizar exatamente o oposto de uma cmera de vdeo, isto , a partir do sinal
composto de vdeo efetuar a reconstruo da imagem em termos visuais.
Em monitores que se utilizam de tubos de imagem (tubos de raios catdicos - TRC) para
apresentar resultados, o sistema de gerao de imagens similar aos sistemas sensores que se
utilizam de tubos de cmera. Da mesma forma, realizada uma varredura da tela atravs de um
feixe de eltrons. A superfcie da tela revestida por um material capaz de emitir luz quando
atingido pelo feixe de eltrons, em intensidade luminosa proporcional intensidade de corrente
eltrica do feixe. Os pulsos de sincronismo presentes no sinal composto de vdeo so utilizados
para orientar a varredura da tela, reproduzindo a informao visual adequadamente.
Monitores coloridos possuem trs canhes de eltrons, correspondentes aos trs sinais
R, G e B que compem a informao de cor. O feixe de eltrons de cada canho atinge pontos
especficos na tela, os quais no podem ser atingidos pelos outros canhes. Esses pontos,
correspondentes s trs informaes de cor so dispostos muito prximos uns dos outros como
ilustra a figura 3, a composio final da cor realizada pelo olho. Tais equipamentos
apresentam o inconveniente de, alm de serem volumosos devido ao tamanho do tubo de cmera
empregado, apresentarem tambm dificuldades de ajustes.

R
G B
R G B

Figura 3 - Disposio dos pontos R, G e B na tela de um monitor.

Existem tambm monitores que utilizam a tecnologia de cristal lquido (LCD), j
bastante desenvolvida nos dias atuais. O cristal lquido possui uma propriedade fsica que
possibilita o seu uso em dispositivos de gerao de imagens: quando no excitado eletricamente
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
230
se apresenta opaco, e quando convenientemente excitado suas molculas se orientam de maneira
a permitir a passagem de luz. Sendo assim, possvel a construo de matrizes de elementos de
cristal lquido capazes de apresentar imagens. Mais uma vez, para a apresentao de imagens
coloridas necessria a implementao de matrizes para cada um dos sinais componentes R, G e
B de cor.
Os monitores de cristal lquido esto para os sensores CCD assim como os tubos de
imagens esto para os tubos de cmera. A tecnologia de cristal lquido permite a obteno de
monitores mais compactos, cujo consumo de energia bastante reduzido, possibilitando o seu
uso em computadores portteis. Possuem, no entanto, a desvantagem de apresentarem diferentes
tonalidades conforme o ngulo visual formado com a tela.
Impressoras
So dispositivos que apresentam imagens definitivas em sua sada, normalmente em papel.
Muitas tecnologias de impresso esto disponveis atualmente, sendo as mais conhecidas a
matricial, a jato de tinta e a laser.
As primeiras impressoras grficas que surgiram faziam uso da tecnologia matricial, a
qual utiliza-se de uma cabea de impresso composta de pequenas agulhas que so disparadas
contra uma fita entintada com o objetivo de marcar o papel. O nmero de agulhas pode variar de
7 a 24, dispostas em linha vertical. Para a obteno de imagens bidimensionais, a cabea de
impresso deslocada em relao ao papel na direo horizontal, como mostrado na figura 4.
Depois de impressa uma linha completa, o papel avanado verticalmente em relao cabea
de impresso.


Figura 4 - Seqncia de impresso matricial do caracter A.

Diferentemente do que ocorre nos monitores de vdeo, para que seja possvel a gerao
de imagens coloridas em impressoras, so utilizadas as cores primrias subtrativas: o ciano (C),
o magenta (M), o amarelo (Y) e o preto (K). Portanto, no caso das impressoras matriciais,
necessria a utilizao de uma fita de impresso colorida contendo faixas dessas quatro cores. A
composio da imagem final feita imprimindo-se cada cor separadamente.
As impressoras matriciais so as mais acessveis financeiramente, porm so
demasiadamente ruidosas e no possibilitam a reproduo de imagens de alta resoluo.
A tecnologia a jato de tinta possibilita a obteno de imagens monocromticas ou
coloridas de alta resoluo de maneira silenciosa e a preos razoveis. A cabea de impresso
desse tipo de impressora constituda de elementos capazes de espirrar tinta lquida sobre o
papel. O ponto produzido por esses elementos bastante localizado e pequeno a ponto de ser
possvel o alinhamento de diversos deles verticalmente na cabea de impresso. De maneira
semelhante impresso matricial, a cabea deslocada horizontalmente em relao ao papel, o
qual avanado verticalmente ao trmino da impresso da linha. A diferena est na resoluo
possvel de ser obtida com essa tecnologia e, conseqentemente, na qualidade da imagem
impressa.
Para a impresso de imagens coloridas em impressoras jato de tinta preciso o uso de
cartuchos contendo tintas das cores C, M, Y e K. Normalmente utilizam-se dois cartuchos: um
contendo a tinta preta e outro contendo as demais tintas coloridas. Impressoras mais acessveis
exigem que o usurio alterne os cartuchos manualmente durante a impresso de uma imagem
colorida, outras um pouco mais custosas permitem a comodidade de utilizar os dois cartuchos
simultaneamente. Da mesma forma que nas impressoras matriciais coloridas, imagens coloridas
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
231
so obtidas atravs da combinao das impresses de cada uma das cores primrias, realizadas
separadamente.
As impressoras a laser utilizam o mesmo princpio de funcionamento de mquinas
fotocopiadoras, radicalmente diferente das tecnologias matricial e a jato de tinta. O elemento de
impresso utilizado nessas impressoras chamado toner e consiste num p capaz de ser
carregado eletrostaticamente. Portanto, o toner quando carregado capaz de ser atrado por
objetos de carga oposta.
Para gerar a imagem a ser impressa utiliza-se um cilindro eletrosttico, que carregado
eletrostaticamente com carga oposta carga com que carregado o toner. Um feixe de laser
ento utilizado para varrer o cilindro, apagando as reas onde o toner no deve aderir. Isso
possvel graas a uma propriedade fsica do material utilizado para revestir o cilindro
eletrosttico, a qual permite que as reas atingidas pelo feixe de laser sejam descarregadas
eletricamente. O processo de varredura pode ser visto esquematicamente na figura 5.

Modul ador Laser
Ci li ndro El etrostti co
Espel ho Rotati vo
Fei xe

Figura 5 - Varredura do cilindro eletrosttico pelo feixe de laser.

Uma vez desenhada a imagem sobre o cilindro, permite-se que o toner entre em contato
com o mesmo, aderindo sobre as reas carregadas. Feito isso, passa-se o papel entre o cilindro
eletrosttico e um segundo cilindro auxiliar que exerce presso sobre o papel. Desse modo o
toner transferido para o papel, deixando a imagem impressa. Finalmente, o papel passa por
uma unidade de fixao que faz uso de alta temperatura para fixar o toner ao papel. possvel a
obteno de imagens de boa resoluo atravs da impresso a laser.
Existem impressoras a laser coloridas, cujo custo ainda inacessvel aos usurios
comuns. Isso se deve ao fato do processo de gerao de imagens coloridas a laser ser bastante
complexo na prtica, apesar de seguir as mesmas linhas mestras da gerao de imagens
monocromticas. Novamente, necessria a utilizao de toner nas cores C, M, Y e K para a
gerao das imagens coloridas.
Plotters
Esses equipamentos permitem a reproduo de imagens em papel. So mais adequados para
imagens de desenhos gerados por aplicativos CAD, com predominncia de linhas e formas
geomtricas.
Um plotter literalmente desenha sobre o papel, utilizando-se para isso de uma ou mais
canetas (ou penas) coloridas. As canetas so controladas para abaixarem ou subirem, tocando ou
no o papel. O desenho das linhas obtido atravs do deslocamento relativo entre as canetas e o
papel, nas direes horizontal e vertical. Normalmente as canetas so deslocadas numa direo e
o papel na outra, perpendicularmente.
Os plotters operam com diversos tamanhos de papel, podendo chegar ao tamanho A0.
Muitas vezes so utilizados para desenhos de alta preciso, como por exemplo, desenhos de
placas de circuito impresso. Em geral so dispositivos pouco acessveis aos usurios comuns.
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
232
Leitura complementar
Para obter mais informaes sobre o funcionamento e a formao de imagens em tubos de
imagens, aconselha-se a leitura do captulo 4 de [Grob 1989] e do captulo 3 de [Rubinstein
1988]. Esse ltimo tambm contm maiores informaes sobre dispositivos de impresso.
7.1.5 Dispositivos de armazenamento
O armazenamento de imagens tambm constitui um fator de extrema importncia em diversas
aplicaes do processamento de imagens. A coleta de imagens astronmicas para efeito de
anlise e comparaes um exemplo bem claro dessa importncia.
Os dispositivos de armazenamento de massa sofreram grandes avanos nos ltimos
anos. Grandes quantidades de informao que antes eram possveis de serem armazenadas
apenas em fita magntica ou em gigantescos discos rgidos agora podem ocupar cartuchos
removveis. Os chamados Zip Drives so capazes de armazenar 100MB em apenas um cartucho.
Indo bem mais alm, os Jaz Drives possuem capacidade de armazenamento de 1GB em apenas
um cartucho removvel.
Completando o leque de opes de armazenamento esto os dispositivos de
armazenamento ptico e magneto-ptico. A tecnologia de discos compactos (CD) encontra-se
atualmente bastante popularizada e acessvel aos diversos campos de aplicao. O CD-ROM e o
Photo CD, desenvolvido pela Kodak, representam duas boas alternativas para armazenamento
definitivo de imagens em mdia ptica, com capacidades aproximadas de 600MB. Os cartuchos
magneto-pticos oferecem ainda a possibilidade de apagamento e regravao de dados,
tornando-os ainda mais flexveis quanto ao uso. Para armazenamento de imagens de vdeo, um
novo padro de CD est emergindo: o vdeo-disco digital (DVD), o qual permite o
armazenamento de imagens em movimento de alta qualidade, alm de trilha sonora de qualidade
superior do CD de udio convencional. A especificao do DVD permite at 17GB de dados
armazenados em um nico CD, porm atualmente esse limite situa-se em torno de 4GB.
O armazenamento em fita continua sendo, no entanto, uma soluo vivel para o
armazenamento de enormes quantidades de dados, apresentando a desvantagem da lentido na
procura de informaes e a deteriorao da mdia magntica com o passar do tempo. Os
dispositivos pticos possuem a vantagem de no sofrerem deteriorao com o tempo, como
acontece com os dispositivos que fazem uso de mdia magntica.
7.2 O software
Diferentes aplicaes exigem diferentes programas de processamento e anlise de imagens.
Existem diversos aplicativos comerciais para edio e manipulao de imagens fotogrficas, os
quais permitem diversas operaes de filtragem e retoques. Outras aplicaes mais sofisticadas,
como as cientficas, exigem operaes morfolgicas, transformaes matemticas e outros
recursos.
O software para aplicaes especficas normalmente aparece na forma de bibliotecas de
funes para programao, permitindo a integrao do processamento e anlise de imagens a
outras tcnicas computacionais, como a inteligncia artificial e o reconhecimento de padres.
A quantidade de ttulos de software disponveis atualmente imensa. Alguns deles esto
classificados a seguir.

7.2.1 Ttulos disponveis e classificao
Software para Aplicaes Cientficas
Global Lab Image
O software Global Lab Image foi criado pela Data Translation para uso cientfico do
processamento de imagens. Ele permite efetuar diversas operaes, tais como: realce,
manipulao de histograma, filtragem morfolgica, anlise freqencial, contagem, medio e
classificao automtica de objetos, etc.
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
233
O Global Lab Image possui ainda uma biblioteca de funes que possibilita o
desenvolvimento de outros aplicativos para a plataforma PC em ambiente MS-Windows.
Uma verso demonstrativa do Global Lab Image est disponvel na Internet no endereo
"http://www.datx.com/tech/global_lab_img.htm". O endereo da Data Translation
"http://www.datx.com/".

LATIM
O Laboratrio de Tratamento de Imagens (LATIM) um software para processamento de
imagens, cujo carter didtico. Engloba as principais tcnicas de manipulao e
processamento de imagens, tendo como principais objetivos: oferecer uma ferramenta verstil
capaz de auxiliar na gerao e teste de novas tcnicas e algoritmos; e permitir demonstraes de
cunho didtico das principais tcnicas de processamento de imagens.
Desenvolvido em 1989 pela Universidade Federal do Rio de Janeiro (UFRJ) e escrito
em linguagem Pascal, o LATIM trabalha com um formato de armazenamento de imagens
proprietrio. Inclui rotinas de exibio de imagens, manipulao de histograma, convoluo
(filtragem) e operaes lgicas e aritmticas, entre outras. Uma caracterstica importante a
possibilidade de expanso, que possibilita ao usurio incorporar ao sistema as suas prprias
rotinas desenvolvidas em Pascal.
1

PC_IMAGE
O software para anlise de imagens PC_IMAGE, desenvolvido pela empresa Foster Findlay
Associates, possui uma poderosa gama de operaes para processamento de imagens. Permite
realizar operaes aritmticas, limiarizao, manipulao de histograma, filtragens linear e no-
linear, morfologia matemtica binria e em nveis de cinza, pseudocolorizao, entre outras.
O PC_IMAGE foi desenvolvido para o MS-Windows a partir da biblioteca de funes
C_IMAGES. Rotinas para aplicaes especiais podem ser desenvolvidas utilizando-se a
biblioteca C_IMAGES e chamadas em uma janela do PC_IMAGE.
Uma verso demonstrativa do PC_IMAGE est disponvel na Internet, no endereo
"http://www.demon.co.uk/ffaltd/ffaftp.html". Maiores informaes sobre o
software podem ser obtidas no endereo
"http://www.demon.co.uk/ffaltd/pcimage.html". O endereo da Foster Findlay
Associates "http://www.demon.co.uk/ffaltd/index.html".

SITIM
O extinto Sistema de Tratamento de Imagens (SITIM), da empresa Engespao, contava com
uma biblioteca de software desenvolvida pelo Instituto Nacional de Pesquisas Espaciais (INPE).
Dirigia-se a aplicaes em sistemas geogrficos de informaes, sensoriamento remoto e
microscopia.
Dentro de cada aplicao especfica, eram possveis operaes lgicas e aritmticas,
deteo de bordas, realce, filtragem, segmentao, extrao de caractersticas, classificao
supervisionada e no supervisionada, etc.
Algumas poucas informaes histricas sobre o SITIM podem ser encontradas na
Internet, na pgina do Laboratrio de Tratamento de Imagens Digitais do INPE, cujo endereo
"http://www.ltid.inpe.br/html/desc_2.html".

TIMWIN

1
Apesar de ter sido escrito em 1989 para os padres da poca (PC-XT com 640 kB de RAM, sem disco
rgido, monitor CGA monocromtico, etc.), o LATIM possui "importncia histrica" por ter permitido
viabilizar as aulas da disciplina de "Processamento de Imagens" do curso de Engenharia Industrial
Eltrica do CEFET-PR quando os nicos recursos computacionais disponveis eram exatamente estes.
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
234
um software para processamento de imagens e medies de propriedades de objetos para a
plataforma PC desenvolvido por TEA and DIFA Measuring Systems.
Mais de 200 operaes de processamento de imagens esto disponveis, divididas nos
seguintes grupos: operaes orientadas a pixel, operaes orientadas a vizinhana, operaes em
planos de bits, morfologia matemtica binria, operaes geomtricas, grficos, operaes de
controle e transformada de Fourier, entre outras.
Apenas o formato TIFF suportado, alm do formato proprietrio do aplicativo.
Maiores informaes e tambm uma verso demonstrativa do TIMWIN esto
disponveis na Internet, no endereo
"http://www.ph.tn.tudelft.nl/Software/TimWin/timwww2.html".

Software para Composio de Imagens Animadas
GifBuilder
um freeware para criao de arquivos de imagens animadas no formato GIF, utilizando a
plataforma Macintosh. Como entrada pode-se utilizar arquivos nos formatos GIF, PICT,
PSDTIFF e TIFF ou ainda no formato QuickTime. A sada um arquivo GIF de mltiplas
imagens. Algumas opes disponveis so a seleo de bits por pixel, palheta de cores,
entrelaamento, transparncia, tempo de atraso entre os quadros, repetio de quadros, etc.
O GIFBuilder pode ser obtido na Internet atravs do endereo
"http://www.shareware.com/", bastando digitar o seu nome no mecanismo de busca.

GifCon
O shareware GIF Construction Set (GIFCon), da empresa Alchemy Mindworks, permite a
montagem de imagens animadas no formato GIF na plataforma PC. possvel a incluso de
elementos de controle do tempo de exposio de cada quadro. As imagens de cada quadro, no
entanto, devem ser criadas com o auxlio de outro aplicativo que possibilite a gravao no
formato GIF.
O endereo da Alchemy Mindworks na Internet
"http://www.mindworkshop.com/alchemy/alchemy.html". O software est disponvel
em "http://www.mindworkshop.com/alchemy/gifcon.html", onde existem tambm
maiores informaes.

Software para Converso de Formatos
Gr aphicConver ter
O shareware GraphicConverter para Macintosh foi desenvolvido por Thorsten Lemke com o
objetivo inicial de converter os diversos formatos de arquivos de imagens entre si.
Posteriormente foram adicionadas algumas ferramentas de manipulao de imagens, incluindo
alguns filtros. Diversos formatos de arquivos so suportados, incluindo: BMP, EPSF, GIF,
HPGL, IFF, IMG, JPEG, MacPaint, PBM, PCX, PIC, PICT, PNG, PSD, RAW, SUN, TGA,
TIFF, WMF, XBM, etc. O GraphicConverter permite tambm a composio de imagens
animadas em arquivos GIF e QuickTime Movie.

Gr aphic Wor kshop
O shareware Graphic Workshop, da empresa Alchemy Mindworks, existe em verses para MS-
DOS e MS-Windows. Permite a leitura e converso dos mais variados formatos de arquivos de
imagens, entre eles: ART, BMP, CUT, HRZ, IFF, IMG, JPEG, LBM, MAC, MSP, PIC, PCX,
RAS, RLE, TGA, TIFF e WPG. Permite ainda algumas operaes de transformao e
manipulao simples de imagens.
Maiores informaes e o prprio software esto disponveis em
"http://www.mindworkshop.com/alchemy/gifcon.html", na Internet. A Alchemy
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
235
Mindworks pode ser contatada atravs da Internet pelo endereo
"http://www.mindworkshop.com/alchemy/alchemy.html".

Hijaak Gr aphics Suite
O software HiJaak, da Quarterdeck Corporation, um conjunto de aplicativos para manipulao
e processamento de imagens e converso de formatos de arquivos. composto pelos mdulos
HiJaak Browser, HiJaak Smuggler, HiJaak Paint, HiJaak Draw e HiJaak PRO.
O conjunto de aplicativos suporta inmeros formatos de arquivos de imagens, incluindo
entre outros: BMP, CGM, DXF, EPS, GIF, IFF, IMG, JPEG, MacPaint, MSP, PCD, PCX, PGL,
PICT, TGA, TIFF, WMF, WPG, alm de formatos de arquivos multimdia, tais como AVI, FLI,
MIDI, QuickTime e WAV. possvel a catalogao de arquivos e a converso entre formatos,
edio de imagens, criao de efeitos visuais, realce, filtragem, manipulao de histograma, etc.

Software para Manipulao de Imagens
Adobe PhotoShop
Desenvolvido pela Adobe Systems para as plataformas Macintosh e PC, o PhotoShop um dos
programas para manipulao de imagens fotogrficas mais populares existentes no mercado
O PhotoShop permite uma srie de operaes, incluindo transformaes geomtricas,
realce, filtragem e at mesmo alguns efeitos especiais. A estrutura do programa permite a
incluso de mdulos de processamento de terceiros, chamados plug-ins, tornando o PhotoShop
um aplicativo bastante verstil e com caractersticas expansveis.
H suporte para os formatos de arquivos BMP, EPS, GIF, IFF, JPEG, MacPaint, PCX,
PICT, PSD, RAW, TGA e outros.

Aldus PhotoStyler
O PhotoStyler, desenvolvido pela Aldus Corporation, destina-se ao processamento de imagens
fotogrficas. um programa bastante popular entre os programas de manipulao de imagens
existentes.
Os formatos de arquivos de imagem suportados pelo PhotoStyler so: BMP, EPS, GIF,
JPEG, MacPaint, PCD, PICT, PCX, PSD, RLE, TGA e TIFF. So possveis operaes de
transformao geomtrica, realce, filtragem e tambm alguns efeitos especiais.

Cor el Photo-Paint
Includo nos pacotes de software de editorao grfica da Corel, est o aplicativo Photo-Paint,
destinado ao processamento de imagens fotogrficas. Possibilita algumas operaes de filtragem
e efeitos especiais, operaes de realce e transformaes geomtricas.
O Photo-Paint possui suporte para os seguintes formatos de arquivos: BMP, GIF, JPEG,
PCD, PCX, TGA e TIFF.

Paintbr ush e Paint
O Paintbrush e o Paint so os programas de manipulao de imagens da Microsoft includos nas
verses 3.x e 95 do MS-Windows, respectivamente. Oferecem pouco suporte a formatos de
arquivos de imagem: apenas BMP, MSP e PCX. Oferecem tambm poucos recursos para
processamento, porm alguns recursos para desenho.

PhotoFinish
O software PhotoFinish da ZSoft Corporation permite o processamento de imagens fotogrficas
atravs de operaes de transformao geomtrica, realce, filtragem e diversos efeitos especiais.
Suporta os formatos BMP, GIF, JPEG, MSP, PCD, PCX, TGA e TIFF.

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
236
Software para Visualizao de Imagens
JPEGView
O postcardware
2
JPEGView para Macintosh foi desenvolvido por Aaron Giles para
apresentao de imagens no formato JPEG. Entretanto, h suporte tambm para os formatos
BMP, GIF, MacPaint, TIFF e PICT. O JPEGView permite ainda a visualizao de imagens
animadas no formato GIF.

LView
Desenvolvido por Leonardo Haddad Loureiro para ambiente MS-Windows, o freeware LVIEW
permite a visualizao de arquivos de imagens nos formatos BMP, GIF, JPEG e TGA.
possvel ainda realizar algumas operaes geomtricas e alguns ajustes nas imagens.

Pr eVue
O PreVue um shareware desenvolvido por Marvin Gozum que permite a apresentao de
arquivos de imagens nos formatos BMP, DCX, EPS, GIF, JPEG PICT, PCX e TGA. Permite
ainda a visualizao de imagens animadas nos formatos AVI, FLI e FLC, alm de ler arquivos
de som MIDI.

WinJPEG
O shareware WinJPEG, desenvolvido por Norman Yee e Ken Yee, permite pequenos ajustes e
visualizao de imagens nos formatos BMP, GIF, JPEG, PCX, TGA e TIFF.

CompuShow
O CompuShow (CSHOW) um shareware da empresa Canyon State Systems and Software
para visualizao de imagens nos formatos BMP, GIF, IMG, MacPaint, MSP, PCX, TGA,
TIFF, entre outros.

WinLab
A empresa Ph.D. Software desenvolveu o shareware Winlab, que permite a leitura de arquivos
de imagens nos formatos BMP, GIF, IMG, PCX, RAS, RAW, TGA e TIFF. Alm da simples
apresentao das imagens, o WinLab capaz de realizar equalizao de histograma e filtragem,
entre outras operaes.
7.2.2 Linguagens e ambientes para desenvolvimento
Biblioteca de Subrotinas Aurora
Desenvolvida pela empresa Data Translation em linguagem C, a biblioteca de subrotinas Aurora
possui diversas funes para operaes lgicas e aritmticas, convoluo (filtragem), operaes
orientadas a vizinhana, operaes estatsticas e outras.
Outras informaes podem ser obtidas diretamente com o fabricante atravs da Internet,
no endereo "http://www.datx.com/".
Biblioteca de Subrotinas para Processamento de Imagens DT-Iris
Similarmente biblioteca Aurora, a biblioteca DT-Iris da Data Translation possui funes
escritas em linguagem C para operaes lgicas e aritmticas, convoluo (filtragem),
manipulao de histograma, etc.
Maiores informaes so obtidas diretamente com o fabricante no endereo
"http://www.datx.com/", atravs da Internet.

2
O curioso termo postcardware foi cunhado pelo prprio autor do programa, para enfatizar ao usurio
que a 'taxa' cobrada para a regularizao do software o envio de um carto postal.
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
237
C_IMAGES
A biblioteca C_IMAGES, desenvolvida pela empresa Foster Findlay Associates, contm
diversas rotinas de processamento e anlise de imagens. Escrita em linguagem C, a biblioteca
independente de plataforma de hardware.
O mdulo principal permite filtragens linear e no-linear, limiarizao, manipulao de
histograma, operaes de morfologia matemtica binria, operaes de medida, operaes de
transformao geomtrica, operaes lgicas e aritmticas, entre outras.
Alguns mdulos opcionais incluem operaes de converso de formatos de arquivos de
imagens, morfologia matemtica em nveis de cinza e processamento de imagens coloridas.
Recentemente foi desenvolvido tambm um mdulo especial para o processamento de imagens
tridimensionais.
Uma verso demonstrativa est disponvel na Internet, no endereo
"http://www.demon.co.uk/ffaltd/ffaftp.html". Maiores informaes sobre a
biblioteca podem ser obtidas no endereo
"http://www.demon.co.uk/ffaltd/cimages.html". O endereo da Foster Findlay
Associates "http://www.demon.co.uk/ffaltd/index.html".
Caixa de Ferramentas (Toolbox) para Processamento de Imagens do MATLAB
Trata-se de uma biblioteca de rotinas desenvolvidas para o software MATLAB, especficas para
o processamento de imagens. possvel a criao de programas (arquivos M) para o MATLAB,
utilizando-se dessas funes e possivelmente criando outras.
Existe suporte para os formatos BMP, GIF, HDF, PCX, TIFF e XWD. As funes
permitem operaes de manipulao e realce de imagens, transformaes geomtricas,
morfologia matemtica binria, filtragem, transformada de Fourier bidimensional, extrao de
dados estatsticos, etc.
O endereo da MathWorks, fabricante do MATLAB, na Internet,
"http://www.mathworks.com/".
DADiSP
O software DADiSP foi especialmente desenvolvido para uso de engenheiros e cientistas pela
empresa DSP Development Corporation.
Disponvel para diversas plataformas, o DADiSP consiste numa interface grfica de
processamento e anlise de sinais e imagens. Possui excelente capacidade de apresentao de
grficos, alm de permitir operaes com matrizes, transformada de Fourier bidimensional,
anlise estatstica, filtragem digital, etc.
O endereo na Internet da DSP Development Corporation
"http://www.dadisp.com/", onde esto disponveis maiores informaes e verses
demonstrativas do DADiSP.
Khoros
O Khoros um ambiente de desenvolvimento para processamento de imagens, grficos e
visualizao. composto de bibliotecas de programao, exemplos de cdigo e ferramentas de
programao, projetadas especificamente para diversas reas de aplicao. possvel o
processamento de vastas bases de dados, graas ao suporte ao processamento distribudo. O
Khoros considerado independente de plataforma, tendo sido portado para diversos modelos
diferentes de estaes de trabalho e computadores pessoais.
O Consrcio Khoros, responsvel pelo desenvolvimento, distribui o software em regime
de sistema aberto. As contribuies de pesquisadores e membros do Consrcio, atuando
independentemente, so as responsveis pelos melhoramentos e extenses do Khoros.
O site da Khoral Research na Internet contm maiores informaes sobre o Khoros:
"http://www.khoral.com/".
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
238
OPTIMAS
A empresa Optimas Corporation criou uma linguagem analtica para o processamento de
imagens, baseada na sintaxe da linguagem C. O software OPTIMAS, de mesmo nome da
empresa fabricante, permite a criao de macros especficas para cada caso de processamento e
anlise de imagens.
A biblioteca de funes disponveis possui funes de converso entre os formatos de
arquivos IMG, GIF, PCX, PICT e TIFF, entre outros. Possui tambm funes de manipulao
de histograma, limiarizao, deteo de bordas, filtragem, morfologia matemtica, transformada
de Fourier bidimensional, operaes de medida e coleta de dados estatsticos, etc. O OPTIMAS
tambm permite que as operaes sejam realizadas manualmente atravs de menus e cones.
Na Internet, o endereo da Optimas Corporation "http://www.optimas.com/".
Uma verso demonstrativa do software e maiores informaes sobre o mesmo podem ser
obtidas no endereo "http://www.optimas.com/opdesc.htm".
SPRING
O Sistema de Processamento de Informaes Geogrficas (SPRING), desenvolvido pelo
Instituto Nacional de Pesquisas Espaciais (INPE), orientado ao processamento de imagens
geogrficas. Possui recursos para filtragem, operaes aritmticas, transformao HSI-RGB,
segmentao, classificao, estatstica, restaurao, eliminao de rudo, manipulao de
histograma, etc.
Alguns dos objetivos do Projeto SPRING so: tornar amplamente acessvel
comunidade brasileira um GIS de rpido aprendizado; fornecer um ambiente unificado de
Geoprocessamento e Sensoriamento Remoto para aplicaes urbanas e ambientais; produzir um
sistema multiplataforma, para ambientes Windows, Linux, Solaris, SunOS, HP-UX, IRIX,
DEC-OSF/1 e AIX; e dispor de uma biblioteca de classes em C++ que suporte o
desenvolvimento de estudos e projetos em GIS.
Maiores detalhes sobre o SPRING podem ser obtidos atravs do endereo
"http://www.inpe.br/spring/", na Internet.
VISILOG
O pacote VISILOG, desenvolvido pela empresa NOESIS, fornece uma vasta biblioteca de
algoritmos para processamento de imagens. um programa modular, composto de um ncleo e
uma srie de extenses opcionais.
O ncleo estruturado em trs principais sub-sistemas: o gerente de entrada e sada, a
caixa de ferramentas para anlise de imagens e a interface com o usurio. Escrito em linguagem
C, numa abordagem orientada a objetos, o VISILOG foi concebido com nfase na
independncia de plataforma de hardware. A caixa de ferramentas para anlise de imagens
suporta operaes ponto a ponto, operaes orientadas a vizinhana, operaes geomtricas,
operaes de medida, deteo de bordas, transformada de Fourier bidimensional, entre outras.
Algumas das extenses opcionais disponveis so: o mdulo de morfologia matemtica,
o mdulo de segmentao de imagens, o mdulo de reconhecimento de padres, o mdulo de
reconhecimento de caracteres, o mdulo de processamento de cores e outros mdulos de
processamento de imagens tridimensionais.
Aplicaes tpicas do VISILOG incluem: controle de qualidade (inspeo automtica),
metalografia, robtica, gerao de imagens mdicas e anlise microscpica, sensoriamento
remoto, etc.
Informaes mais detalhadas sobre o Visilog esto disponveis na Internet, no endereo
"http://www.noesisvision.com/prod01.htm". O endereo da Noesis
"http://www.noesisvision.com/".
Na Internet
Os endereos mencionados ao longo do captulo encontram-se agrupados a seguir.
"http://www.mindworkshop.com/alchemy/alchemy.html"
Alchemy Mindwor ks
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
239

"http://www.demon.co.uk/ffaltd/cimages.html"
C_IMAGES

"http://www.datx.com/"
Data Tr anslation

"http://www.dadisp.com/"
DSP Development Cor por ation

"http://www.demon.co.uk/ffaltd/index.html"
Foster Findlay Associates - Home Page

"http://www.mindworkshop.com/alchemy/gifcon.html"
GIF Constr uction Set for Windows

"http://www.datx.com/tech/global_lab_img.htm"
Global Lab Image

"http://www.mindworkshop.com/alchemy/gww.html"
Gr aphic Wor kshop for Windows

"http://www.mathworks.com/"
MathWor ks

"http://www.khoral.com/"
Khor al Resear ch

"http://www.noesisvision.com/"
Noesis


"http://www.optimas.com/"
Optimas Cor por ation

"http://www.optimas.com/opdesc.htm"
OPTIMAS

"http://www.demon.co.uk/ffaltd/pcimage.html"
PC_IMAGE

"http://www.shareware.com/"
Shar ewar e

"http://www.inpe.br/spring/"
SPRING

"http://www.ph.tn.tudelft.nl/Software/TimWin/timwww2.html"
TIMWIN

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
240
"http://www.noesisvision.com/prod01.htm"
Visilog

Alm dos sites acima, outros endereos de interesse so:
"http://www.cs.uwa.edu.au/robvis/VIP.html"
VIP
Descreve biblioteca de funes em C desenvolvida pela University of Western Australia.

"http://www.vision1.com/cameras.html"
CCD Camer as
Guia tcnico-comercial de fabricantes e modelos de cmeras.

"http://www.cmpcmm.com/cc/standards.html"
Computer and Communication Standar ds
Descreve padres de vdeo, como por exemplo o RS-170.

"http://www.vision1.com/products.html"
Machine Vision Pr oduct Infor mation
Diretrio de informaes prticas sobre hardware e software para viso computacional.

"http://www.tucows.com/"
Welcome to TUCOWS
Repositrio de software para download. Inclui diversos programas de visualizao e
manipulao de imagens.

Bibliografia

[Dougherty 1994] Dougherty, E.R. (ed.), Digital Image Processing Methods,
Marcel Dekker, 1994.

[Grob 1989] Grob, B., Televiso e Sistemas de Vdeo, Guanabara, 1989.

[Pearson 1991] Pearson, D. (ed.), Image Processing, McGraw-Hill, 1991.

[Rubinstein 1988] Rubinstein, R., Digital typography, Addison-Wesley, 1988.

[Schalkoff 1989] Schalkoff, R.J., Digital Image Processing and Computer Vision,
Wiley, 1989.

[Vellacott 1994] Vellacott, O., "CMOS in Camera", IEE Review, Maio 1994.


Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
241
Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
242

MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Apndice A
Formatos de Arquivos de Imagens
Este apndice contm informaes tcnicas bsicas sobre os principais formatos de arquivos de
imagens disponveis atualmente. Seu principal objetivo fornecer uma viso comparativa entre
os vrios formatos, tanto para arquivos de imagens estticas (2-D ou 3-D) ou dinmicas
(animao e vdeo). Para o leitor interessado em maiores aprofundamentos em qualquer um
destes formatos, so sugeridos bibliografia e endereos relevantes na Internet.
A.1 Representao atravs de bitmaps e atravs de vetores
Dois modos de representao bsicos podem ser utilizados para compor imagens: (1) atravs de
bitmaps (mapas de bits), tambm conhecidos como pixel maps (mapas de pixels) ou raster
(varredura), e (2) atravs de vetores. Alguns formatos de arquivos de imagens podem empregar
uma composio de ambos os mtodos de representao, que diferem significativamente entre
si.
A representao atravs de bitmaps constitui a forma mais simples de implementao e
funciona para qualquer imagem, dentro de determinados limites. Os bitmaps nada mais so do
que o conjunto de pixels da imagem digital, onde o valor de cada pixel representa as suas
caractersticas de luminosidade e cor. Desse modo, os dados mapeiam a imagem, dando origem
ao nome bitmap.
Bitmaps funcionam bem para imagens com variaes complexas em suas formas e
cores, tais como quadros (frames) de vdeo e fotografias digitalizadas. As imagens das telas de
computadores so criadas no formato bitmap e portanto so mais facilmente gravadas do mesmo
modo. As imagens bitmap tambm so adequadas para reproduo em impressoras, cujo mtodo
de formao de imagens semelhante varredura de um monitor de vdeo.
Na representao atravs de vetores, descreve-se uma imagem atravs dos parmetros
das formas geomtricas que a compem. Em outras palavras, os pontos, linhas, polgonos,
crculos, elipses e demais formas geomtricas complexas, preenchidas ou no, so representados
atravs de parmetros e coeficientes matemticos. Normalmente os arquivos de imagens
representados atravs de vetores se parecem com listagens de programas que contm comandos
e dados em formato ASCII. Por exemplo, um retngulo com vrtice superior esquerdo situado
em (10,20) e com vrtice inferior direito situado em (60,50) no plano cartesiano, poderia ser
hipoteticamente representado pelo comando RECTANGLE(10,20,60,50).
A representao atravs de vetores adequada para imagens com predominncia de
linhas, constitudas de formas geomtricas e preenchimentos simples, tais como diagramas,
grficos simples e desenhos gerados em programas CAD. Imagens representadas por vetores so
particularmente teis para reproduo em plotters, cujo processo de formao de imagens
baseia-se no desenho de linhas contnuas.
As tcnicas de representao por bitmaps e vetores podem ser combinadas, compondo o
chamado metafile (meta-arquivo), no qual costuma predominar a informao vetorial em relao
aos bitmaps.
A.1.1 Comparaes entre as formas de representao
Bitmaps podem representar qualquer tipo de imagem, uma vez que toda imagem pode ser
digitalizada. No entanto, imagens do tipo bitmap apresentam alguns problemas.
Um dos problemas prticos existentes o tamanho da imagem, que pode demandar
vrios megabytes para armazenamento e processamento, no caso de uma imagem colorida de
alta resoluo. por esse motivo que as tcnicas de compresso de dados (ver captulo 6) so
importantes na representao de imagens atravs de bitmaps. Outro problema de ordem prtica
For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
244
o alto poder de processamento requerido para manipular imagens do tipo bitmap. A resoluo
fixa tambm um problema, resultando em qualidade visual inferior sempre que se procura
ampliar a imagem original e em perda de resoluo quando se armazena uma verso reduzida
em tamanho.
A representao atravs de vetores possui maior limitao no que tange ao que pode ser
representado efetivamente em relao ao que pode ser representado por bitmaps. Por exemplo,
embora muito adequada para representar um projeto arquitetnico, ela no apropriada para
representar uma foto digitalizada. Porm, existe uma maior flexibilidade quanto resoluo
obtida e tambm quanto manipulao das formas geomtricas da imagem, as quais podem ser
tratadas como objetos independentes.
A.1.2 Outras classes de representao
Existem ainda mtodos de representar imagens tridimensionais que fazem uso de modelos
matemticos complexos. Esses modelos incluem informaes sobre fontes de luz, cmeras e
objetos da cena.
Para aplicaes em multimdia, h formatos de animao e vdeo, capazes de armazenar
uma seqncia de imagens. A diferena bsica entre os dois que o formato de vdeo armazena
uma trilha sonora juntamente com a seqncia de imagens.
A.2 Formatos de Arquivos de Imagem
A.2.1 Arquivos de Imagens 2-D
BMP / DIB
Nome: Microsoft Windows Device Independent Bitmap.
Proprietrio: Microsoft Corporation.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores com at 24 bits. Cores com at 8 bits so armazenadas na
forma de mapa de cores. Pode ser compresso RLE ou nenhuma
compresso.
Plataformas: PC e Macintosh.
Aplicaes: Armazenamento de imagens para uso no Microsoft Windows.
Vantagens: Bem suportado no Microsoft Windows.
Desvantagens: Pouco suportado em outros sistemas.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
245
CGM
Nome: Computer Graphics Metafile.
Proprietrio: American National Standards Institute.
Tipo de Arquivo: Metafile.
Caractersticas: Possui 3 diferentes codificaes: binria de 8 bits, binria de 16 bits e
texto. Consiste numa seqncia de comandos grficos.
Plataformas: PC e estaes de trabalho UNIX.
Aplicaes: Armazenamento e troca de imagens.
Vantagens: o nico padro grfico oficial at o momento.
Desvantagens: Difcil de ser implementado e validado, possuindo 3 codificaes
incompatveis entre si.

DXF
Nome: Drawing Interchange Format.
Proprietrio: Autodesk, Inc.
Tipo de Arquivo: Vetor binrio e ASCII (imagens bi- e tridimensionais).
Caractersticas: Constitui mais uma linguagem grfica que um formato de imagem
propriamente dito. capaz de representar modelos tridimensionais.
Plataformas: PC, Macintosh e estaes de trabalho UNIX.
Aplicaes: Projeto Assistido por Computador (CAD).
Vantagens: Largamente suportado em aplicativos CAD.
Apresenta a vantagem de descrever vetores tridimensionais.
Desvantagens: ineficiente para armazenamento.
Implementar um leitor completo para o formato DXF requer muito
esforo, pois o mesmo deve ser capaz de desenhar e manipular fontes e
formas geomtricas complexas, e ainda representar bidimensionalmente
formas tridimensionais.
For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
246
FIF
Nome: Fractal Image Format
Proprietrio: Iterated Systems
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores com at 24 bits. Utiliza tcnica de compresso de dados
baseada em fractais, a qual possibilita que a taxa de compresso seja
estipulada pelo usurio.
Aplicaes: Artes grficas e editorao eletrnica.
Vantagens: Apresenta altas taxas de compresso sem degradao notvel na
imagem.
Desvantagens: O mtodo de compresso matematicamente complexo e geralmente
exige hardware especial.
A documentao tcnica do formato no est disponvel publicamente.

FITS
Nome: Flexible Image Transfort System.
Proprietrio: Grupo de Trabalho da Comisso 5 da Unio Internacional de
Astronomia.
Tipo de Arquivo: Bitmap.
Caractersticas: Os dados do formato FITS bsico consistem normalmente em matrizes
de dimenso N. Em arquivos que contm imagens, essa matriz
geralmente bidimensional (imagem em nveis de cinza) ou
tridimensional (conjunto de imagens em nveis de cinza).
Plataformas: Estaes de trabalho UNIX e PC.
Aplicaes: Armazenamento e troca de imagens astronmicas.
Vantagens: Permite a incluso de dados descritivos sobre a imagem.
um formato bastante porttil e bem padronizado.
Desvantagens: Extremamente orientado para aplicaes astronmicas.
No utiliza nenhuma tcnica de compresso de dados.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
247
GIF
Nome: Graphics Interchange Format.
Proprietrio: CompuServe, Inc.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores de at 24 bits numa palheta de at 256 cores em imagens
de at 65536 por 65536 pixels. Utiliza compresso de dados pela tcnica
LZW. Permite o armazenamento de mltiplas imagens num mesmo
arquivo, possibilitando animaes.
Plataformas: A maioria dos computadores pessoais e algumas estaes de trabalho
UNIX.
Aplicaes: Artes grficas, editorao eletrnica. Apresentao de imagens na
Internet.
Vantagens: um formato excelente para troca de dados entre diferentes plataformas
com boas taxas de compresso.
A sua popularidade ainda mais aumentada graas ao seu uso como
formato padro de imagens utilizado na Internet, juntamente com o
padro JPEG, e distribuio gratuita da sua documentao pela
CompuServe.
Desvantagens: No apresenta possibilidade de armazenamento de tabelas de tons de
cinza nem de correo de cor.
Tambm no possibilita representao dos dados nos modelos CMYK e
HSI.
At o momento possvel armazenar somente uma palheta de 256 cores
de 24 bits.

HPGL
Nome: Hewlett-Packard Graphics Language.
Proprietrio: Hewlett-Packard Co.
Tipo de Arquivo: Vetor.
Caractersticas: Constitui a linguagem de comandos para os plotters HP. Consiste quase
que completamente de caracteres ASCII, tornando-se fcil de produzir e
corrigir.
Plataformas: Plotters HP e compatveis e impressoras a laser.
Aplicaes: Controle de plotters e atualmente impressoras a laser.
Vantagens: Amplamente utilizado.
Independente do tamanho do papel, porm imagens muito grandes
podem exigir que o desenho seja feito em partes.
Desvantagens: Como um formato de imagem constitui um nvel muito baixo de
representao.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
248
IFF
Nome: IFF Interleaved Bitmap (ILBM).
Proprietrio: Electronic Arts, Inc.
Tipo de Arquivo: Bitmap.
Caractersticas: Tipicamente as imagens no formato ILBM apresentam largura de 320 ou
640 pixels (modos de vdeo do Amiga). As imagens com largura de 640
pixels suportam cores com 4 bits e as imagens com 320 pixels de largura
suportam cores com 5 bits. Cores com 6 bits so suportadas em modos
de vdeo exclusivos do Amiga. No entanto, os mapas de cor so
armazenados em 8 bits. Tambm possvel armazenar informaes das
coordenadas de um ponto principal, caso a imagem seja de um cursor.
Utiliza compresso pela tcnica RLE, ou nenhuma compresso.
Plataformas: Amiga e, restritamente, Macintosh e PC.
Aplicaes: Multimdia.
Vantagens: um formato bem padronizado e extensvel.
Oferece possibilidade de uso de caractersticas exclusivas do hardware
de vdeo do Amiga.
Desvantagens: Pelo fato de ser extensvel, podem existir extenses incompatveis entre
si.
Oferece pouca compresso de dados.

IMG
Nome: GEM IMG.
Proprietrio: Originalmente, Digital Research. Atualmente, Novell.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta imagens monocromticas, em tons de cinza e a cores. Imagens
coloridas so armazenadas em 4 planos diferentes (R, G, B e W). Utiliza
mtodo de compresso em blocos.
Plataformas: Atari e PC.
Aplicaes: Artes grficas e editorao grfica em ambiente grfico GEM.
Vantagens: suportado pelos aplicativos do ambiente grfico GEM.
Desvantagens: Pouca compresso, sem possibilidade de uso de mapas de cor.
Pouca documentao disponvel.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
249
JPEG
Nome: JPEG.
Proprietrio: Joint Photographic Experts Group.
Tipo de Arquivo: Bitmap comprimido.
Caractersticas: Permite o uso de diversas tcnicas de compresso, sendo que a maioria
delas apresenta perdas, o que significa que a imagem original no ser
exatamente idntica imagem recuperada aps a descompresso. A taxa
de compresso pode ser determinada pelo usurio. Suporta cores com at
24 bits.
Plataformas: Macintosh, PC e estaes de trabalho UNIX.
Aplicaes: Armazenamento digital de fotografias. Apresentao de imagens na
Internet.
Vantagens: Oferece a maior taxa de compresso existente para imagens fotogrficas.
Ao lado do padro GIF, constitui um dos padres para arquivos de
imagens apresentadas na Internet.
Permite compresso atravs de hardware especfico.
Desvantagens: O padro ainda est em desenvolvimento e existem algumas opes
incompatveis entre si.
A compresso e descompresso por software um tanto lenta.

MAC
Nome: MacPaint (PNTG).
Proprietrio: Apple Computer, Inc.
Tipo de Arquivo: Bitmap binrio.
Caractersticas: Suporta apenas imagens binrias (preto e branco) em apenas um nico
tamanho de 576 por 720 pixels. Utiliza compresso do tipo PackBits.
Plataformas: Macintosh e PC.
Aplicaes: Uso geral em aplicativos Macintosh e em alguns aplicativos PC.
Vantagens: amplamente suportado por aplicativos Macintosh.
compacto e simples de ser implementado.
Desvantagens: Extremamente limitado quanto ao tamanho e ao nmero de tons da
imagem (permite escala de cinzas apenas atravs da tcnica de
dithering).

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
250
MSP
Nome: Microsoft Paint.
Proprietrio: Microsoft Corporation.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta apenas bitmaps monocromticos (preto e branco). Utiliza a
tcnica de compresso RLE.
Plataformas: PC.
Aplicaes: Artes grficas e editorao eletrnica.
Vantagens: um formato compacto.
Desvantagens: muito limitado e pouco suportado.

PBM
Nome: Portable Bitmap Utilities.
Proprietrio: Jef Poskanzer (autor do aplicativo PBM Utilities).
Tipo de Arquivo: Bitmap.
Caractersticas: Possui trs subformatos: Portable Bitmap (para bitmaps
monocromticos), Portable Gray Map (para bitmaps em tons de cinza) e
Portable Pixel Map (para bitmaps em cores). Cada subformato pode
assumir duas variantes: codificao binria e codificao em cdigo
ASCII.
Plataformas: Estaes de trabalho UNIX e PC.
Aplicaes: Converso de formatos de arquivos de imagem.
Vantagens: Esse formato simples de ser escrito e lido, atravs de codificao por
texto.
Desvantagens: Resulta em arquivos muito grandes para servir como formato de
armazenamento.
As verses binrias suportam apenas cores com at 8 bits. basicamente
suportado apenas em UNIX.
For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
251
PCD
Nome: Kodak Photo CD.
Proprietrio: Kodak.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores com at 24 bits, utilizando um modelo especial para
reproduo e impresso em alta qualidade. A tcnica de compresso de
dados utilizada proprietria.
Plataformas: Macintosh, PC e estaes de trabalho UNIX.
Aplicaes: Armazenamento de imagens fotogrficas em CD.
Vantagens: Possui amplo suporte em programas de editorao.
Desvantagens: O formato pode ser gerado somente por equipamentos profissionais da
Kodak.

PCX
Nome: PCX.
Proprietrio: Zsoft Corporation.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores com at 24 bits em imagens de at 65536 por 65536
pixels. Pode utilizar compresso de dados pela tcnica RLE ou nenhuma
compresso.
Plataformas: PC e Macintosh.
Aplicaes: Artes grficas e editorao eletrnica.
Vantagens: um dos formatos mais antigos e portanto suportado pela maioria dos
aplicativos PC.
Desvantagens: No apresenta possibilidade de armazenamento de tabelas de tons de
cinza nem de correo de cor.
Tambm no possibilita representao dos dados nos modelos CMYK e
HSI.
A tcnica RLE de compresso de dados no muito eficiente para
imagens complexas, tais como fotos.
Devido s muitas implementaes possveis, alguns aplicativos no so
capazes de ler todas os tipos existentes.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
252
PCL
Nome: Hewlett-Packard Printer Control Language.
Proprietrio: Hewlett-Packard Co.
Tipo de Arquivo: Seqncia de comandos de impressora a laser.
Caractersticas: constitudo de comandos de impresso, possibilitando a incluso de
imagens bitmap monocromticas. Utiliza as tcnicas de compresso
RLE, PackBits, modulao Delta entre linhas e adaptativa, ou ainda,
nenhuma compresso.
Plataformas: Impressoras a laser HP e compatveis.
Aplicaes: Controle de impressoras a laser.
Vantagens: Constitui a linguagem de comandos para impressoras a laser mais
suportada e uma das mais compactas para imagens bitmap
monocromticas.
Desvantagens: Suporta apenas imagens monocromticas.
Recuperar a imagem armazenada significa na maioria das vezes simular
o modelo de gerao de imagens da impressora.

PCT
Nome: QuickDraw Picture Format (PICT).
Proprietrio: Apple Computer, Inc.
Tipo de Arquivo: Metafile (linguagem binria de descrio de pgina).
Caractersticas: constitudo de uma seqncia de comandos grficos, os quais podem
conter dados vetoriais ou imagens bitmap. Suporta apenas bitmaps
monocromticos de at 32KB com resoluo fixa de 72 dpi na sua
verso 1 (QuickDraw). Suporta at 256 cores utilizando uma palheta de
48 bits na sua verso 2 (Color QuickDraw). No permite armazenamento
de informaes de correo gama.
Plataformas: Primeiramente Macintosh, atualmente tambm PC e estaes de trabalho
UNIX.
Aplicaes: Formato de apresentao de grficos QuickDraw no Macintosh.
Vantagens: Constitui um dos formatos grficos mais suportados no Macintosh.
Bitmaps monocromticos so armazenados atravs da eficiente tcnica
de compresso PackBits.
Desvantagens: Apesar de permitir maior profundidade de cores, est limitado ao sistema
Color QuickDraw, que l e escreve os arquivos PICT no Macintosh.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
253
PIC
Nome: PIC.
Proprietrio: Lotus Development Corp.
Tipo de Arquivo: Vetor.
Caractersticas: Seqncia de comandos grficos.
Plataformas: PC, estaes de trabalho.
Aplicaes: Arquivo intermedirio entre a planilha de clculo Lotus 1-2-3 e
aplicativos de impresso grfica.
Vantagens: Simples de ser gerado e lido.
Desvantagens: Muito inflexvel.

PS
Nome: PostScript.
Proprietrio: Adobe Systems, Inc.
Tipo de Arquivo: Metafile (linguagem de descrio de pgina).
Caractersticas: Suporta cores com at 36 bits. Permite padronizao e correo de cores,
imagens dos tipos bitmap e vetor, fontes do tipo vetor e transformaes
lineares em imagens. Pode ser armazenado em ASCII ou dados binrios.
Possui 4 variantes: Level 1, Level 2, Encapsulated e Display PostScript.
Plataformas: Primeiramente Macintosh, atualmente tambm PC e estaes de trabalho
UNIX.
Aplicaes: Editorao eletrnica.
Vantagens: Constitui o padro absoluto para editorao eletrnica.
Desvantagens: geralmente armazenado em ASCII, fato que torna arquivos de imagens
bitmap grandes e a sua leitura e apresentao um tanto lenta.
Constitui um formato de difcil interpretao.

PSD
Nome: Adobe Photoshop.
Proprietrio: Adobe Systems, Inc.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores com at 24 bits. Suporta camadas de cores e canais Alfa.
Utiliza a tcnica de compresso de dados RLE.
Plataformas: Macintosh e PC.
Aplicaes: Artes grficas e editorao eletrnica.
Vantagens: um formato popular e amplamente suportado, pelo fato de possibilitar
o uso de mltiplas camadas de cores e canais Alfa.
Desvantagens: A tcnica RLE no oferece grandes taxas de compresso.
For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
254
RAS
Nome: Sun Rasterfiles.
Proprietrio: Sun Microsystems.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores com at 24 bits ou mapas de cores. As formas de
compresso utilizadas so RLE ou nenhuma compresso, podendo
comportar os formatos TIFF ou IFF.
Plataformas: Estaes de trabalho Sun.
Aplicaes: Armazenamento de imagens.
Vantagens: Bem suportado nas estaes de trabalho Sun.
Desvantagens: Pouco suportado em outros sistemas.

TGA
Nome: Targa.
Proprietrio: Truevision, Inc.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores com at 32 bits, com ou sem mapa e tabela de correo de
cores. Utiliza a tcnica RLE de compresso de dados ou nenhuma
compresso.
Plataformas: PC e Macintosh.
Aplicaes: Captura de imagens de vdeo.
Vantagens: um formato que permite diversas anotaes sobre a imagem.
Desvantagens: Possui muitos subformatos, nem todos suportados por todos os
aplicativos.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
255
TIFF
Nome: Tag Image File Format (TIFF).
Proprietrio: Aldus Corporation.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores com at 48 bits ou uma palheta de 65536 cores. Permite
dados de transparncia e opacidade. O tipo de compresso utilizado varia
com a verso do formato (RLE, LZW, PackBits, Huffmann Modificada,
Fac-smile Grupos 3 e 4 ou nenhuma).
Plataformas: Macintosh, PC e estaes de trabalho UNIX.
Aplicaes: Artes grficas, editorao eletrnica.
Vantagens: suportado por diversas plataformas de hardware, sendo especialmente
til para troca de dados entre plataformas diferentes.
um formato adequado para vrios tipos de aplicao e muito bem
documentado.
Apresenta boas taxas de compresso.
Desvantagens: A versatilidade do TIFF promove algumas dificuldades, devidas s
inmeras possibilidades de criao de extenses do formato.
No entanto, a verso 6.0 do formato TIFF especifica uma linha mestra de
capacidades, visando melhorar sua funcionalidade para troca de dados
entre aplicativos.

UNIX Plot Format
Nome: UNIX Plot Format.
Proprietrio: UNIX System Labs.
Tipo de Arquivo: Vetor.
Caractersticas: Seqncia de comandos grficos.
Plataformas: Estaes de trabalho UNIX.
Aplicaes: Formato comum para aplicativos de desenho para o sistema UNIX.
Vantagens: Suporte universal de baixo nvel em sistemas baseados em UNIX.
Desvantagens: Muito baixo nvel, suporte limitado.
Apresenta problemas quanto a ordem de armazenamento de bytes em
computadores incompatveis entre si.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
256
WMF
Nome: Microsoft Windows Metafile.
Proprietrio: Microsoft Corporation.
Tipo de Arquivo: Lista de funes.
Caractersticas: Armazena uma lista de chamadas a funes grficas do Microsoft
Windows. Cada chamada contm um tamanho, um nmero de funo e
alguns argumentos. Muitas das chamadas possuem uma referncia de cor
como argumento, possibilitando tanto cores com 24 bits quanto mapas
de cores.
Plataformas: PC.
Aplicaes: Armazenamento e troca de imagens entre aplicativos no Microsoft
Windows.
Vantagens: Possibilita tamanhos de arquivos bem menores que os correspondentes
bitmaps, devido a descries de caractersticas de alto nvel.
um formato de arquivo bem estruturado.
Desvantagens: Fortemente relacionado ao modelo de gerao de imagens do Microsoft
Windows.
Os arquivos so relativamente complexos.

WPG
Nome: WordPerfect Graphics.
Proprietrio: Originalmente, WordPerfect. Atualmente, Novell.
Tipo de Arquivo: Metafile.
Caractersticas: Pode armazenar tanto bitmaps quanto seqncias de comandos grficos.
No suporta mapas de cores e requer que as primeiras 16 cores da
palheta utilizada sejam as cores do padro VGA. As demais 16 cores da
palheta devero ser tons de cinza, partindo do preto at o branco. Utiliza
compresso de dados do estilo PackBits.
Plataformas: Macintosh, PC e estaes de trabalho UNIX.
Aplicaes: Editorao eletrnica.
Vantagens: Bem suportado no WordPerfect e aplicativos correlatos.
Desvantagens: Pouco suportado em outros aplicativos.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
257
XBM
Nome: X Window Bitmaps.
Proprietrio: MIT X Consortium.
Tipo de Arquivo: Bitmap monocromtico.
Caractersticas: constitudo de cdigo fonte em C, a ser compilado por aplicativos do
sistema X Windows. Prev o armazenamento de um ponto central da
imagem, caso esta seja referente a um cursor.
Plataformas: Estaes de trabalho UNIX.
Aplicaes: Cursores e cones para o sistema X Windows.
Vantagens: lido diretamente pelo sistema X Windows.
Desvantagens: especfico apenas ao sistema X Windows.

XWD
Nome: X Window Dump.
Proprietrio: MIT X Consortium.
Tipo de Arquivo: Bitmap.
Caractersticas: Permite um grande nmero de subformatos. Suporta diversas
configuraes de cores, atravs de mapas ou no. No utiliza compresso
de dados.
Plataformas: Estaes de trabalho UNIX.
Aplicaes: Armazenamento de imagens no sistema X Windows.
Vantagens: suportado por muitos aplicativos do sistema X Windows.
Desvantagens: No possui suporte significativo fora do sistema X Windows.
Gera arquivos pouco eficientes em termos de tamanho.
A.2.2 Arquivos de Imagens 3-D
3DS
Nome: 3D Studio.
Proprietrio: Autodesk, Inc.
Tipo de Arquivo: Modelo de imagens tridimensionais.
Caractersticas: Suporta modelos tridimensionais, normas e atributos de superfcie e
animao.
Plataformas: PC.
Aplicaes: Modelagem e animao tridimensionais.
Vantagens: suportado por diversos aplicativos na plataforma PC.
Desvantagens: um formato restrito plataforma PC.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
258
OBJ
Nome: Wavefront Object.
Proprietrio: Wavefront Technologies.
Tipo de Arquivo: Modelo de imagens tridimensionais.
Caractersticas: Suporta modelos tridimensionais, normas e atributos de superfcie e
animao. no utiliza nenhuma tcnica de compresso. Possui dois
subformatos: texto e binrio.
Aplicaes: Modelagem e animao tridimensionais.
Vantagens: O formato texto possui estrutura aberta.
Desvantagens: O formato binrio proprietrio do fabricante.

POV
Nome: POV Raytracer.
Proprietrio: Persistence of Vision.
Tipo de Arquivo: Modelo de imagens tridimensionais.
Caractersticas: Suporta modelos tridimensionais, normas e atributos de superfcie e
animao. no utiliza nenhuma tcnica de compresso..
Aplicaes: Modelagem e animao tridimensionais.
Vantagens: Consiste numa linguagem de descrio simples baseada em cenas
tridimensionais.
Desvantagens: necessrio conhecimento de programao para se escrever um arquivo
de descrio de cena.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
259
RIB
Nome: Rendermand Interface Bytestream.
Proprietrio: Pixar.
Tipo de Arquivo: Descrio de cena.
Caractersticas: Consiste numa linguagem altamente especializada para representao em
alta qualidade, tipicamente em formato ASCII, mas tambm
possivelmente em formato binrio. Aceita modelos tridimensionais de
dados, incluindo informaes sobre a cmera, luzes e outras variveis
como opacidade dos objetos. Opcionalmente pode ser dividido em dois
ou mais quadros, permitindo a representao de seqncias de animao.
Plataformas: Macintosh, PC e estaes de trabalho UNIX.
Aplicaes: Representao de cenas tridimensionais, contendo informaes sobre a
cmera, luzes e demais componentes.
Vantagens: um dos formatos mais sofisticados, capaz de criar imagens
bidimensionais realsticas a partir de informaes tridimensionais de
uma cena.
considerado o maior passo dado em direo a um padro da indstria
para esse fim.
Desvantagens: Leitores do formato RIB so aplicativos muito complexos de serem
desenvolvidos.
No um formato desenvolvido para atender a outras necessidades mais
simples, como armazenar modelos tridimensionais de dados.
No possibilita a incluso de imagens bidimensionais do tipo bitmap ou
vetor.
A.2.3 Arquivos de Animao e Vdeo
AVI
Nome: Video for Windows.
Proprietrio: Microsoft Corporation.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta cores com at 24 bits. Possibilita taxas de compresso variveis.
Plataformas: Principalmente PC, ocasionalmente Macintosh.
Aplicaes: Vdeo digital.
Vantagens: Proporciona vdeo e udio de alta qualidade
Desvantagens: A qualidade de vdeo oferecida no to alta quanto a do formato
QuickTime.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
260
FLI / FLC
Nome: Autodesk Flick Formats.
Proprietrio: Autodesk, Inc.
Tipo de Arquivo: Bitmap.
Caractersticas: O formato FLI suporta imagens com apenas 64 cores, tamanho de at
320 por 240 pixels e at 4000 quadros por arquivo. O formato FLC
permite imagens com tamanho de at 1280 por 1024 pixels, com at 256
cores. Utilizam compresso RLE (orientada a byte no formato FLI e
orientada a word no formato FLC) e diferenciao quadro a quadro. O
primeiro quadro armazenado integralmente na forma de bitmap
comprimido. Os quadros seguintes contm apenas informaes sobre os
pixels que diferem do quadro anterior.
Plataformas: PC.
Aplicaes: Animao de imagens bitmap.
Vantagens: As tcnicas de compresso empregadas so simples de ser decodificadas
e codificadas, sendo adequadas para animaes breves.
Um nmero crescente de aplicativos vem suportando o formato.
Desvantagens: Ambos os formatos no suportam udio.
A palheta suporta apenas 256 cores.
A compresso RLE no indicada para imagens que fazem uso da
tcnica de dithering.

MPEG
Nome: MPEG.
Proprietrio: Moving Pictures Expert Group - International Organization for
Standardization (ISO).
Tipo de Arquivo: Bitmap em movimento.
Caractersticas: Utiliza compresso DCT baseada em blocos e compresso intra-quadros.
Possui dois subformatos: MPEG-1 e MPG-2, sendo que o MPEG-1
constitui um subconjunto do MPEG-2.
Plataformas: PC, Macintosh e estaes de trabalho UNIX.
Aplicaes: Compresso e descompresso de vdeo em tempo real, com udio
sncrono, para aplicaes multimdia.
Vantagens: Constitui o padro da indstria, capaz de reduzir capacidades de
armazenamento e transmisso de vdeo de alta qualidade.
Desvantagens: um formato muito complexo, geralmente implementado em hardware
somente para aplicaes em tempo real.
Requer grande poder de processamento quando realizado por software.

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
261
QT
Nome: QuickTime Animation Format.
Proprietrio: Apple Computer, Inc.
Tipo de Arquivo: Bitmap.
Caractersticas: Utiliza compresso RLE orientada a byte e a word, combinada com
compresso por diferenciao de quadros.
Plataformas: Principalmente Macintosh, ocasionalmente PC e estaes de trabalho
UNIX..
Aplicaes: Animao de imagens bitmap.
Vantagens: Muito bem suportado na plataforma Macintosh.
Constitui um formato bastante compacto.
Desvantagens: A compresso oferecida no to eficiente quanto a MPEG.

Leitura complementar
Existem diversos livros inteiramente dedicados a formatos de arquivos de imagens, dentre os
quais destacamos [Kay e Levine 1994].
O captulo 6 de [Lindley 1991] trata dos formatos PCX e TIFF, incluindo cdigo-fonte
em C para sua manipulao (abertura, exibio e gravao de imagens nestes formatos). O
apndice 2 deste livro transcreve a especificao completa do formato TIFF verso 5.0.
Os artigos de Furht, [Furht 1995a] e [Furht 1995b], descrevem em detalhes os padres
JPEG e MPEG, respectivamente.
Na Internet
"http://www.mindworkshop.com/alchemy/alchemy.html"
Alchemy Mindwor ks
Home-page dos criadores do shareware utilitrio Graphic Workshop.

"http://www.cc.iastate.edu/olc_answers/packages/graphics/file.formats.
faq.html"
Gr aphic File For mats FAQ
Questes normalmente levantadas sobre formatos de arquivos de imagens, divididas em quatro
partes: questes gerais sobre formatos de arquivos; programas para visualizao e converso de
formatos de arquivos; onde obter especificaes de formatos de arquivos; e dicas e truques.

"http://www.deakin.edu.au/~agoodman/scc308/topic7.html"
Topic 7: File for mats and image compr ession
Captulo de tutorial on-line dedicado a formatos de arquivos de imagem e algumas tcnicas de
compresso utilizadas nestes formatos.

"http://www.cs.sfu.ca/undergrad/CourseMaterials/CMPT479/material/notes
/Chap3/Chap3.2/Chap3.2.html"
Gr aphic/Image File For mats
Captulo de curso online sobre Sistemas Multimdia mantido pela Simon Fraser University
(Canad).

For matos de Ar quivos de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
262
"http://member.aol.com/royalef/gifabout.htm"
All About GIF89a
Detalha o formato GIF89a.

Bibliografia

[Furht 1995a] Furht, B., "A survey of multimedia compression techniques and
standards part I: JPEG standard.", Real-Time Imaging Journal,
1, 1, 1995, pp. 49-67.

[Furht 1995b] Furht, B., "A survey of multimedia compression techniques and
standards part II: video compression.", Real-Time Imaging
Journal, 1, 5, 1995, pp. 319-337.

[Kay e Levine 1994] Kay, D. e Levine, J., Graphics File Formats - 2nd ed.,
Windcrest / McGraw-Hill, 1994.

[Lindley 1991] Lindley, C.A., Practical Image Processing in C, Wiley, 1991.


MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Apndice B
Roteiros de Laboratrio de
Processamento de Imagens
Este apndice tem por objetivos apresentar alguns aspectos fundamentais do MATLAB e sua
toolbox (caixa de ferramentas) para processamento de imagens. Inicialmente, so apresentados
alguns conceitos introdutrios sobre o ambiente MATLAB, especialmente compilados para o
leitor sem contato prvio com este software. Na seqncia, apresentamos um resumo das
principais funes disponveis na toolbox de processamento de imagens. Finalmente, sugerimos
sete roteiros de prticas de laboratrio utilizando o MATLAB e sua toolbox, recomendados ao
longo dos captulos 2 a 5 deste livro.
B.1. Conceitos Introdutrios
O MATLAB (abreviao de 'laboratrio de matrizes' - MATrix LABoratory) um sistema para
clculos matemticos e matriciais, o qual pode ser imaginado como uma espcie de linguagem
de programao. Todas as variveis so tratadas como matrizes pelo MATLAB, com uma
caracterstica especial: so dimensionadas automaticamente, fato que facilita sobremaneira a
implementao de algoritmos matriciais. Outra vantagem do uso do MATLAB o seu extenso
conjunto de rotinas de representao grfica.
possvel a criao de programas com as funes do MATLAB para implementar
algoritmos mais complexos. Esses programas so conhecidos como arquivos-M ou scripts.
Neste apndice procuraremos introduzir os conceitos bsicos de utilizao do
MATLAB, orientados ao processamento digital de imagens. sempre adequada a advertncia
de que muitos outros aspectos teis e importantes do MATLAB no sero abordados aqui.
B.2. Utilizando o MATLAB
Normalmente o MATLAB utilizado no modo comando, ou seja, os comandos so processados
imediatamente aps a sua entrada, exibindo os resultados na tela. Porm, tambm possvel a
criao de seqncias de comandos (scripts) armazenadas em arquivos denominados arquivos-
M, como j havia sido antecipado. Essa possibilidade bastante til para seqncias de
comandos comumente repetidas e tambm para a criao de novas funes especficas.
Uma caracterstica bastante til e prtica do MATLAB a de que as suas variveis no
precisam ser dimensionadas antes de serem usadas. As variveis so geradas e dimensionadas
automaticamente ao serem referenciadas pela primeira vez em uma atribuio de valores,
permanecendo na memria de trabalho at que esta seja limpa.
Para limpar integralmente a memria de trabalho utilizado o comando clear ou clear
all. Para apagar apenas uma varivel, utiliza-se o comando em conjunto com o nome da
varivel, da seguinte forma: clear <nome-da-var ivel>. Para se obter uma listagem das
variveis existentes em memria, utiliza-se o comando whos.
As variveis presentes na memria de trabalho podem ser armazenadas em disco
utilizando-se o comando save e posteriormente possvel recuper-las atravs do comando
load. O comando save tambm pode ser usado para gravar apenas algumas variveis
especficas.
Algumas variveis do MATLAB possuem papel ou valores especficos. A varivel ans
contm o resultado da ltima operao realizada sem atribuio a nenhuma varivel. As
variveis i e j contm a unidade imaginria (raiz quadrada de -1). O valor de infinito ()
armazenado na varivel inf, enquanto o valor de pi (r) armazenado na varivel pi. Ao ocorrer
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
264
um erro como uma diviso por zero, por exemplo, o resultado do tipo NaN (no-nmero - not-
a-number).
O formato de apresentao dos dados pelo MATLAB determinado pelo comando
for mat <tipo>: for mat long apresenta os nmeros reais com 15 dgitos; for mat long e
apresenta os nmeros reais com 15 dgitos em notao cientfica; for mat shor t apresenta os
nmeros reais com 5 dgitos (formato padro do MATLAB); e for mat shor t e apresenta os
nmeros reais com 5 dgitos em notao cientfica.
O MATLAB suporta extensamente representaes grficas. A limpeza da janela grfica
realizada pelo comando clg e para se traar um grfico linear em coordenadas cartesianas,
utilizado o comando plot. O comando hold ou hold on mantm o grfico corrente na janela
grfica (geralmente utilizado para a superposio de grficos). Pode-se tambm fazer uso do
comando gr id para se desenhar uma grade reticulada no grfico em questo. Os comandos
xlabel e ylabel so usados para definir os rtulos dos eixos x e y, respectivamente. O ttulo de
um grfico definido a partir do comando title e os seus eixos a partir do comando axis.
Existem ainda alguns outros comandos e funes de uso geral. O comando clock
permite a obteno do ano, ms, dia, hora, minuto e segundo do sistema, na forma de um vetor
contendo valores decimais. A obteno somente da data possvel atravs do comando date. A
funo computer retorna o tipo de computador no qual o MATLAB est sendo executado,
sendo til para programas (scripts) que devam ser executados de maneira distinta em diferentes
plataformas.
Para sair do ambiente do MATLAB, utiliza-se o comando exit ou o comando quit.
Alguns dos principais operadores e caracteres especiais do MATLAB so dados abaixo:
Operadores matriciais:
+ Adio
- Subtrao
* Multiplicao
^ Potenciao
' Transposta conjugada
Operadores relacionais:
< Menor que
<= Menor ou igual a
> Maior que
>= Maior ou igual a
== Igual
~= Diferente
Operadores lgicos:
& AND
| OR
~ NOT
Caracteres especiais:
[ e ] Formao de vetores e matrizes
( e ) Determinao da precedncia de operadores em expresses lgicas e aritmticas
, Separao de subscritos e argumentos de funes
; Encerramento de linhas e supresso da impresso de resultados
: Subscrio de conjuntos e gerao de vetores ordenados
! Execuo de comandos do sistema operacional
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
265
% Introduo de comentrios

Quanto aos caracteres especiais, enfatizamos o uso de trs deles:
O caracter % utilizado para inserir comentrios nos programas, para sua maior clareza
e entendimento. Portanto, linhas de programa precedidas pelo caracter % sero ignoradas pelo
MATLAB.
O ponto-e-vrgula (;) usado para suprimir a apresentao de resultados na tela. Se o
ltimo caractere de uma linha de comando for um ponto-e-vrgula, o comando ser apenas
executado e no apresentar o resultado na tela. Essa caracterstica especialmente til dentro
de programas, onde nem sempre os resultados intermedirios so de interesse. Outro papel
desempenhado pelo ponto-e-vrgula o de separar linhas de elementos dentro de matrizes.
Quando dada a entrada de uma matriz no MATLAB, o ponto-e-vrgula delimita o final de
cada linha de elementos.
Outro caractere muito importante o dois pontos (:), o qual pode ser usado para
especificar iteraes do comando for , criar vetores ordenados ou ainda subscrever matrizes.
Exemplificando: a declarao 1:3 corresponde ao vetor [1 2 3]; X(:,n) corresponde n-sima
coluna da matriz X; e X(n,:) corresponde n-sima linha da matriz X.
Entrada de variveis e matrizes:
Para entrar com variveis no MATLAB, basta digitar o nome da varivel, igualando-a ao seu
valor, como por exemplo:

a = 1

Uma ressalva importante que o MATLAB faz distino entre letras maisculas e
minsculas, portanto as variveis a e A so diferentes.
Para entrar com um vetor linha procede-se da mesma maneira, delimitando-o com
colchetes e utilizando e espaos (ou vrgulas) para separar seus elementos:

b = [1 2 3 4 5]

O mesmo vlido para vetores coluna, com a diferena de que os elementos so
separados por ponto-e-vrgula:

c = [1;2;3;4;5]

Para matrizes, utiliza-se espaos (ou vrgulas) para separar os elementos de uma mesma
linha e ponto-e-vrgula para separar as linhas, da seguinte forma:

d = [1 2 3;
4 5 6;
7 8 9]

Uma vez entrados os dados, pode-se realizar as operaes desejadas, como por exemplo
uma soma:

A = B + C

Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
266
Pode-se tambm utilizar-se de funes, como por exemplo a que fornece a matriz
inversa da matriz usada como argumento (B):

A = inv(B)

Os conceitos bsicos sobre o MATLAB at aqui apresentados sero suficientes para a
execuo das prticas de laboratrio de processamento de imagens propostas mais a frente. O
leitor, no entanto, no deve se limitar ao exposto neste apndice, realizando as suas prprias
experincias e criando maior intimidade com o ambiente do MATLAB.
A seguir sero dadas algumas descries simples das principais funes e comandos do
MATLAB. Maiores detalhes podem ser obtidos atravs do comando help, que fornece uma lista
de funes e operadores pr-definidos para os quais h informaes de auxlio disponveis. O
comando help <nome-da-funo> fornece informaes sobre a funo especificada. Trata-se
de uma facilidade de auxlio interativo bastante til quando se deseja saber sobre o
funcionamento de funes especficas.
Principais Funes
abs
valor absoluto ou mdulo de um nmero complexo.
angle
ngulo de fase de um nmero completo.
atan
arco tangente
conj
conjugado complexo.
conv
convoluo.
corrcoef
coeficiente de correlao entre duas matrizes.
cos
cosseno.
cosh
cosseno hiperblico.
cov
covarincia.
deconv
deconvoluo.
det
determinante de uma matriz.
diag
matriz diagonal.
eig
autovalores e autovetores de uma matriz.
exp
exponenciao na base natural (e).
expm
exponenciao de matriz.
eye
matriz identidade.
filter
implementao de filtro digital.
imag
parte imaginria de um nmero complexo.
inv
matriz inversa.
length
comprimento de um vetor.
log
logaritmo na base natural (e).
logm
logaritmo de matriz.
log10
logaritmo na base 10.
max
valor mximo de um vetor ou matriz*.
mean
valor mdio de um vetor.
median
valor da mediana de um vetor.
min
valor mnimo de um vetor ou matriz*.
ones
matriz cujos elementos possuem todos valor 1.
prod
produto de elementos de matrizes.
rand
gerao de nmeros e matrizes com valores aleatrios.
rank
posto de uma matriz.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
267
real
parte real de um nmero complexo.
rem
resto de diviso.
sign
funo sinal.
sin
seno.
sinh
seno hiperblico.
size
dimenses de uma matriz (linhas e colunas).
sqrt
raiz quadrada.
sqrtm
raiz quadrada de uma matriz.
std
desvio padro.
sum
soma dos elementos de um vetor ou matriz*.
tan
tangente.
tanh
tangente hiperblica.
trace
trao de uma matriz.
zeros
matriz cujos elementos possuem todos valor 0.

* as funes max, min e sum quando utilizadas com matrizes, retornam um vetor linha
contendo os resultados das operaes individuais em cada coluna da matriz.
B.3. Comandos e Funes da Toolbox de Processamento de Imagens
Entrada e sada:
bmpread
l arquivo BMP (Microsoft Windows Bitmap) do disco.
bmpwrite
escreve arquivo BMP (Microsoft Windows Bitmap) para o disco.
gifread
l arquivo GIF (Graphics Interchange Format) do disco.
gifwrite
escreve arquivo GIF (Graphics Interchange Format) para o disco.
hdfpeek
lista pares de objetos tag/ref em arquivo HDF.
hdfread
l dados de arquivo HDF.
hdfwrite
escreve dados para arquivo HDF.
pcxread
l arquivo PCX (ZSoft Paint Format) do disco.
pcxwrite
escreve arquivo PCX (ZSoft Paint Format) para o disco.
tiffread
l arquivo TIFF (Tagged Image File Format) do disco.
tiffwrite
escreve arquivo TIFF (Tagged Image File Format) para o disco.
xwdread
l arquivo XWD (X window dump) do disco.
xwdwrite
escreve arquivo XWD (X window dump) para o disco.
Utilitrios:
getimage
obtm dados da imagem a partir dos eixos.
isbw
verdadeiro para imagens em preto e branco.
isgray
verdadeiro para imagens em nveis de cinza.
isind
verdadeiro para imagens indexadas.
Operaes em cores:
brighten
clareia ou escurece mapa de cores (biblioteca do MATLAB).
cmunique
encontra cores de mapas distintos e imagem correspondente.
cmpermute
permuta posies de mapas de cores.
cmgamma
correo Gamma de mapas de cores.
cmgamdef
tabela de correo Gamma pr-definida.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
268
dither
dithering pelo mtodo de Floyd-Steinberg.
hsv2rgb
converte valores HSV para espao de cores RGB (biblioteca do MATLAB).
imadjust
ajusta e amplia intensidade de imagem.
imapprox
aproxima imagem indexada para image com menor quantidade de cores.
ntsc2rgb
converte valores NTSC para o espao de cores RGB.
rgb2gray
converte valores RGB para cinza.
rgb2hsv
converte valores RGB para o espao de cores HSV(biblioteca do MATLAB).
rgb2ntsc
converte valores RGB para o espao de cores NTSC.
rgbplot
desenha componentes do mapa de cores RGB (biblioteca do MATLAB).
Operaes geomtricas:
imcrop
recorta imagem.
imresize
redimensiona imagem.
imrotate
roda imagem.
truesize
redimensiona figura de modo que a imagem possua o tamanho real.
imzoom
ampliao e reduo de uma imagem ou desenho 2-D
Melhoramento e anlise:
brighten
clareia ou escurece mapa de cores (biblioteca do MATLAB).
grayslice
mapeamento por densidade (intensidade).
histeq
equalizao de histograma.
imadjust
ajusta e amplia intensidade de imagem.
imapprox
aproxima imagem indexada para image com menor quantidade de cores.
imhist
histograma de imagens.
impixel
cor de um pixel.
improfile
modelo de intensidade.
interp2
interpolao bidimensional de dados (biblioteca do MATLAB).
Estatstica:
mean2
mdia de uma matriz.
corr2
coeficiente de correlao bidimensional.
std2
desvio padro bidimensional.
Operaes morfolgicas:
bwarea
rea de objetos em imagem binria.
dilate
dilatao (espessamento) de imagem binria.
erode
eroso (afinamento) de imagem binria.
edge
extrao de bordas.
bweuler
nmero de Euler.
bwmorph
operadores morfolgicos.
bwperim
permetro de objetos em imagem binria.
Projeto de filtros FIR:
fsamp2
projeto de filtros FIR 2-D atravs de amostragem em freqncia.
fspecial
filtros 2-D especiais.
ftrans2
projeto de filtros FIR 2-D atravs de transformao de freqncia.
fwind1
projeto de filtros FIR 2-D FIR utilizando janelas 1-D.
fwind2
projeto de filtros FIR 2-D FIR utilizando janelas 2-D.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
269
imnoise
rudo em imagem.
Resposta em freqncia:
freqspace
espaamento de freqncia para respostas em freqncia 2-D.
freqz2
resposta em freqncia bidimensional.
Filtragem:
colfilt
filtragem no-linear local por colunas.
conv2
convoluo bidimensional (biblioteca do MATLAB).
filter2
filtragem bidimensional (biblioteca do MATLAB).
medfilt2
filtro da mediana bidimensional.
mfilter2
filtro mascarado.
nlfilter
filtragem no-linear local.
wiener2
filtro adaptativo de Wiener 2-D.
Processamento em blocos:
bestblk
melhor tamanho de bloco para processamento em blocos.
blkproc
processa uma imagem em blocos.
col2im
reordena blocos de colunas distintas ou deslizantes para formar imagem.
colfilt
filtragem no-linear local por colunas.
im2col
reordena blocos distintos ou deslizantes para formar colunas.
Regio de interesse (ROI):
mfilter2
filtro mascarado.
roipoly
define regio de interesse poligonal.
roicolor
define regio de interesse por cor.
Transformadas:
dct2
transformada do cosseno discreto bidimensional.
fft2
transformada rpida de Fourier bidimensional (biblioteca do MATLAB).
fftshift
move componente de ordem zero para o centro (biblioteca do MATLAB).
idct2
transformada do cosseno discreto bidimensional inversa.
ifft2
transformada rpida de Fourier 2-D inversa (biblioteca do MATLAB).
radon
transformada de Radon.
Converses:
dither
dithering pelo mtodo de Floyd-Steinberg.
gray2ind
converte imagem em nveis de cinza para imagem indexada.
hsv2rgb
converte valores HSV para espao de cores RGB (biblioteca do MATLAB).
im2bw
converte imagem para preto e branco por limiarizao.
imslice
obtm/coloca slices de imagem em um deck de imagens.
ind2gray
converte imagem indexada para imagem em nveis de cinza.
ind2rgb
converte imagem indexada para imagem RGB.
mat2gray
converte matriz para imagem em nveis de cinza.
ntsc2rgb
converte valores NTSC para o espao de cores RGB.
rgb2gray
converte valores RGB para cinza.
rgb2hsv
converte valores RGB para o espao de cores HSV(biblioteca do MATLAB).
rgb2ind
converte imagem RGB para imagem indexada.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
270
rgb2ntsc
converte valores RGB para o espao de cores NTSC.
Apresentao:
colorbar
apresenta barra de cores (escala de cores).
colormap
define ou obtm a tabela de consulta de cores (biblioteca do MATLAB).
gray
mapa de cores linear de nveis de cinza (biblioteca do MATLAB).
hsv,hot,jet
mapas de cores. Digite help color para outros (biblioteca do MATLAB).
image
apresenta imagem indexada (biblioteca do MATLAB).
imagesc
ajusta dados e apresenta como imagem (biblioteca do MATLAB).
imcontour
contorno da imagem.
immovie
faz um filme de um deck de imagens.
imshow
apresenta todos os tipos de imagens.
montage
apresenta um deck de imagens como uma montagem retangular.
subimage
apresenta mltiplas imagens.
warp
realiza warp da imagem sobre uma superfcie.
Demonstraes:
imdemo
demonstrao geral de processamento de imagens.
dctdemo
demonstrao de compresso de imagens atravs da DCT 2-D.
firdemo
demonstrao de filtragem FIR 2-D.
nlfdemo
demonstrao de filtragem no-linear 2-D.
Funes privativas:
cumsum3d
soma cumulativa em matriz 3-D acomodada em matriz 2-D.
dct
transformada do cosseno discreto 1-D.
dctmtx2
matriz de transformao DCT 2-D unitria.
ditherc
arquivo MEX para dithering.
elem3d
posies de elementos de matriz 3-D acomodada em matriz 2-D.
getline
rastreio de movimento do mouse com linha elstica.
getpts
rastreio de movimento do mouse com pontos visveis.
getrect
rastreio de movimento do mouse com retngulo elstico.
gif
comprime dados em formato GIF.
hdfreadc
arquivo MEX para ler arquivos HDF.
hdfpeekc
arquivo MEX para listar contedo de arquivos HDF.
hdfwc
arquivo MEX para escrever arquivos HDF.
idct
transformada do cosseno discreto 1-D inversa.
im2gray
converte imagens para nveis de cinza.
imhistc
arquivo MEX para clculo de histograma de imagens.
ndx3d
ndice de matriz 3-D acomodada em matriz 2-D.
rgb2im
converte imagens RGB para imagens indexadas ou em nveis de cinza.
rle
comprime dados pelo mtodo RLE.
size3d
tamanho da matriz 2-D para acomodar matriz 3-D.
tiff
comprime dados em formato TIFF RLE.
ungif
descomprime dados em formato GIF.
unrle
descomprime dados pelo mtodo RLE.
untiff
descomprime dados em formato TIFF RLE.
vmquant
arquivo M de interface para o arquivo MEX para quantizao de cor.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
271
vmquantc
arquivo MEX para quantizao de cor.
waitbar
apresenta barra de progresso.
Arquivos MAT:
bwmorph.mat
tabelas de consulta para a funo bwmorph.m.
forest.mat
foto digitalizada: Carmanah Old Growth Forest.
mri.mat
imagens de ressonncia magntica da cabea de um homem.
trees.mat
imagem digitalizada: "Trees with a view" Susan Cohen.
B.4. Roteiros de prticas de laboratrio
Os roteiros de prticas de laboratrio que se seguem so sugestes de utilizao da
toolbox de processamento de imagens do MATLAB para reforo e compreenso dos conceitos
tericos relacionados.
ndice das Prticas
1. Fundamentos de operao da toolbox de processamento de imagens do MATLAB.
2. Operaes lgicas, aritmticas e estatsticas com imagens.
3. Transformaes geomtricas e verificao de nveis de cinza de pixels.
4. Mtodos ponto-a-ponto de realce e anlise de imagens.
5. Filtragem no domnio espacial.
6. Transformadas de Fourier (FFT) e filtragem no domnio da freqncia.
7. Morfologia Matemtica.

Os scripts das prticas acima relacionadas esto disponveis na Internet nos seguintes
endereos:
"http://www.cse.fau.edu/~omarques/PDI/"
"http://www.daeln.cefetpr.br/~hugo/PDI/"
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
272
Prtica 1
Fundamentos da toolbox de processamento de imagens do MATLAB
Objetivos:
1. Conhecer os aspectos bsicos da ferramenta de trabalho para estas prticas.
2. Conhecer os tipos de imagens com que trabalha o programa.
3. Familiarizar-se com os sistemas de coordenadas existentes.
4. Conhecer as tcnicas de exibio de imagens disponveis no MATLAB.
Resumo da teoria:
A toolbox do MATLAB permite trabalhar com 4 tipos de imagens:
imagens indexadas
imagens de intensidade
imagens binarizadas e
imagens RGB.
As imagens indexadas requerem duas matrizes: uma delas tem as dimenses da imagem
e cada ponto desta matriz especifica um ndice que serve para pesquisar em uma segunda matriz,
que contm o mapa de cores, quais so os componentes R (Vermelho - Red), G (Verde - Green)
e B (Azul - Blue) de cada pixel.
As imagens de intensidade contm toda a informao sobre a imagem em uma nica
matriz. Cada elemento desta matriz representa o nvel de intensidade do pixel, em uma faixa
normalizada de 0 (preto) a 1 (branco).
Imagens binarizadas so um caso particular de imagem de intensidade, no qual cada
pixel somente pode assumir o valor 0 (preto) ou 1 (branco).
Imagens RGB so compostas por trs matrizes separadas, cada qual contendo os valores
dos componentes R, G e B (normalizados em uma faixa de 0 a 1) de cada pixel.
O MATLAB tambm permite trabalhar com colees de imagens relacionadas entre si,
denominadas Image Decks. Cada imagem dentro de um Image Deck chamada Image Slice.
Todas as imagens em um deck devem ter o mesmo tamanho.
O MATLAB oferece vrias funes para converter entre duas formas de representao
de imagens. Desta forma, pode-se transformar uma imagem de um certo formato em qualquer
outro, assim como tambm possvel transformar uma matriz qualquer em uma imagem de
intensidade. Estas funes esto resumidas a seguir:
Par a conver ter ... Em... Use...
Imagem indexada Imagem binarizada
roicolor, roipoly, im2bw
Imagem indexada Imagem de intensidade
ind2gray
Imagem indexada Imagem RGB
ind2rgb
Imagem de intensidade Imagem binarizada
edge, im2bw, roicolor, roipoly
Imagem de intensidade Imagem indexada
grayslice, gray2ind
Imagem de intensidade Imagem RGB a matriz original de intensidade para todos
os 3 componentes R, G e B
Imagem RGB Imagem indexada
rgb2ind
Imagem RGB Imagem de intensidade
rgb2gray
Imagem RGB Imagem binarizada
im2bw
Imagem binarizada Imagem indexada
gray2ind
Matriz Imagem de intensidade
mat2gray
Deck Imagem (subdeck)
imslice

Alm disso, o programa permite importar e exportar imagens nos formatos: GIF, TIFF,
HDF, BMP, XWD ou PCX.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
273
Conforme observado na seo 2.1, a representao de coordenadas de um pixel em uma
imagem no padronizada, existindo pelo menos trs sistemas de coordenadas importantes:
O cartesiano (eixo x horizontal, eixo y vertical orientado para cima e origem no ponto de
coordenadas (0,0))
O sistema de coordenadas de matrizes (eixo j horizontal, eixo i vertical orientado para baixo
e origem no ponto de coordenadas (1,1)). Este o sistema de coordenadas usado pela toolbox
de processamento de imagens do MATLAB.
O sistema de coordenadas de pixels, que no tem uma notao padro (na conveno adotada
neste livro, eixo y horizontal, eixo x vertical orientado para baixo e origem no ponto de
coordenadas (0,0)).
Para exibir imagens, utiliza-se a funo imshow com parmetros que dependem do tipo
de imagem que se est exibindo. Para exibir decks, utiliza-se a funo montage.
Para exibir mltiplas imagens, pode-se usar o comando subplot, fazendo os ajustes
de mapa de cores eventualmente necessrios.
Procedimento:
1. Iniciar o MATLAB.

2. Criar uma matriz A, de tamanho 4 x 5, cujos valores so:

]1
1 2 1 3
1 1 2 3 1
2 2 3 2 2
1 3 2 1
1_

3. Convert-la em uma imagem com trs nveis de cinza, usando:

I = mat2gray(A)

4. Exibi-la com trs nveis de cinza
1
e refletir sobre o resultado obtido:

imshow(I,3)

5. Criar um mapa de cores atravs de uma matriz mapa:

mapa = ].4 .4 .4; 0 .6 1; 1 0 0_

6. Exibir a imagem indexada com o mapa de cores criado e interpretar o resultado obtido,
usando o comando:

imshow(A,mapa)

7. Criar uma imagem de intensidade em forma de faixas de diferentes tons de cinza, desde
o branco at o preto:

F = (0:15)/15
G = [F; F; F]

8. Verificar os valores dos pixels da imagem e interpret-los.

9. Exibir a imagem com 16 nveis de cinza, fazendo:

imshow(G,16)


1
Apesar do valor 3 no ser uma potncia inteira positiva de 2, a funo imshow aceita-o como
parmetro.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
274
10. Carregar uma imagem indexada colorida j disponvel na toolbox e exibi-la. Notar que
aps ter sido carregada, sua matriz de ndices ser armazenada na varivel X, enquanto seu mapa
de cores (palheta) estar na varivel map.

load trees
imshow(X,map)

11. Usando o comando whos verificar o tamanho da matriz map e concluir a respeito.

12. Verificar o contedo da matriz map, observando que nenhuma linha igual a outra e
que cada uma delas corresponde a uma combinao das componentes R, G e B, normalizadas na
faixa de 0 a 1.

13. Converter a imagem trees para imagem de intensidade e exibi-la com 128 nveis de
cinza.

J = ind2gray(X,map);
imshow(J,128)

14. Criar uma imagem binarizada:

BN = ]0 0 1 0 0; ...
0 1 1 1 0; ...
1 1 1 1 1; ...
0 1 1 1 0; ...
0 0 1 0 0_

15. Exibi-la usando:

imshow(BN,2)

16. Converter a imagem trees de indexada para RGB e exibi-la:

]R,G,B_ = ind2rgb(X,map);
imshow(R,G,B)

17. Verificar o contedo de R, G e B do pixel de coordenadas (5,5).

Opo 1 (utilizando o conceito de imagem indexada):
a. Verificar o contedo de X(5,5)
b. Verificar resposta: ans = 106
c. Pesquisar a fila 106 da matriz map:
map(106, 1:3)
d. Aparecer a resposta:
ans = 0.5490 0.7412 0.9059

Opo 2 (utilizando as variveis R, G e B):
Pesquisar os valores de R(5,5), G(5,5) e B(5,5).

18. Para exemplificar o conceito de decks de imagens, carregar a imagem mri e exibi-la
usando a seqncia
2
:

clear all
load mri

2
O ltimo passo requer grande quantidade de memria disponvel. Caso seja impossvel execut-lo na
sua configurao de equipamento, passar ao item 19.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
275
colormap(map)
montage(D,siz)

19. Para exibir uma nica imagem, utilizar a funo imslice para extra-la do deck,
armazenando-a em uma varivel separada. Posteriormente, exibi-la usando imshow:

S3 = D(imslice(siz,3));
imshow(S3,map)

20. Testar a exibio de mltiplas imagens com o mesmo mapa de cores, com a seqncia
de passos a seguir:

clear all
load trees
subplot(1,2,1), imshow(X, map), title ('Antes de rotacionar')
subplot(1,2,2),imshow(imrotate(X,35,'crop'),map),title('Depois')

21. Testar a exibio de mltiplas imagens com diferentes mapas de cores, com a seqncia
de passos a seguir:

clear all
load trees
subplot(1,2,1), imshow(X,map), colormap(map)
load kids
subplot(1,2,2), imshow(X+size(colormap,1), ]colormap;map_)

Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
276
Prtica 2
Operaes lgicas, aritmticas e estatsticas com imagens
Objetivos:
1. Executar operaes lgicas e aritmticas entre imagens.
2. Obter parmetros estatsticos de imagens.
Resumo da teoria:
Imagens so matrizes. Portanto, as propriedades de aritmtica e lgebra matricial tambm so
vlidas para imagens e todas as operaes que se pode efetuar com matrizes tambm podem ser
efetuadas com imagens.
Dentre as operaes aritmticas que se pode realizar com imagens, veremos as
seguintes:
Adio
Subtrao
Multiplicao
Diviso
Diferena absoluta
Dentre as operaes lgicas que se pode realizar com imagens, veremos:
AND
OR
XOR
Para uma viso ampla das aplicaes destas operaes sobre imagens binarizadas
sugerimos o captulo 7 de [Russ 1995].
Dentre os parmetros estatsticos que se podem extrair de uma imagem, veremos:
Mdia
Desvio padro
Procedimento:
1. Iniciar o MATLAB.

2. Para a primeira parte desta prtica trabalharemos com trs imagens de mesmo tamanho.
Em decorrncia disto, inicialmente utilizaremos a funo imcrop para criar trs imagens de
mesmo tamanho (100 x 100), a partir das imagens trees, kids e forest e utilizaremos as
funes ind2gray e im2bw para gerar suas verses monocromticas e binarizadas,
respectivamente.

rect = ]5, 5, 100, 100_;
load trees
Y1 = X;
map1 = map;
Y1 = imcrop(Y1,rect);
M1 = ind2gray(Y1, map1);
BW1= im2bw(Y1,map1,.5);

load kids
Y2 = X;
map2 = map;
Y2 = imcrop(Y2,rect);
M2 = ind2gray(Y2, map2);
BW2=im2bw(Y2,map2,.3);
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
277

load forest
Y3 = X;
map3 = map;
Y3 = imcrop(Y3,rect);
M3 = ind2gray(Y3, map3);
BW3=im2bw(Y3,map3,.5);

3. Para ilustrar a operao de adio, vamos mostrar em uma nica janela as imagens BW1,
BW2 e BW3 juntamente com os resultados das adies entre elas (BW1+BW2, BW2+BW3,
BW1+BW3):

subplot(2,3,1), imshow(BW1,2), title('BW1')
subplot(2,3,2), imshow(BW2,2), title('BW2')
subplot(2,3,3), imshow(BW3,2), title('BW3')
subplot(2,3,4), imshow((BW1+BW2),2), title('BW1+BW2')
subplot(2,3,5), imshow((BW1+BW3),2), title('BW1+BW3')
subplot(2,3,6), imshow((BW2+BW3),2), title('BW2+BW3')

4. Examinar atentamente os resultados, maximizando a janela que contm as seis imagens,
e concluir a respeito da adio de imagens binarizadas.

5. Analogamente, para ilustrar a operao de subtrao, vamos mostrar em uma nica
janela as imagens BW1, BW2 e BW3 juntamente com os seis possveis resultados das subtraes
entre elas (BW1-BW2, BW2-BW3, BW1-BW3, BW3-BW2, BW2-BW1, BW3-BW1):

subplot(3,3,1), imshow(BW1,2), title('BW1')
subplot(3,3,2), imshow(BW2,2), title('BW2')
subplot(3,3,3), imshow(BW3,2), title('BW3')
subplot(3,3,4), imshow((BW1-BW2),2), title('BW1-BW2')
subplot(3,3,5), imshow((BW2-BW1),2), title('BW2-BW1')
subplot(3,3,6), imshow((BW3-BW1),2), title('BW3-BW1')
subplot(3,3,7), imshow((BW1-BW3),2), title('BW1-BW3')
subplot(3,3,8), imshow((BW2-BW3),2), title('BW2-BW3')
subplot(3,3,9), imshow((BW3-BW2),2), title('BW3-BW2')

6. Examinar atentamente os resultados, maximizando a janela que contm as nove
imagens, e concluir a respeito.

7. Para exemplificar a adio de imagens monocromticas, repetiremos o passo 3, agora
com as imagens M1, M2 e M3.

subplot(2,3,1), imshow(M1,256), title('M1')
subplot(2,3,2), imshow(M2,256), title('M2')
subplot(2,3,3), imshow(M3,256), title('M3')
subplot(2,3,4), imshow((M1+M2),256), title('M1+M2')
subplot(2,3,5), imshow((M1+M3),256), title('M1+M3')
subplot(2,3,6), imshow((M2+M3),256), title('M2+M3')

8. Examinar atentamente os resultados, maximizando a janela que contm as seis imagens
e concluir a respeito.

9. Analogamente, efetuar agora as seis subtraes possveis entre as imagens M1, M2 e M3 e
exibir os resultados obtidos, concluindo a respeito.
3


Soluo:

3
Para garantir que os valores resultantes da subtrao so coerentes com a teoria e esto contidos no
intervalo normalizado [0, 1] utilizamos uma operao de truncamento dos valores negativos, zerando-os.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
278

subplot(3,3,1),imshow(M1,256), title('M1')
subplot(3,3,2),imshow(M2,256), title('M2')
subplot(3,3,3),imshow(M3,256), title('M3')
subplot(3,3,4),imshow((M1-M2).*((M1-M2)>=0),256),title('M1-M2')
subplot(3,3,5),imshow((M2-M1).*((M2-M1)>=0),256),title('M2-M1')
subplot(3,3,6),imshow((M3-M1).*((M3-M1)>=0),256),title('M3-M1')
subplot(3,3,7),imshow((M1-M3).*((M1-M3)>=0),256),title('M1-M3')
subplot(3,3,8),imshow((M2-M3).*((M2-M3)>=0),256),title('M2-M3')
subplot(3,3,9),imshow((M3-M2).*((M3-M2)>=0),256),title('M3-M2')

10. Nesta etapa examinaremos a multiplicao entre imagens monocromticas. Em geral,
quando os nveis de cinza das imagens no esto normalizados, deve-se especificar um fator
(<1) para multiplicar pelo resultado da operao de multiplicao, de tal maneira que a imagem
resultante possua valores dentro da faixa de nveis de cinza desejada. No MATLAB, entretanto,
isto no necessrio, pois as imagens j esto normalizadas em uma faixa de 0 a 1.
Notar que a operao utilizada no MATLAB o produto elemento-por-elemento
(denotado pelo smbolo '.*'), pois isto o que se deseja, no um produto matricial.

subplot(2,3,1), imshow(M1,256), title('M1')
subplot(2,3,2), imshow(M2,256), title('M2')
subplot(2,3,3), imshow(M3,256), title('M3')
subplot(2,3,4), imshow((M1.*M2),256), title('M1*M2')
subplot(2,3,5), imshow((M1.*M3),256), title('M1*M3')
subplot(2,3,6), imshow((M2.*M3),256), title('M2*M3')

11. Examinar os resultados, maximizando a janela que contm as seis imagens, e concluir a
respeito da multiplicao de imagens monocromticas.

12. Analogamente ao passo 10, efetuaremos agora a diviso entre os elementos das matrizes
M1, M2 e M3, dois a dois. O operador utilizado ser './' pelos mesmos motivos mencionados
antes para a multiplicao.

subplot(3,3,1), imshow(M1,256), title('M1')
subplot(3,3,2), imshow(M2,256), title('M2')
subplot(3,3,3), imshow(M3,256), title('M3')
subplot(3,3,4), imshow((M1./M2),256), title('M1/M2')
subplot(3,3,5), imshow((M2./M1),256), title('M2/M1')
subplot(3,3,6), imshow((M3./M1),256), title('M3/M1')
subplot(3,3,7), imshow((M1./M3),256), title('M1/M3')
subplot(3,3,8), imshow((M2./M3),256), title('M2/M3')
subplot(3,3,9), imshow((M3./M2),256), title('M3/M2')

Notar que o MATLAB poder emitir mensagens de alerta por possveis tentativas de
diviso por zero, que no prejudicam a concluso da operao ou sua interpretao qualitativa.

13. Examinar atentamente os resultados, maximizando a janela que contm as nove imagens
e concluir acerca da diviso de imagens monocromticas.

14. Para finalizar nosso estudo de operaes aritmticas, ilustraremos o uso da funo abs
para obtermos a diferena absoluta entre duas imagens, denominando-a pelo nome simblico
DIF.

subplot(3,3,1), imshow(M1,256), title('M1')
subplot(3,3,2), imshow(M2,256), title('M2')
subplot(3,3,3), imshow(M3,256), title('M3')
subplot(3,3,4), imshow(abs(M1-M2),256), title('M1 DIF M2')
subplot(3,3,5), imshow(abs(M2-M3),256), title('M2 DIF M3')
subplot(3,3,6), imshow(abs(M3-M1),256), title('M3 DIF M1')
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
279
subplot(3,3,7), imshow(abs(M2-M1),256), title('M2 DIF M1')
subplot(3,3,8), imshow(abs(M3-M2),256), title('M3 DIF M2')
subplot(3,3,9), imshow(abs(M1-M3),256), title('M1 DIF M3')

Os valores das janelas 4 e 7, 5 e 8, 6 e 9, so (ou parecem ser) idnticos dois a dois? Por qu?

15. Para exemplificar as operaes lgicas entre imagens, tornaremos a utilizar as imagens
binarizadas BW1, BW2 e BW3 e os operadores lgicos & (and), | (or) e xor, disponveis no
MATLAB. Faremos isto mostrando seis imagens por janela (as trs originais mais os trs
resultados do uso de um certo operador).
Inicialmente para o operador and:

subplot(2,3,1), imshow(BW1,2), title('BW1')
subplot(2,3,2), imshow(BW2,2), title('BW2')
subplot(2,3,3), imshow(BW3,2), title('BW3')
subplot(2,3,4), imshow((BW1&BW2),2), title('BW1 and BW2')
subplot(2,3,5), imshow((BW1&BW3),2), title('BW1 and BW3')
subplot(2,3,6), imshow((BW2&BW3),2), title('BW2 and BW3')

16. Examinar atentamente os resultados, maximizando a janela que contm as seis imagens
e concluir a respeito.

17. Repita os passos 15 e 16, desta vez para o operador or.
Soluo:

subplot(2,3,4), imshow((BW1|BW2),2), title('BW1 or BW2')
subplot(2,3,5), imshow((BW1|BW3),2), title('BW1 or BW3')
subplot(2,3,6), imshow((BW2|BW3),2), title('BW2 or BW3')

18. Repita os passos 15 e 16, desta vez para o operador xor.
Soluo:

subplot(2,3,4), imshow((xor(BW1,BW2)),2), title('BW1 xor BW2')
subplot(2,3,5), imshow((xor(BW1,BW3)),2), title('BW1 xor BW3')
subplot(2,3,6), imshow((xor(BW2,BW3)),2), title('BW2 xor BW3')

19. Deixamos como exerccio efetuar operaes lgicas sobre imagens com mltiplos nveis
de cinza, uma vez que o MATLAB no nos permite faz-lo diretamente (veja a descrio dos
operadores &, | e xor no arquivo de ajuda do software).

20. O MATLAB permite extrair algumas informaes estatsticas sobre o contedo de uma
imagem. A seguir, verificaremos a mdia e o desvio padro de cada uma das trs imagens
monocromticas M1, M2 e M3, armazenando os resultados nas variveis m1, m2, m3, d1, d2 e
d3, respectivamente. Anotar os resultados obtidos e concluir a respeito.

m1=mean2(M1)
m2=mean2(M2)
m3=mean2(M3)
d1=std2(M1)
d2=std2(M2)
d3=std2(M3)

Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
280
Prtica 3
Transformaes geomtricas e verificao de nveis de cinza de pixels
Objetivos:
1. Conhecer as operaes geomtricas bsicas sobre imagens: interpolao, rotao, cropping,
zooming, flip horizontal e vertical e resizing.
2. Verificar as informaes de nveis de cinza ao longo de uma linha (intensity profile) da
imagem.
3. Inspecionar os valores de intensidade de um pixel ou grupo de pixels.
Resumo da teoria:
Dada uma imagem, bastante comum desejar modific-la, alterando suas dimenses,
rotacionando-a, eliminando parte da imagem e permanecendo somente com outra parte, obtendo
uma verso espelhada dela etc.
A este tipo de operao sobre imagens denominamos transformaes geomtricas, pois
em geral envolvem princpios bsicos de geometria analtica aplicados a matrizes, que neste
caso so imagens.
A maior parte das operaes geomtricas utiliza um processo conhecido como
interpolao, que uma tcnica utilizada pelo programa para determinar valores entre pixels
definidos. Por exemplo, se alteramos as dimenses de uma imagem de tal maneira que ela
contenha o dobro do nmero de pixels original, o programa obter os valores para os novos
pixels atravs de interpolao. A Toolbox de Processamento de Imagens do MATLAB prov
trs mtodos de interpolao:
Vizinho mais prximo
Interpolao bilinear
Interpolao bicbica
A interpolao pelo mtodo do vizinho mais prximo ajusta uma superfcie constante
atravs dos valores de intensidade. O valor de um pixel interpolado o valor do pixel mais
prximo.
A interpolao bilinear ajusta uma superfcie linear sobre os valores j existentes. O
valor de um pixel interpolado uma combinao dos valores de seus 4-vizinhos.
A interpolao bicbica ajusta uma superfcie cbica sobre os valores j existentes. O
valor de um pixel interpolado uma combinao dos 16 pixels mais prximos.
Algumas funes geomtricas permitem que se especifique o mtodo de interpolao
desejado (nearest, bilinear ou bicubic) como um de seus argumentos. Em geral, o
primeiro mtodo o mais apropriado para imagens indexadas, enquanto as interpolaes
bilineares ou bicbicas so as mais recomendadas para imagens de intensidade ou RGB.
Finalmente, outra tarefa bastante comum inspecionar os valores de intensidade de um
pixel, um grupo de pixels ou ao longo de uma linha da imagem. Nesta prtica veremos como
faz-lo usando o MATLAB.
Procedimento:
1. Iniciar o MATLAB.

2. Carregar a imagem trees em memria, rotacion-la de um ngulo de 25, armazenando
o resultado na varivel Y e exibindo a imagem resultante:

load trees
Y = imrotate(X,25);
imshow(Y,map)

Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
281
3. A funo imrotate permite que se especifique o mtodo de interpolao desejado,
sendo o mtodo do vizinho mais prximo o default. Alm disso, permite tambm especificar um
quarto parmetro, 'crop', que faz com que a funo retorne a poro central do resultado,
cujas dimenses so as mesmas da imagem original. Para ver o efeito destas opes, sugerimos
a seqncia a seguir:

Z=imrotate(X,25,'bilinear');
whos
figure
imshow(Z,map)
W=imrotate(X,25,'bicubic');
figure
imshow(W,map)
V= imrotate(X,25,'crop');
whos
figure
imshow(V,map)

Nota: O comando whos serve neste caso para verificar as dimenses das variveis: X
uma imagem de (258 x 350), enquanto Y ou Z so de (385 x 429); a imagem V, obtida com a
opo 'crop' tem tamanho (258 x 350).
Verificar que os mtodos utilizados para gerar Z ou W so ainda mais lentos que o
mtodo original (a interpolao pelo vizinho mais prximo), o qual era efetivamente o melhor
mtodo para este caso. Explicar porque os resultados com o mtodo original so claramente
melhores.

4. Outra operao comum a operao de cropping, implementada pela funo imcrop,
ilustrada na seqncia a seguir, na qual a rea de cropping definida por uma matriz rect (1 x
4), cujo contedo representa, respectivamente, a coordenada da coluna onde se deseja o corte, a
linha onde o corte deve comear, a largura da imagem cortada e sua altura.

clear all
load trees
Y=imcrop(X,[71,107,92,95]);
subplot(2,1,1), imshow(X,map)
subplot(2,1,2), imshow(Y,map)

5. Outra opo para definir a rea de cropping especific-la usando o mouse. Para faz-
lo, basta chamar imcrop sem argumentos, mover o mouse sobre a imagem (que j deve estar
disponvel em outra janela), pressionar o boto esquerdo para definir o canto superior esquerdo
e arrastar atravs da imagem o mouse at o canto inferior direito. Ao soltar o boto do mouse,
aparecer, no lugar da imagem original, a imagem j cortada. A seqncia :

clg
imshow(X,map)
imcrop

6. Para alterar o tamanho de uma imagem utiliza-se a funo imresize, cujos
parmetros incluem a possibilidade de especificar o mtodo de interpolao desejado. Para
verificar os efeitos de imresize, recomendamos a seqncia a seguir:

close
clear
load trees
Y=imresize(X,2);
whos
figure
imshow(Y,map)
Z=imresize(X,.7);
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
282
whos
figure
imshow(Z,map)
W=imresize(X, [100, 200]);
whos
figure
imshow(W,map)

Sobre os resultados vistos, pergunta-se:
a. Foi possvel perceber alguma diferena aprecivel entre as imagens X, Y e Z, ao
visualiz-las?
b. Quais foram as conseqncias de se especificar o novo tamanho para a imagem
W como sendo (100 x 200)?

7. Muitas vezes deseja-se ver com mais detalhes o contedo de uma imagem (ou de uma
regio da imagem), sem alterar suas dimenses. Para isto se utiliza um zoom in. Em outros
casos, a imagem muito grande para caber na tela. Nestas ocasies se utiliza o zoom out. No
MATLAB, o comando imzoom on habilita o uso do zoom com o mouse. Neste caso, basta
pressionar o boto esquerdo do mouse sobre uma imagem para ampli-la (zoom in) ou
pressionar o boto direito para reduzir sua tamanho na tela (zoom out). O centro da regio para o
zoom ser o ponto onde se pressionou o boto do mouse. Para desligar o modo de zoom, escreva
imzoom off. Teste o uso do zoom com uma imagem dentre as j conhecidas (tree, kids
ou forest).

8. Outra opo bastante comum em programas de processamento de imagens o flip, que
produz uma imagem espelhada na horizontal ou vertical. O MATLAB no prov nenhuma
funo flip, porque o flip nada mais que uma combinao de transposio e rotao de
matrizes. Assim, para obter o efeito do flip, sugerimos a seqncia abaixo:

Para o flip horizontal:

clear
load trees
U = X; % calcula a matriz transposta de X
W = imrotate(U,270);
subplot(2,2,1), imshow(X,map)
subplot(2,2,2), imshow(W,map)

Para o flip vertical:

V = imrotate(U,90);
subplot(2,2,3), imshow(V,map)

9. Para visualizar graficamente as variaes de nveis de cinza ao longo de uma linha sobre
a imagem, pode-se utilizar a funo improfile. Chamando improfile sem argumentos,
podemos definir com o boto esquerdo do mouse onde comea a linha de interesse e com o
direito onde ela termina.
4
Executar a seqncia a seguir, lembrando-se de usar o mouse depois
da ultima linha de comando abaixo:

clear
load spine
G=ind2gray(X,map);
clg
imshow(G,64)
improfile

4
Pode-se definir mais de uma linha, usando o boto esquerdo do mouse seguidas vezes e pressionando o
boto direito para concluir o processo.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
283

10. Outra opo consiste em passar parmetros para a funo improfile, onde os
parmetros so as coordenadas dos pontos inicial e final da linha. A seqncia de passos abaixo
ilustra o uso da funo improfile com parmetros:

X = [123 233]
Y = [132 290]
subplot(1,2,1), imshow(G,64)
hold on
plot(X,Y)
subplot(1,2,2), improfile(G,X,Y)

11. Finalmente, veremos como obter informaes sobre um pixel ou grupo de pixels,
atravs da funo impixel:
Para imagens indexadas, pode-se armazenar em uma varivel o contedo das
componentes R, G e B de um pixel (dadas suas coordenadas) ou de um grupo de pixels (dadas
duas listas de coordenadas destes pixels). Por exemplo:

load trees
v1 = impixel(X,map,21,151)
x1 = [2 3 4 5 7]
y1 = [7 8 9 10 12]
v2 = impixel(X,map,x1,y1)

Pergunta-se:
a. Quais so as dimenses e o contedo das variveis v1 e v2?
b. Qual o significado de cada linha da matriz v2 e como estas linhas esto
relacionadas s variveis x1 e y1?

12. Outra alternativa utilizar impixel interativamente com o mouse, pressionando o
boto esquerdo do mouse sobre cada ponto sobre o qual se deseje conhecer os valores de R, G e
B. Quando todos os pontos tiverem sido selecionados, pressione Enter. Escolher uma imagem e
alguns pontos de interesse e relatar as concluses obtidas.

Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
284
Prtica 4
Mtodos ponto-a-ponto de realce e anlise de imagens
Objetivos:
1. Obter e interpretar o histograma de uma imagem.
2. Conhecer o efeito da aplicao de funes de transformao de intensidade a imagens.
3. Aprimorar o contraste de uma imagem atravs da equalizao de seu histograma.
4. Destacar pixels de interesse em uma imagem monocromtica atravs de tcnicas de
pseudocolorizao.
5. Adequar os valores de nveis de cinza de uma imagem, de tal maneira que se situem dentro
de uma faixa de valores de interesse.
Resumo da teoria:
Histogr ama de uma imagem
O histograma de uma imagem um grfico que mostra a quantidade (ou o percentual) de pixels
correspondentes a cada nvel de cinza em uma imagem. A funo imhist mostra o histograma
de uma imagem.
Tr ansfor maes de intensidade
Os pixels de uma imagem podem ser submetidos a uma funo de transformao ponto-a-ponto,
da forma y = x
i
, onde um fator i positivo e maior que 1 produzir uma imagem resultante mais
escura que a imagem original, enquanto um fator i entre 0 e 1 produzir uma imagem resultante
mais clara que a imagem original. No MATLAB, estas funes de transformao de intensidade
esto disponveis atravs da funo imadjust.
Equalizao de histogr ama
O histograma de uma imagem fornece informaes sobre o contraste da cena correspondente.
Para aprimorar o contraste de uma imagem, uma das tcnicas mais comuns a equalizao de
seu histograma. Esta equalizao reorganiza os valores de intensidade, produzindo histogramas
mais lineares.
No MATLAB, a funo histeq implementa o conceito de equalizao de histograma.
Pseudocolor izao (Density slicing)
A tcnica de pseudocolorizao cria uma imagem colorida a partir de uma imagem de
intensidade atravs do mapeamento de faixas de valores de intensidade a cores diferentes.
No MATLAB, a funo grayslice implementa o conceito de pseudocolorizao. Ela
requer uma imagem e um parmetro que descreva como distribuir as faixas de nveis de cinza da
imagem original nas cores desejadas.
Modificao de histogr ama
Alm de permitir a equalizao de histograma, o MATLAB permite outras formas de
modificao de histograma, como por exemplo a compresso e expanso, disponveis atravs da
funo imadjust.
Procedimento:

1. Iniciar o MATLAB.

2. Carregar a imagem clown, convert-la para imagem monocromtica e exibir seu
histograma, usando a funo imhist.

load clown
I=ind2gray(X,map);
subplot(2,1,1), imhist(I,128)
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
285
subplot(2,1,2), imshow(I,128)

3. Repetir o passo 2 para as imagens trees e forest e interpretar os resultados obtidos.

4. Verificar o efeito de aplicar transformaes de intensidade a uma imagem com valores
de i entre 0 e 1:

load trees
I = ind2gray(X,map);
J = imadjust(I, [], [], .5);
subplot(2,2,1), imshow(I,128)
subplot(2,2,3), imshow(J,128)
subplot(2,2,2), imhist(I,128)
subplot(2,2,4), imhist(J,128)

5. Verificar o efeito de aplicar transformaes de intensidade a uma imagem com valores
de i maiores que 1:

load trees
I = ind2gray(X,map);
J = imadjust(I, [], [], 1.5);
subplot(2,2,1), imshow(I,128)
subplot(2,2,3), imshow(J,128)
subplot(2,2,2), imhist(I,128)
subplot(2,2,4), imhist(J,128)

6. Equalizar o histograma da imagem forest para 128 nveis de cinza.

load forest
I= ind2gray(X,map);
J= histeq(I,128);
subplot(2,2,1), imshow(I,128)
subplot(2,2,2), imhist(I,128)
subplot(2,2,3), imshow(J,128)
subplot(2,2,4), imhist(J,128)

7. A funo histeq tambm permite que o histograma seja equalizado para um nmero
menor de nveis de cinza. Para verificar o efeito desta opo, sugere-se a seqncia:

load forest
I= ind2gray(X,map);
J= histeq(I,16);
subplot(2,2,1), imshow(I,16)
subplot(2,2,2), imhist(I,16)
subplot(2,2,3), imshow(J,16)
subplot(2,2,4), imhist(J,16)

8. Repetir os passos 6 e 7 para a imagem trees.

9. Para ilustrar o conceito de pseudocolorizao, dividiremos a faixa total de nveis de
cinza da imagem spine em 6 segmentos e atribuindo a cada um deles uma cor distinta, pr-
definida no mapa de cores prism:

load spine
I = ind2gray(X,map);
imshow(I,128)
Y = grayslice(I,6);
imshow(Y,prism(6)); colorbar

Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
286
10. Para verificar o conceito de expanso de histograma (input cropping), sugerimos a
seqncia:

load clown
I = ind2gray(X,map);
J = imadjust(I,[0 0.5],[],[]);
subplot(2,2,2), imhist(I,128)
subplot(2,2,1), imshow(I,128)
subplot(2,2,4), imhist(J,128)
subplot(2,2,3), imshow(J,128)

11. Repetir o passo 10 para a imagem forest e concluir a respeito.

12. Para verificar o conceito de compresso de histograma (output cropping), sugerimos a
seqncia:

load forest
I = ind2gray(X,map);
J = imadjust(I,[ ],[0.5 1.0],[ ]);
subplot(2,2,2), imhist(I,128)
subplot(2,2,1), imshow(I,128)
subplot(2,2,4), imhist(J,128)
subplot(2,2,3), imshow(J,128)
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
287
Prtica 5
Filtragem no domnio espacial
Objetivos:
1. Verificar o funcionamento de filtros passa-baixas utilizando as tcnicas de filtragem pela
mdia, mediana e mdia de mltiplas imagens.
2. Verificar o funcionamento de filtros passa-altas no domnio espacial.
3. Verificar o funcionamento de filtros de realce utilizando a tcnica de unsharp masking.
4. Verificar o funcionamento de filtros passa-altas high-boost.
Resumo da teoria:
Uma das aplicaes mas comuns das tcnicas de processamento de imagens est nas reas de
remoo de rudos e aprimoramento da qualidade de uma imagem. Nesta prtica abordaremos
trs tcnicas de remoo de rudo, que equivalem a filtros passa-baixa, que so:
Filtr agem pela mdia: nesta tcnica, o pixel central de uma janela (normalmente 3 x 3)
substitudo pela mdia dos valores de intensidade de seus 8 vizinhos.
Filtr agem pela mediana: nesta tcnica, o pixel central de uma janela (normalmente 3 x 3)
substitudo pela mediana dos valores de intensidade de seus 8 vizinhos.
Filtr agem pela mdia de mltiplas imagens: nesta tcnica, assumindo-se que existem n
verses ruidosas de uma mesma imagem e que o rudo aleatrio e descorrelacionado,
calcula-se a mdia das vrias imagens ruidosas.
Esta prtica tambm apresenta quatro formas de filtragem passa-altas no domnio
espacial, que so:
Realce pela funo emboss: nesta tcnica, utilizando mscaras para deteo de bordas,
obtm-se um efeito de baixo relevo sobre a imagem original.
Realce utilizando mscar as r ecomendadas na liter atur a: neste caso, executamos a
convoluo de uma imagem com uma mscara projetada para realar os componentes de alta
freqncia da imagem original.
Realce utilizando a tcnica de unsharp masking: nesta tcnica, subtrai-se de uma imagem
uma verso suavizada dela, que se pode obter, por exemplo, calculando a mdia dos 4-
vizinhos de um pixel.
Realce por filtr agem high-boost: equivale a um filtro passa-altas, porm com maior
preservao da informao de baixa freqncia da imagem.
Procedimento:
1. Iniciar o MATLAB.

2. Criar a matriz h para filtragem passa-baixa pela tcnica de filtragem da mdia.

h = [ 1 1 1
1 1 1
1 1 1_ / 9

3. Carregar a imagem kids, convert-la para imagem monocromtica e filtr-la usando a
tcnica de filtragem pela mdia. Exibir na tela as duas imagens e concluir a respeito.

load kids
I=ind2gray(X,map);
B=filter2(h,I);
subplot(1,2,1);imshow(I,128)
subplot(1,2,2);imshow(B,128)
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
288

4. Repetir o passo 3 para a imagem trees.

load trees
I=ind2gray(X,map);
B=filter2(h,I);
subplot(1,2,1);imshow(I,128)
subplot(1,2,2);imshow(B,128)

5. A seguir, aplicaremos a mesma tcnica a verses ruidosas das imagens kids e trees.
Verificar os resultados obtidos e concluir a respeito.

load kids
I=ind2gray(X,map);
J=imnoise(I,'salt & pepper');
B=filter2(h,J);
subplot(2,2,1);imshow(I,128)
subplot(2,2,2);imshow(J,128)
subplot(2,2,3);imshow(B,128)

load trees
I=ind2gray(X,map);
J=imnoise(I,'salt & pepper');
B=filter2(h,J);
subplot(2,2,1);imshow(I,128)
subplot(2,2,2);imshow(J,128)
subplot(2,2,3);imshow(B,128)

6. Utilizaremos na seqncia a funo medfilt2, que implementa a tcnica de filtragem
pela mediana, aplicando-a inicialmente a uma imagem sem rudo.

load kids
I=ind2gray(X,map);
K=medfilt2(I,[3 3_, [50 50_);
subplot(1,2,1);imshow(I,64)
subplot(1,2,2);imshow(K,64)

7. Repetir o passo anterior para uma verso da imagem kids contaminada com rudo sal e
pimenta.

% load kids
% I=ind2gray(X,map);
J=imnoise(I,salt & pepper);
K=medfilt2(J,[3 3_, [50 50_);
subplot(2,2,1);imshow(I,64)
subplot(2,2,2);imshow(J,64)
subplot(2,2,3);imshow(K,64)

8. A seqncia a seguir executa a filtragem passa-baixas atravs da tcnica da mdia de
mltiplas imagens.

% load kids
% I=ind2gray(X,map);
J1=imnoise(I,'salt & pepper');
J2=imnoise(I,'salt & pepper');
J3=imnoise(I,'salt & pepper');
J4=imnoise(I,'salt & pepper');
J=(J1+J2+J3+J4)/4;
subplot(2,3,1);imshow(I,64)
subplot(2,3,2);imshow(J,64)
subplot(2,3,3);imshow(J1,64)
subplot(2,3,4);imshow(J2,64)
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
289
subplot(2,3,5);imshow(J3,64)
subplot(2,3,6);imshow(J4,64)

9. Carregar a imagem trees, convert-la para monocromtica e aplicar a ela um filtro
obtido atravs da criao de uma mscara de convoluo por meio da funo fspecial com
a opo sobel. O efeito produzido sobre a imagem original conhecido como emboss.

load trees
clg
I=ind2gray(X,map);
h=fspecial('sobel');
A=filter2 (h,I);
imshow(mat2gray(A),64)

10. Utilizar a seqncia de passos abaixo para realar uma imagem utilizando mscara 3 x
3. Convm observar que o resultado deixa a desejar do ponto de vista qualitativo, mas
certamente ilustra o realce das componentes de alta freqncia.

clear
A=[ 0 -1 0; -1 5 -1; 0 -1 0 ];
load kids
N = 255;
J=ind2gray(X,map);
K=round(J*N);
L=filter2(A,K);
[lin, col] = size(L);
for i=1:lin, for j=1:col, if L(i,j)<0 L(i,j)=0; end, end, end
for i=1:lin, for j=1:col, if L(i,j)>N L(i,j)=N; end, end, end
L = L/N;
subplot(1,2,1), imshow(J,256)
subplot(1,2,2), imshow(L,256)

11. Repetir o passo 10 utilizando outras mscaras sugeridas na literatura.

12. Aplicar os conceitos de unsharp masking, executando a seqncia de comandos a
seguir.

% clear
% load kids
% J = ind2gray(X,map);
h = fspecial('unsharp')
clg
N = 255;
K=round(J*N);
L=filter2(h,K);
[lin, col] = size(L);
for i=1:lin, for j=1:col, if L(i,j)<0 L(i,j)=0; end, end, end
for i=1:lin, for j=1:col, if L(i,j)>N L(i,j)=N; end, end, end
L = L/N;
subplot(1,2,1), imshow(J,256)
subplot(1,2,2), imshow(L,256)

13. Filtrar uma imagem pela tcnica de nfase em alta freqncia (tambm denominada
filtragem high-boost) utilizando trs diferentes valores para o parmetro que especifica a
quantidade de informao de baixa freqncia da imagem original que se deseja preservar.
Observamos mais uma vez que os resultados so pouco agradveis visualmente, mas coerentes
com os fundamentos tericos que se deseja verificar.

% clear
% load kids
% J = ind2gray(X,map);
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
290
p1 = 1.1;
p2 = 1.15;
p3 = 1.2;
w1 = 9*p1 - 1;
w2 = 9*p2 - 1;
w3 = 9*p3 - 1;
m1 = [-1 -1 -1; -1 w1 -1; -1 -1 -1];
m2 = [-1 -1 -1; -1 w2 -1; -1 -1 -1];
m3 = [-1 -1 -1; -1 w3 -1; -1 -1 -1];
clg
% N = 255;
% K=round(J*N);
L1=filter2(m1,K);
[lin, col] = size(L1);
for i=1:lin, for j=1:col, if L1(i,j)<0 L1(i,j)=0; end, end, end
for i=1:lin, for j=1:col, if L1(i,j)>N L1(i,j)=N; end, end, end
L1 = L1/N;
L2=filter2(m2,K);
[lin, col] = size(L2);
for i=1:lin, for j=1:col, if L2(i,j)<0 L2(i,j)=0; end, end, end
for i=1:lin, for j=1:col, if L2(i,j)>N L2(i,j)=N; end, end, end
L2 = L2/N;
L3=filter2(m3,K);
[lin, col] = size(L3);
for i=1:lin, for j=1:col, if L3(i,j)<0 L3(i,j)=0; end, end, end
for i=1:lin, for j=1:col, if L3(i,j)>N L3(i,j)=N; end, end, end
L3 = L3/N;
subplot(2,2,1), imshow(J,256)
subplot(2,2,2), imshow(L1,256)
subplot(2,2,3), imshow(L2,256)
subplot(2,2,4), imshow(L3,256)
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
291
Prtica 6
Filtragem no domnio da freqncia
Objetivos:
1. Verificar algumas das propriedades da transformada de Fourier direta e inversa aplicada a
imagens.
2. Implementar filtros passa-altas e passa-baixas no domnio da freqncia.
3. Implementar a filtragem high-boost no domnio da freqncia.
4. Verificar o funcionamento de um filtro homomrfico.
Resumo da teoria:
Tr ansfor mada de Four ier (FFT)
Uma imagem pode ser convertida do domnio espacial para o domnio da freqncia atravs de
vrias transformadas, sendo uma delas a transformada de Fourier bidimensional.
A FFT bidimensional est disponvel no MATLAB atravs da funo fft2, que
normalmente utilizada em conjunto com a funo fftshift (que reorganiza a sada da
funo fft2, deslocando o componente de freqncia zero para o centro do arranjo
bidimensional resultante).
Filtr agem passa-baixas no domnio da fr eqncia
Nesta tcnica, utilizam-se mtodos de projeto de filtros FIR conhecidos da teoria de
processamento digital de sinais 1-D, adaptando estes filtros ao caso 2-D, obtendo as mscaras de
convoluo correspondentes para eliminar os componentes de mais alta freqncia de uma
imagem ruidosa.
Filtr agem passa-altas no domnio da fr eqncia
Nesta tcnica, utilizam-se mtodos semelhantes ao caso passa-altas, mas com o propsito de
realar os componentes de mais alta freqncia de uma imagem.
Procedimento:
1. Iniciar o MATLAB.

2. Criar uma imagem 32 x 32 binria, contendo um quadrado de pixels brancos de
dimenses 16 x 16 circundado por pixels pretos:

BN = zeros(32);
BN(9:24,9:24) = ones(16);

3. Obter a FFT da imagem BN e comparar o resultado com aquele previsto teoricamente,
visualizando-o tanto em 2-D quanto em 3-D:

F = fftshift(fft2(BN));
imshow(BN,2)
figure
colormap(jet(64)),imagesc(log(1 + abs(F))); colorbar
figure
mesh(log(1 + abs(F));

4. Na seqncia, carregar a imagem forest, convert-la de imagem indexada para
imagem de intensidade, aplicar a transformada de Fourier imagem monocromtica resultante e
exibir seus resultados.

load forest
I = ind2gray(X,map);
F = fftshift(fft2(I));
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
292
imshow(I,256)
figure
colormap(jet(64)),imagesc(log(1 + abs(F))); colorbar

5. Repetir o item 4 para uma poro da imagem kids de tamanho 128 x 128.

load kids
X = imcrop(X,[0, 0, 100, 100]);
I = ind2gray(X,map);
F = fftshift(fft2(I));
imshow(I,256)
figure
colormap(jet(64)),imagesc(log(1 + abs(F))); colorbar

6. Girar a imagem de 45 graus, recalcular a FFT e comparar os resultados, verificando a
propriedade de rotao da FFT.

Y = imrotate(I, 45);
G = fftshift(fft2(Y));
figure
imshow(Y,256)
figure
colormap(jet(64)),imagesc(log(1 + abs(G))); colorbar

7. Para exemplificarmos a filtragem passa-baixas no domnio da freqncia, projetaremos
um filtro passa-baixas utilizando janela de Hamming, que gerar uma mscara de convoluo 11
x 11 equivalente (h), e aplicaremos o filtro 2-D resultante a duas imagens ruidosas, verificando
os resultados. A mscara equivalente no domnio espacial mostrada usando o comando mesh.

clear
clg
load trees
I=ind2gray(X,map);
J1=imnoise(I,'gaussian');
J2=imnoise(I,'salt & pepper');
[f1, f2] = freqspace([11,11]);
[x, y] = meshgrid(f1, f2);
Hd = zeros(size(x));
d = find(sqrt(x.*x + y.*y)<.3);
Hd(d) = ones(size(d));
h = fwind1(Hd, hamming(11))
mesh(h)
K1 = filter2(h,J1);
K2 = filter2(h,J2);
figure
subplot(2,2,1);imshow(J1,64)
subplot(2,2,2);imshow(K1,64)
subplot(2,2,3);imshow(J2,64)
subplot(2,2,4);imshow(K2,64)

8. Na seqncia, ilustraremos a filtragem passa-altas no domnio da freqncia. Para tanto,
projetaremos um filtro passa-altas utilizando janela de Hamming, que gerar uma mscara de
convoluo 11 x 11 equivalente (h), e aplicaremos o filtro 2-D resultante a duas imagens,
verificando os resultados. O comando mesh utilizado para exibir a curva de resposta em
freqncia desejada. O resultado obtido equivalente do ponto de vista qualitativo quele
obtido com a opo sharpen em diversos programas de processamento de imagens.

Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
293
clear
clg
load trees
J=ind2gray(X,map);
[f1, f2] = freqspace([11,11]);
[x, y] = meshgrid(f1, f2);
Hd = ones(size(x));
d = find(sqrt(x.*x + y.*y)>.4);
Hd(d) = 2 .* ones(size(d));
mesh(Hd)
figure
h = fwind1(Hd, hamming(11))
K = filter2(h,J);
subplot(2,1,1);imshow(J,64)
subplot(2,1,2);imshow(K.*(K>=0),64)

9. Repetir o passo 8 com a imagem kids.

Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
294
Prtica 7
Morfologia Matemtica
Objetivos:
1. Verificar o funcionamento das operaes morfolgicas bsicas: dilatao, eroso, abertura e
fechamento.
2. Verificar o funcionamento de algoritmos morfolgicos para operaes de processamento de
imagens tais como: afinamento, preenchimento de regies, extrao de contorno etc.
3. Implementar um filtro para remoo de rudos de imagens binarizadas utilizando os
conceitos e operaes morfolgicas.
Resumo da teoria:
Para uma viso introdutria do tema 'Morfologia Matemtica' aplicada a imagens binrias,
sugerimos o captulo 5 deste livro.
Procedimento:
1. Iniciar o MATLAB.

2. Carregar a imagem circbw e criar uma matriz SE (elemento estruturante) de acordo
com o exemplo abaixo. Utilizar o comando dilate para dilatar a imagem com o elemento
estruturante SE e mostrar na tela o resultado
5
.

load circbw;
SE = [1 0; 0 1];
C = dilate(BW,SE);
clg
subplot(2,2,1), imshow(~BW,2)
subplot(2,2,2), imshow(~C,2)

3. Verificar que o resultado obtido no exatamente o esperado, porque a funo dilate
foi executada com o mtodo default (thicken), que evita conectar objetos e preserva o nmero
de Euler da imagem
6
. Para obter uma dilatao semelhante estudada na teoria bsica de
operaes morfolgicas, especifique a opo dilate, executando a seqncia a seguir:

D = dilate(BW,dilate);
subplot(2,2,3), imshow(~D,2)

Nota: Esta seqncia, bem como a do passo seguinte, no especifica o elemento estruturante.
Nestes casos, o comando dilate adiciona pixels 8-vizinhana de cada ponto localizado nas
fronteiras dos objetos da imagem.

4. Utilizaremos agora a opo fatten da funo dilate, que produz resultado
semelhante ao da opo thicken, porm no garante que o nmero de Euler da imagem
permanea inalterado.

E = dilate(BW,'fatten');
subplot(2,2,4), imshow(~E,2)


5
Devido conveno utilizada no captulo 5 ser oposta utilizada pelo MATLAB, as imagens
binarizadas devem ser invertidas quando de sua exibio.
6
O nmero de Euler de uma imagem binria obtido calculando-se a diferena entre o nmeros de
componentes conectados na imagem e o nmero de orifcios (holes) nela presentes.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
295
5. Criar uma nova matriz SI (abaixo) para ser o elemento estruturante e aplicar uma eroso
(funo erode) imagem.

SI = [0 1; 1 0];
F = erode(BW,SI);
clg
subplot(2,2,1), imshow(~BW,2)
subplot(2,2,2), imshow(~F,2)

6. Verificar que, novamente, o resultado obtido no exatamente o esperado, porque o
comando erode foi executado com o mtodo default (thin), que executa a eroso sobre os
objetos at um limite para o qual eles estaro reduzidos a linhas (no chegando a transform-los
em pontos), e preserva o nmero de Euler da imagem. Para obter uma eroso semelhante
estudada na teoria bsica de operaes morfolgicas, especifique a opo erode, executando a
seqncia:

G = erode(BW,erode);
subplot(2,2,3), imshow(~G,2)

Nota: Esta seqncia, bem como a do passo seguinte, no especifica o elemento estruturante.
Nestes casos, o comando erode remove pixels da 8-vizinhana de cada ponto localizado nas
fronteiras dos objetos da imagem.

7. Executar mais uma vez o comando erode, agora com a opo shrink, que executa a
eroso at que os objetos se transformem em pontos, preservando o nmero de Euler da imagem
original.

H = erode(BW,'shrink');
subplot(2,2,4), imshow(~H,2);

8. Tanto o comando erode quanto o comando dilate permitem executar mltiplas
operaes em um nico comando. Executar a seqncia a seguir para verificar este aspecto.

I = erode(BW,'thin',5);
clg
subplot(2,2,1), imshow(~BW,2)
subplot(2,2,2), imshow(~I,2)
J = dilate(BW,'thicken',5);
subplot(2,2,3), imshow(~J,2)
K = erode(J,'thin',5);
subplot(2,2,4), imshow(~K,2)

9. A seqncia seguinte exemplifica a operao de abertura utilizando a funo bwmorph
com a opo open, assim como a partir das opes erode e dilate, correspondentes s
operaes de eroso e dilatao.

clg
L = bwmorph(BW, 'erode');
M = bwmorph(L, 'dilate');
N = bwmorph(BW, 'open');
subplot(2,2,1), imshow(~BW,2)
subplot(2,2,2), imshow(~L,2)
subplot(2,2,3), imshow(~M,2)
subplot(2,2,4), imshow(~N,2)

10. A prxima seqncia exemplifica a operao de fechamento utilizando a funo
bwmorph com a opo close, bem como a partir das opes erode e dilate,
correspondentes s operaes de eroso e dilatao.
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
296

clg
P = bwmorph(BW, 'dilate');
Q = bwmorph(P, 'erode');
R = bwmorph(BW, 'close');
subplot(2,2,1), imshow(~BW,2)
subplot(2,2,2), imshow(~P,2)
subplot(2,2,3), imshow(~Q,2)
subplot(2,2,4), imshow(~R,2)

11. Para verificar o funcionamento do algoritmo de extrao de contornos descrito na
subseo 5.5.1, utilizaremos a seqncia:

load logo
BW = im2bw(X,map,.5);
BW = ~BW;
B = [ 1 1 1 ; 1 1 1 ; 1 1 1 ];
R1 = erode(BW, B, 'erode');
R2 = BW - R1;
subplot(2,2,1), imshow(~BW,2)
subplot(2,2,2), imshow(~R1,2)
subplot(2,2,3), imshow(~R2,2)

12. Para extrair o contorno dos objetos de uma imagem de maneira mais simples, podemos
utilizar a funo bwperim.

P1 = bwperim(BW);
subplot(2,2,3),imshow(~P1,2);

Comparar os resultados dos dois mtodos (imagens 3 e 4).

13. No MATLAB, vrias aplicaes da transformao hit-or-miss j esto implementadas
como parmetros da funo bwmorph. A partir de agora, veremos algumas destas aplicaes,
comeando pelo preenchimento de regies (region filling).

subplot(1,2,1),imshow(BW,2)
subplot(1,2,2),imshow(~bwmorph(BW,'fill',5),2)

14. Para verificar a opo thin da funo bwmorph, que implementa o afinamento, utilize
a seqncia:

clg
subplot(1,2,1),imshow(~BW,2)
subplot(1,2,2),imshow(~bwmorph(BW,'thin',5),2)

15. A operao de espessamento (thickening) pode ser implementada atravs da opo
thicken, conforme a seqncia:

clg
subplot(1,2,1),imshow(~BW,2)
subplot(1,2,2),imshow(~bwmorph(BW,'thicken',5),2)

16. O esqueleto de um objeto pode ser obtido atravs da opo skel de bwmorph ou
atravs da opo skeleton da funo erode, conforme a seqncia:

clg
subplot(2,2,1),imshow(~BW,2)
subplot(2,2,2),imshow(~bwmorph(BW,'skel',5),2)
subplot(2,2,3),imshow(~erode(BW,'skeleton',5),2)
Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
297

Comparar os resultados (2 e 3), verificando se so idnticos.

17. Verificar as opes bridge, clean, majority, remove e spur da funo bwmorph
atravs das seqncias:

clg
subplot(2,2,1),imshow(~BW,2)
subplot(2,2,2),imshow(~bwmorph(BW,'bridge',5),2)
subplot(2,2,3),imshow(~bwmorph(BW,'remove',5),2)
subplot(2,2,4),imshow(~bwmorph(BW,'majority',5),2)


BWR = imnoise(BW, 'salt & pepper');
subplot(1,2,1),imshow(~BWR,2)
subplot(1,2,2),imshow(~bwmorph(BWR,'clean',5),2)


clg
subplot(2,2,1),imshow(~BW,2)
SK = ~bwmorph(BW,'skel',5);
subplot(2,2,2),imshow(SK,2)
subplot(2,2,3),imshow(~bwmorph(~SK,'spur',5),2)

18. Finalmente, verificaremos o funcionamento de um filtro morfolgico usando a
seqncia:

clear
clg
S = [ 0 0 0 0 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 0 0 0 0];
B = imresize (S, [80 50], 'nearest');
C = ~B;
CR = imnoise(C, 'salt & pepper');
subplot(2,3,1), imshow(C,2)
subplot(2,3,2), imshow(CR,2)
EE = [1 1 1 ; 1 1 1 ; 1 1 1];
R1 = erode(~CR, EE);
subplot(2,3,3), imshow(~R1,2)
R2 = dilate(R1, EE);
subplot(2,3,4), imshow(~R2,2)
R3= dilate (R2, EE);
subplot(2,3,5), imshow(~R3,2)
R4 = erode(R3, EE);
subplot(2,3,6), imshow(~R4,2)

Roteir os de Labor atr io de Pr ocessamento de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
298
Na Internet
Para pesquisas sobre os aspectos tericos de cada prtica, sugerimos consultar as indicaes de
endereo ao final dos captulos 1 a 5. Para maiores informaes sobre a MathWorks (fabricante
do MATLAB), a toolbox de processamento de imagens e outros aspectos prticos relacionados a
este apndice, recomendamos os endereos a seguir:
"http://www.mathworks.com/"
The MathWor ks Web Site

"http://www.mathworks.com/products/image/"
MathWor ks: Image Pr ocessing Toolbox

"http://education.mathworks.com/"
Welcome to MATLAB In Education

Bibliografia

[Russ 1995] Russ, J. C., The Image Processing Handbook - 2nd ed., CRC
Press, 1995.


MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Glossrio
4-conectividade - um par de pixels vizinhos dito 4-conectado se eles possuem um lado em
comum.

8-conectividade - um par de pixels vizinhos dito 8-conectado se eles possuem um lado ou um
canto em comum.

Aber tur a - operao morfolgica que suaviza o contorno geomtrico dos objetos contidos em
uma imagem. Essa operao composta de uma operao de eroso, seguida de uma operao
de dilatao.

Amostr agem - mtodo utilizado para a digitalizao de um sinal analgico, no qual so
retiradas amostras do sinal analgico em determinada freqncia. Ver Teorema de Nyquist.

Bor da - mudana nos valores dos pixels (excedendo algum limiar) entre duas regies de valores
relativamente uniformes. Bordas correspondem a mudanas no brilho da imagem, as quais
podem corresponder a uma descontinuidade na orientao ou refletncia da superfcie, ou ainda
na iluminao.

Br ilho - valor do nvel de cinza de um pixel de uma imagem. Quanto maior o valor do nvel
de cinza do pixel, maior seu brilho.

CCD - Dispositivo de Carga Acoplada (Charge Coupled Device). o elemento fotossensvel
utilizado em cmeras de estado slido.

Codificao de Huffman - tcnica de codificao que calcula a probabilidade de ocorrncia
dos valores em um conjunto de dados e atribui cdigos de comprimento menor para os valores
mais provveis.

Codificao LZW (Lempel-Ziv-Welch) - mtodo de codificao semelhante codificao de
Huffman, no qual as probabilidades so recalculadas quando o desempenho se altera.

Codificao PackBits - variante de implementao da codificao RLE utilizado nos formatos
MacPaint e TIFF.

Codificao RLE - tcnica simples de codificao de redundncias, a qual consiste em pares de
nmeros. Um nmero representa um valor de pixel e o outro o nmero de vezes que esse valor
se repete na seqncia da imagem.

Compr esso de Imagens - operao que preserva toda ou quase toda a informao da imagem
ao mesmo tempo em que reduz a quantidade de memria necessria para armazen-la ou o
tempo necessrio para transmiti-la.

Conjunto - coleo de elementos que possuem alguma caracterstica em comum.

Conjunto Nulo - conjunto que no possui elementos.
Glossr io
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
300

Contor no - linha que delimita objetos contidos em uma imagem.

Contr aste - grau de variao dos nveis de cinza em uma imagem.

Conver sor Analgico/Digital (A/D) - dispositivo eletrnico capaz de converter sinais
analgicos contnuos em informao digital discreta.

Convoluo Discr eta - processo no qual duas imagens so combinadas atravs de operaes de
deslocamento, multiplicao e adio. Normalmente, uma das imagens muito menor que a
outra, sendo chamada de janela ou mscara de convoluo. Mscaras podem ser projetadas para
realizar uma ampla gama de funes de filtragem.

Cor r elao - correspondncia entre os pixels de uma imagem e outra de referncia.

Cr nea - superfcie transparente externa do olho humano, a qual realiza o processo inicial de
focalizao.

Cur sor - objeto grfico utilizado para identificar a localizao de um dispositivo apontador, tal
qual um mouse.

Deteo de Bor das - tcnica de determinao dos contornos dos objetos contidos em uma
imagem.

Digitalizador - dispositivo eletrnico capaz de converter sinais analgicos contnuos em
informao digital discreta. Ver Conversor Analgico/Digital (A/D).

Dilatao - operao morfolgica que aumenta o tamanho geomtrico de objetos contidos em
uma imagem.

Discr eto - referente a sinais ou dados divididos em amostras ou quantidades fixas.

Dispositivos de Estado Slido - componentes eletrnicos feitos de material semicondutor cuja
composio inteiramente slida, diferentemente das vlvulas eletrnicas, as quais fazem uso
de vcuo para o seu funcionamento.

Distncia Euclidiana - distncia medida atravs da raiz quadrada da soma dos quadrados das
diferenas entre as coordenadas dos pontos em questo.

Distncia D
4
- distncia medida atravs da soma dos mdulos das diferenas entre as
coordenadas dos pixels em questo.

Distncia D
8
- distncia medida atravs da soma do mximo valor dentre os mdulos das
diferenas entre as coordenadas dos pixels em questo.

Dithering - termo utilizado para descrever algoritmos que simulam representaes em nveis de
cinza em dispositivos cuja sada binria, tais como impressoras monocromticas.

Glossr io
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
301
Elemento Estr utur ante - conjunto de pixels utilizado para descrever a funo estruturante
utilizada em operaes morfolgicas de eroso, dilatao e operaes derivadas.

Entr elaamento - processo de varredura que salta uma linha a cada linha varrida, em mtodos
de sensoriamento ou apresentao de imagens. Cada quadro dividido em dois campos: um de
linhas mpares e outro de linhas pares, com o objetivo de reduzir a cintilao que ocorre com o
processo de varredura no entrelaada.

Equalizao de Histogr ama - processo que procura converter o histograma de uma imagem
numa distribuio uniforme. O efeito da equalizao de histograma a melhoria do contraste da
imagem.

Er oso - operao morfolgica que reduz o tamanho geomtrico de objetos contidos em uma
imagem.

Escala de Cinza - faixa de nveis de cinza correspondentes aos valores dos pixels em uma
imagem monocromtica.

Espectr o - conjunto ordenado de raias que descrevem o contedo em freqncia de um
conjunto de dados (ou sinal). Ver Transformada Discreta de Fourier.

Espectr o Eletr omagntico - faixa de comprimentos de onda de energia conhecidos e seus
respectivos nomes.

Espectr o Visvel - poro do espectro eletromagntico que visvel ao olho humano.

Esqueletizao - processo de obteno da forma estrutural bsica de um objeto em uma
imagem, de apenas um pixel de espessura.

Fechamento - operao morfolgica que suaviza o contorno geomtrico dos objetos contidos
em uma imagem. Essa operao composta de uma operao de dilatao, seguida de uma
operao de eroso.

Filtr agem Homomr fica - processo no qual um filtro espacial aplicado ao logaritmo da
imagem original e o resultado final obtido pela exponenciao da filtragem.

Filtr os Adaptativos - filtros que mudam suas caractersticas conforme a imagem qual so
aplicados e ao tipo de rudo nela presente.

Filtr o Espacial - filtro bidimensional que opera na distribuio espacial de valores de pixels em
uma pequena vizinhana. Apesar dos filtros de freqncia espacial operarem em distribuies
espaciais de pixels, o termo filtro espacial geralmente reservado para denominao de
convolues discretas, enquanto o termo anterior utilizado para filtros derivados de
transformadas matemticas.

Filtr o da Mdia - filtro que substitui o pixel central da mscara de convoluo pela mdia dos
valores de nvel de cinza sob a mscara.

Glossr io
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
302
Filtr o de Mximo - filtro que substitui o pixel central da mscara de convoluo pelo mximo
dos valores de nvel de cinza sob a mscara.

Filtr o da Mediana - filtro que substitui o pixel central da mscara de convoluo pela mediana
dos valores de nvel de cinza sob a mscara.

Filtr o de Mnimo - filtro que substitui o pixel central da mscara de convoluo pelo mnimo
dos valores de nvel de cinza sob a mscara.

Filtr o Passa-Altas - filtro espacial linear que atenua as freqncias espaciais mais baixas de
uma imagem e acentua as mais altas. Normalmente utilizado para destacar pequenos detalhes,
bordas e linhas.

Filtr o Passa-Baixas - filtro espacial linear que atenua as freqncias espaciais mais altas de
uma imagem e acentua as mais baixas. Normalmente utilizado para remover pequenos
detalhes indesejados, eliminar algum tipo de rudo ou suavizar imagens.

Filtr o Passa-Faixa - filtro espacial linear que atenua as freqncias espaciais de uma imagem
que esto fora da sua faixa de atuao e acentua as que esto dentro. Possui pouca utilizao
prtica no processamento de imagens.

Frame buffer - memria digital projetada para armazenar uma imagem ou um conjunto de
imagens que foram capturadas por um digitalizador ou frame grabber.

Frame grabber - circuito eletrnico que converte (digitaliza) sinal analgico de vdeo em uma
imagem digital.

Fr eqncia - medida da periodicidade de um conjunto de dados, ou seja, quo freqentemente
padres so repetidos com respeito a uma determinada medida como tempo ou distncia.

Fr eqncia Espacial - medida da periodicidade de um conjunto de dados com respeito a uma
medida de distncia. Mudanas peridicas em valores de brilho em uma imagem so definidos
em termos de freqncia espacial.

Gamma - medida bsica de contraste. Na terminologia eletrnica, gamma a inclinao da
curva de distribuio de brilho de um dispositivo de sada como um monitor. Um valor gamma
alto significa uma inclinao elevada e, conseqentemente, alto contraste.

Halftoning - tcnica para proporcionar efeito de escala de cinza em dispositivos de sada
binria, tais quais impressoras monocromticas. Ver dithering.

Histogr ama - distribuio dos valores dos nveis de cinza. um grfico do nmero de pixels
em cada nvel de cinza possvel em uma imagem, constituindo a distribuio de probabilidade
dos valores dos pixels. Pode ser processado atravs de tcnicas estatsticas, as quais resultam em
mudanas no brilho e contraste da imagem, independentes da distribuio espacial dos pixels.

Iluminao - fonte externa de energia que ilumina uma cena ou imagem.

Iluminncia - medida de intensidade luminosa incidente em determinado ponto ou regio.
Glossr io
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
303

Imagem - projeo de uma cena em um plano, normalmente representada como uma matriz de
valores de brilho.

Imagem Binr ia - imagem na qual os pixels assumem apenas dois valores, geralmente 0 ou 1.

Imagem Digital - obtida pela partio da rea da imagem em uma matriz bidimensional finita,
cujas clulas (pixels) recebem valores correspondentes intensidade luminosa naquela regio.

Imagem Monocr omtica - imagem cujos pixels podem assumir uma faixa de valores variando
do preto ao branco (nvel de cinza).

Imagem Padr o - 512 x 512 pixels, com quantizao de 8 bits por pixel.

Inter seo - regio comum a dois objetos ou conjuntos.

Ir r adincia - medida de intensidade luminosa irradiada por uma fonte de luz.

LCD - Display de Cristal Lquido (Liquid Crystal Display). Dispositivo que faz uso do efeito de
atenuao de luz, apresentado por cristais amorfos, para criar sada visvel em um monitor.

Limiar izao - tcnica de segmentao dos nveis de cinza em duas regies diferentes, tambm
chamada de binarizao de uma imagem. Determina-se um valor de limiar e todos os valores
dos pixels menores ou iguais a esse valor so mapeados em 0, enquanto os demais so
mapeados em 1.

Limiar izao tima - processo de determinao do melhor valor de limiar para uma imagem
particular, com base em suas propriedades estatsticas.

m-conectividade - abreviao de conectividade mista. Consiste em uma modificao da 8-
conectividade, visando eliminar possveis duplicidades de conexo entre dois pixels.

Mscar a de Convoluo - matriz pequena, normalmente de tamanho 3x3 a 7x7, usada como
filtro em operaes de convoluo.

Mdia - resultado da soma de um conjunto de valores dividida pelo total de itens somados.

Mediana - valor central de um conjunto de valores ordenados.

Monitor - dispositivo utilizado para apresentar imagens ou dados computacionais.

Monocr omtico - termo utilizado para descrever imagens em branco e preto ou em nveis de
cinza.

Mor fologia Matemtica - rea do processamento de imagens que leva em considerao a
anlise do formato dos objetos contidos em uma imagem.

Ner vo tico - nervo que transporta informaes do olho para o crebro humano.
Glossr io
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
304

Nvel de Cinza - valor de um pixel numa imagem monocromtica.

NTSC - Comit Nacional de Padres de Televiso dos EUA (National Televison Standards
Commitee). Termo utilizado para descrever o sistema de televiso em cores americano.

Nmer os Complexos - sistema numrico representado por um par de valores reais a e b, na
forma a+jb, onde a chamado de parte real (Re) e b chamado de parte imaginria (Im). O
termo imaginrio utilizado devido ao segundo valor, b, ser multiplicado pelo operador
imaginrio j, equivalente raiz quadrada de -1. simplesmente uma conveno que permite
fcil representao de funes dependentes de freqncia. A utilidade dos nmeros complexos
revelada quando espectros de fase e magnitude so obtidos dos resultados da Transformada de
Fourier.

PAL - Linha de Fase Alternante (Phase-Alternating Line). Termo utilizado para descrever o
sistema de televiso em cores europeu e brasileiro.

Pixel - abreviao de elemento de imagem (picture element ). Denominao tcnica para o
menor elemento constituinte de uma imagem digital. So dispostos em linhas e colunas para
compor um quadro. Tambm denominado pel.

Per idico - um conjunto de dados (ou sinal) chamado peridico quando contm padres que
se repetem ao longo do tempo. Perodo o nome dado ao subconjunto que contm o padro que
se repete.

Plumbicon - tubo de cmera vcuo, utilizado para aquisio de imagens pela varredura de
uma tela fotossensvel atravs de um feixe de eltrons.

Pr ocessamento de Imagens - processo de transformao de uma imagem em uma outra com
propriedades mais desejveis, tais como menor rudo, menor distoro geomtrica, maior
nitidez, etc.

Pr ocessador Matr icial - computador especificamente projetado para realizar clculos
matriciais (ou em imagens) com eficincia.

Pupila - abertura do olho humano para a entrada de luz.

Quadr o (Frame) - termo utilizado para descrever uma imagem, normalmente no contexto de
conjunto: uma imagem dentro de uma seqncia.

Quantizao - processo de mapeamento de uma ampla faixa de valores de entrada para um
nmero limitado de valores de sada.

Realce de Imagens - uso de tcnicas de processamento de imagens para acentuar certas
propriedades e melhorar a qualidade de informao recebida de uma imagem.

Relao de Aspecto - relao entre altura e largura de uma imagem capturada por uma cmera
ou exibida em um monitor.

Glossr io
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
305
Reconstr uo de Imagens - algoritmos que buscam construir imagens bidimensionais a partir
de dados unidimensionais ou imagens tridimensionais a partir de dados bidimensionais.

Recor tar e Colar (Cut and Paste) - processo de delimitao de uma rea de uma imagem,
removendo-a (recortando-a) ou adicionando-a (colando-a) mesma imagem ou a outra imagem
diferente.

Refletncia - percentual de intensidade luminosa incidente que refletida pelos objetos em uma
imagem.

Regio - conjunto de pixels conectados com alguma propriedades em comum, tal como a
mesma faixa de nvel de cinza em uma imagem.

Resoluo - a menor caracterstica de uma imagem que pode ser percebida por um sistema de
aquisio de imagens. geralmente dependente do nmero de pixels presentes na imagem:
quanto maior o nmero de pixels, maior a resoluo.

Restaur ao de Imagens - algoritmos que buscam remover degradaes em imagens (rudo,
falta de foco, borrados, etc.) baseados em critrios objetivos que buscaro recuperar
informaes presumivelmente presentes na imagem original.

Retina - rea sensora de luz do olho humano.

RS-170 - padro de transmisso do sinal composto de vdeo, o qual inclui sinais de sincronismo
horizontal e vertical. Possui 525 linhas, entrelaadas em 1/30 de segundo.

Rudo Gaussiano - tipo de rudo cujo histograma possui a forma gaussiana (sino).

Rudo Sal e Pimenta - tipo de rudo que contm apenas dois valores, um prximo ao valor
mximo (sal) e o outro prximo ao valor mnimo (pimenta) da escala de cinza.

Rudo Unifor me - tipo de rudo cujo histograma uniforme.

Saticon - tubo de cmera vcuo, utilizado para aquisio de imagens pela varredura de uma
tela fotossensvel atravs de um feixe de eltrons.

SECAM - Memria Seqencial (Sequential Memoire). Sistema de televiso em cores francs.

Segmentao - processo de diviso da imagem em um nmero definido de regies individuais,
ou segmentos.

Sinal Analgico - sinal representado atravs de uma funo contnua.

Sinal Composto de Vdeo (SCV) - sinal eltrico variante no tempo, cuja amplitude representa o
brilho da imagem em determinado ponto da tela, cuja localizao determinada pela varredura.
O SCV inclui sinais de sincronismo horizontal e vertical para o correto funcionamento do
sistema de varredura.

Glossr io
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
306
Suavizao de imagens - qualquer filtragem espacial que produz em sua sada uma imagem
com menos detalhes que a imagem original. O processo de suavizao tende a eliminar
pequenos detalhes, destacando grandes estruturas da imagem.

Template - subimagem utilizada para operaes de correlao ou comparao. Algumas vezes o
termo usado para descrever uma mscara de convoluo. Ver convoluo discreta.

Teor ema de Nyquist - teorema da amostragem, o qual determina que um sinal deve ser
amostrado a uma taxa de amostragem pelo menos duas vezes superior maior componente de
freqncia presente no sinal. Quando a taxa de amostragem de Nyquist utilizada, todas as
componentes do sinal amostrado sero adequadamente representadas, garantindo que o sinal
contnuo poder ser corretamente recuperado a partir de sua verso amostrada, posteriormente.

Tr ansfor mada Discr eta de Four ier (DFT - Discrete Fourier Transform) - transformao
matemtica realizada em dados discretos, a qual fornece informaes sobre as componentes
senoidais dos dados sob anlise, sob a forma de contedo espacial de freqncia.

Tr ansfor mada Rpida de Four ier (FFT - Fast Fourier Transform) - formulao especial da
transformada discreta de Fourier que faz uso de frmulas repetitivas para aumentar a eficincia
dos clculos.

Tubo de Raios Catdicos (TRC ou CRT) - nomenclatura tcnica para o popularmente
chamado tubo de imagem de um monitor, que permite mostrar imagens e grficos atravs do
posicionamento eletrnico de um feixe de eltrons em uma tela fotossensvel.

Unio - processo de combinao de dois conjuntos em apenas um.

Var incia - valor mdio do quanto difere um conjunto de dados da mdia do prprio conjunto.
Formalmente o valor mdio dos quadrados dos desvios da mdia.

Vdeo - sinal analgico que carrega informaes de imagens. Ver Sinal Composto de Vdeo.

Vidicon - tubo de cmera vcuo, utilizado para aquisio de imagens pela varredura de uma
tela fotossensvel atravs de um feixe de eltrons.

Vizinhana - regio que circunda um pixel.

Warping - algoritmo utilizado para realizar uma operao de distoro geomtrica em uma
imagem

Zoom - algoritmo utilizado para ampliar uma imagem para efeito de visualizao.
Glossr io
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
307


MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Figuras Coloridas
Captulo 3


(a)

(b) (c) (d)
Figura 4 - (a) Imagem colorida e histogramas de seus componentes: (b) R, (c) G e (d) B.



Captulo 4


(a)

(b)
Figura 35 - Mistura de cores primrias e secundrias: (a) mistura aditiva; (b) mistura subtrativa.


MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

(a) (b)
(c) (d)
Figura 38 - (a) Imagem colorida; (b) componente R; (c) componente G; (d) componente B.


(a) (b)
(c) (d)
Figura 39 - (a) Imagem colorida e seus componentes: (b) H, (c) S e (d) I.


MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
(a) (b)
(c) (d)
Figura 40 - (a) Imagem colorida e seus componentes: (b) Y, (c) I e (d) Q.


(a) (b)
Figura 42 - Equalizao de histograma aplicada a imagens coloridas.

You might also like