Você está na página 1de 331

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
Captulo 1 Introduo

xix
1

1.1 Processamento de Imagens: breve histrico e exemplos de


aplicaes

1.2 Um sistema de processamento de imagens e seus componentes

1.3 O sistema visual humano

1.4 Sistemas de Viso Artificial: fundamentos e desafios

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 Processamento de Imagens: breve histrico e exemplos de


aplicaes

1.2 Um sistema de processamento de imagens e seus componentes

1.2.1 Aquisio

1.2.2 Armazenamento

1.2.3 Processamento

1.2.4 Transmisso

1.2.5 Exibio

1.3 O sistema visual humano

1.4 Sistemas de Viso Artificial: fundamentos e desafios

1.4.1 Estrutura de um Sistema de Viso Artificial

1.4.2 Domnio do problema e resultado

1.4.3 Aquisio da imagem

1.4.4 Pr-processamento

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


2.1 Aquisio e digitalizao de imagens

19
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.

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 D4 (city-block)

27

Distncia D8 (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


4.1 Consideraes iniciais

83
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

4.6 Processamento de imagens coloridas

115

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 MeanSquare 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

Captulo 6 - Compresso e Codificao de Imagens


6.1 Fundamentos

164

167
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


6.4.1 Cdigos de palavra-cdigo de comprimento varivel

180
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

6.5 Compresso com perdas


6.5.1 Codificao Preditiva com Perdas

190

192
192

Modulao Delta (DM)

193

Modulao por Codificao Diferencial de Pulsos (DPCM)

195

A etapa de quantizao

195

6.5.2 Codificao por transformadas


Seleo de Transformadas

196
196

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

xv

6.5.3 Outras tcnicas

6.6 Padres de compresso de imagens


6.6.1 Padres CCITT para fac-smiles Grupo 3 e Grupo 4

197

197
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
7.1 O hardware
7.1.1 Sensores

225
225
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

7.2 O software
7.2.1 Ttulos disponveis e classificao

232

232
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 livrotexto 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.

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

xx
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 Ranger2 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"
"http://www.jpl.nasa.gov/missions/ranger/"
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Intr oduo

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.
Aquisio

Processamento

Sada

Monitores de Vdeo

Cmeras de Vdeo
Computador
Scanners

Impressoras
Plotters

Discos pticos
Discos Magnticos
Fitas Magnticas
Videotape
Armazenamento

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Intr oduo

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.

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Intr oduo

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Intr oduo

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 mm2. 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.

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

Intr oduo

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 1010) 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 Ba 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 Bb 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 Ba.

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

Intr oduo

Gama de adaptao

Brilho Subjetivo

Limite de Claridade

Ba
Bb

Escotpica

Fotpica

Limiar Escotpico

-6

-4
-2
0
2
Log da Intensidade (mL)

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,
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Intr oduo

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.

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

Intr oduo

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.
Problema

Aquisio

Pr-processamento

Segmentao
Base de
Conhecimento
Extrao de
Caractersticas

Reconhecimento
e Interpretao

Resultado

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 prMARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

10

Intr oduo

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Intr oduo

11

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 J et Pr opulsion Labor ator y


Home page do Jet Propulsion Lab da NASA.

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

12

Intr oduo

"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.

Se o leitor for pesquisador da rea, procure verificar se seu grupo de pesquisa est cadastrado nestes
sites.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Intr oduo

13

"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


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

14

Intr oduo

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Intr oduo

15

"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.

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

16

Intr oduo

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.

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

Intr oduo

17

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.
(0,0)
Y

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

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

20

Fundamentos de Imagens Digitais

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 ) <
0 < r (x,y) < 1

I
R

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/m2]
i(x,y)
900
100
10
0,001

dia ensolarado
dia nublado
iluminao mdia de escritrio
noite clara de lua cheia

Tabela 2 - Exemplos de valores para r(x,y)


r(x,y)
0,93
0,80
0,65
0,01

neve
parede branco-fosca
ao inoxidvel
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:

Lmin

Lmax

sendo Lmin e Lmax valores positivos e finitos.


O intervalo [Lmin, Lmax] 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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Fundamentos de Imagens Digitais

21

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.

CCD
Lente

Imagem

Objeto
Corpo da Cmera

Figura 3 - Viso esquemtica de uma cmera CCD.

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

22

Fundamentos de Imagens Digitais

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 (0,0)
f (1,0)
f ( x, y) ?

f ( M / 1,0)

...
f (0,1)
,)
...
f (11
6
6
, ) ...
f ( M / 11

f (0, N / 1)
f (1, N / 1)

f ( M / 1, N / 1)

(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 2n-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 analgicodigital 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 2n 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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Fundamentos de Imagens Digitais

23

Tabela 3 - Nmero de bytes necessrios para armazenar uma imagem digital NxN com 2n nveis
de cinza
n

N
32
64
128
256
512
1.024

128
256
512
1.024
2.048
4.096
8.192 16.384
32.768 65.536
131.072 262.144

512
512
2.048
2.048
8.192
8.192
32.768 32.768
131.072 131.072
393.216 524.288

1.024
4.096
16.384
65.536
262.144
655.360

1.024
1.024
1.024
4.096
4.096
4.096
16.384 16.384
16.384
65.536 65.536
65.536
262.144 262.144
262.144
786.432 917.504 1.048.576

(b)

(a)

(d)
(c)
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).

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

24

Fundamentos de Imagens Digitais

(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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Fundamentos de Imagens Digitais

25

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 N4(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 Nd(p).
A "8-vizinhana" de p definida como:

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

26

Fundamentos de Imagens Digitais


N8(p) = N4(p) Nd(p)

(2.3)

Os vrios tipos de vizinhana esto ilustrados na figura 6.

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 "4conectados" se q N4(p).
2. "8-conectividade": dois pixels p e q com valores de tom de cinza contidos em V, so "8conectados" se q N8(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 N4(p) ou
(ii) q Nd(p) e N4(p) N4(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
0
1

1
1
0

0
0
0

1
0
1

1
0
1
1
0
1
0
0
1
0
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.

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

Fundamentos de Imagens Digitais

27

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, S1 e S2, so
adjacentes se algum pixel em S1 adjacente a algum pixel em S2.
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: (x0, y0), (x1, y1), ... , (xn, yn),
onde:
(x0, y0) = (x,y)
(xn, yn) = (s,t)
(xi, yi) adjacente a (xi-1, yi-1)
1 i 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)

D(p,q) + D(q,z)

Distncia Euclidiana

De ( p, q ) ? ( x / s) 2 - ( y / t ) 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 D4 (city-block)

D4 ( p, q ) ? x / s - y / t

(2.5)

onde | . | denota mdulo (ou valor absoluto).


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

D8 ( p, q ) ? max* x / s , y / t +

(2.6)

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

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

28

Fundamentos de Imagens Digitais

O conceito de distncia pode estar relacionado ao conceito de conectividade. A


distncia Dm expressa a distncia entre dois pontos m-conectados.

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

p3
p2

p4

Supondo que V = {1}, p = p2 = p4 = 1 e que p1 e p3 podem apresentar valores 0 ou 1, calcular a


distncia Dm entre p e p4 para as seguintes situaes:
a) Se p1 = p3 = 0.
Soluo: a distncia Dm vale 2, pois o caminho m entre p e p4 obtido unindo-se os pixels p, p2
e p4.
b) Se p1 ou p3 valem 1.
Soluo: a distncia Dm vale 3, pois o caminho m entre p e p4 ser p, p1, p2, p4 ou p, p2, p3, p4.
c) Se p1 e p3 valem 1.
Soluo: a distncia Dm vale 4, pois o caminho m entre p e p4 ser p, p1, p2, p3, p4.

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) binrio2.
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.
opn

Figura 8 - Operaes lgicas / aritmticas pixel a pixel.

Aqui, o termo binrio deve ser entendido como 'que requer dois operandos' e no tem qualquer relao
com imagem binria.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Fundamentos de Imagens Digitais

29

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.

200 100 100


X ? 0
10 50
50 250 120

100 220 230


Y ? 45 95 120
205 100 0

Soluo:

300 320 330

(a) 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?

255
( f / f min ) ,
f max / f min

(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

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

30

Fundamentos de Imagens Digitais

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

Adio

Z o resultado da soma dos valores de Normalizao de brilho3 de


intensidade de X e Y. Se Y for um escalar
imagens
positivo, Z ser uma verso mais clara de Remoo de rudos (ver
X; o acrscimo de intensidade ser o
tcnica da filtragem pela mdia
prprio valor de Y.
de mltiplas imagens na
subseo 4.2.4)
Z o resultado da diferena dos valores de Deteo de diferenas entre
intensidade de X e Y. Se Y for um escalar
duas imagens (eventualmente
positivo, Z ser uma verso mais escura de
adquiridas
de
forma
X; o decrscimo de intensidade ser o
consecutiva) da mesma cena
prprio valor de Y.
Z o produto dos valores de intensidade de Calibrao de brilho4
X e Y. Se Y for um escalar positivo, os
valores de intensidade de Z sero
diretamente proporcionais a X por um fator
Y.
Z o razo dos valores de intensidade de X Normalizao de brilho
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.

Subtrao

Multiplicao

Diviso

Aplicaes

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

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Fundamentos de Imagens Digitais

31

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.

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

32

Fundamentos de Imagens Digitais

(a)

(b)

X and Y

X or Y

(c)

(d)

X xor Y

(not X) and Y

(e)

(f)

not X

not Y

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

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

Fundamentos de Imagens Digitais

(a)

33

(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

(a)

(b)

Y.

(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.

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

34

Fundamentos de Imagens Digitais


Seja uma sub-rea de uma imagem:

Z1
Z4
Z7

Z2
Z5
Z8

Z3
Z6
Z9

onde: Z1, ..., Z9 so os valores de tons de cinza de cada pixel.


Seja uma mscara 3 x 3 de coeficientes genricos W1, ..., W9:
W1

W2

W3

W4

W5

W6

W7

W8

W9

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:
9

Z ? Wi. Zi ,
i ?1

(2.8)

As operaes de convoluo com mscaras so amplamente utilizadas no processamento de


imagens. Uma seleo apropriada dos coeficientes W1, ..., W9 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}.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Fundamentos de Imagens Digitais

35

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
B
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

-1

A*B

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

B
A*B

-1

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

B
A*B

-1

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

B
A*B

-1

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

B
A*B

-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

B
A*B

-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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

36

Fundamentos de Imagens Digitais

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
3

4
9

5
1

8
2
9
2
7
2
8
7

3
1
5
7
9
1
5
1

4
1
3
2
8
8
4
2

6
9
0
1
0
4
9
3

2
5
4
9
4
1
2
4

3
1
8
0
2
0
3
4

7
0

6
4

9
8

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
18
14
29
21
15
21
9

10
1
22
21
1
-9
9
-5

1x8

1x5
-1x0
-2x0
-1x0
0x0

1x3

0x0

2
-8
5
9
16
-3
1
-25

26
2
-1
-9
-1
7
6
-10

23
7
9
10
-3
-6
-2
-12

6
3
-2
12
-4
1
-1
-15

9
3
8
-9
2
17
23
-1

4
-11
-1
-9
5
9
2
-12

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

2 x2

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

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

Fundamentos de Imagens Digitais

37

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

38

Fundamentos de Imagens Digitais

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 0 /1
1
2 0 /2

4
1 0 /1

/1 / 2 / 1
1
0 0 0

4
1 2 1

Prewitt

1 0 /1
1
1 0 /1

3
1 0 /1

/1 / 1 / 1
1
0 0 0

3
1 1 1

Frei-Chen

1
1
2
2- 2
1

0 /1
0 / 2

0 /1

/1 / 2
1
0
0
2- 2
2
1

/1

0
1

(b)
(c)
(a)
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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Fundamentos de Imagens Digitais

39

horizontais foram combinados por meio de uma operao lgica OR. Notar que as diferenas
so pouco perceptveis.
O laplaciano um operador definido como:

2 f ( x, y) ?

2f 2f
x2 y2

(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 /1 /1 /1

/1 /1 8 8 8 /1 /1 /1
/1 /1 8 8 8 /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

(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.

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

40

Fundamentos de Imagens Digitais

(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.

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

Fundamentos de Imagens Digitais

41

Tabela 6 - Mscaras de Prewitt, Kirsch e Robinson.


Direo Direo
da borda grad.
0

1
1
-1

1
-2
-1

1
1
-1

5
-3
-3

5
0
-3

5
-3
-3

Robinson 3
nveis
1
1
1
0
0
0
-1 -1 -1

NO

1
1
1

1
-2
-1

1
-1
-1

5
5
-3

5
0
-3

-3
-3
-3

1
1
0

1
0
-1

0
-1
-1

2
1
0

1
0
-1

0
-1
-2

1
1
1

1
-2
1

-1
-1
-1

5
5
5

-3
0
-3

-3
-3
-3

1
1
1

0
0
0

-1
-1
-1

1
2
1

0
0
0

-1
-2
-1

SO

1
1
1

-1
-2
1

-1
-1
1

-3
5
5

-3
0
5

-3
-3
-3

0
1
1

-1
0
1

-1
-1
0

0
1
2

-1
0
1

-2
-1
0

-1
1
1

-1
-2
1

-1
1
1

-3
-3
5

-3
0
5

-3
-3
5

-1
0
1

-1
0
1

-1
0
1

-1
0
1

-2
0
2

-1
0
1

SE

-1
-1
1

-1
-2
1

1
1
1

-3
-3
-3

-3
0
5

-3
5
5

-1
-1
0

-1
0
1

0
1
1

-2
-1
0

-1
0
1

0
1
2

-1
-1
-1

1
-2
1

1
1
1

-3
-3
-3

-3
0
-3

5
5
5

-1
-1
-1

0
0
0

1
1
1

-1
-2
-1

0
0
0

1
2
1

NE

1
-1
-1

1
-2
-1

1
1
1

-3
-3
-3

5
0
-3

5
5
-3

0
-1
-1

1
0
-1

1
1
0

0
-1
-2

1
0
-1

2
1
0

Fator de
escala

Prewitt

1/5

Kirsch

1/15

1/3

Robinson 5
nveis
1
2
1
0
0
0
-1 -2 -1

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.

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

42

Fundamentos de Imagens Digitais

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.

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

Fundamentos de Imagens Digitais

43

(a)

(b)
Figura 24 - (a) imagem original, (b) imagem ampliada (zoom in) de 2 vezes; (c) imagem
reduzida (zoom out) de 2 vezes.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

44

Fundamentos de Imagens Digitais

(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 + FX, Y + FY), onde FX o deslocamento vertical e FY 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 cos( Ang ) - Y sen( Ang )


Y ' ? Y cos( Ang ) / X sen( Ang )

(2.10)
(2.11)

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

Fundamentos de Imagens Digitais

45

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.

(b)

(a)

(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:

aX - bY - c
iX - jY - 1
dX - eY - f
Y' ?
iX - jY - 1
X'?

(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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

46

Fundamentos de Imagens Digitais

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.
A
A
B
B

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.

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

Fundamentos de Imagens Digitais

47

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
2
3
4

(0,0)
(4,4)
(4,0)
(0,4)

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

(0,0)

(0,4)

(0,4)

(2,2)

(4,0)

(4,4)

(4,0)

(3,3)

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
e = 0,75

b = -0,25
f = 1,00

c = 1,00
i = 0,00

d = -0,25
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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

48

Fundamentos de Imagens Digitais

[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 S1 e S2 a seguir e sendo V = {1}, determinar se S1 e
S2 esto: (a) 4-conectados, (b) 8-conectados, (c) m-conectados.
S1
0
1
1
1
0

1
0
0
0
0

0
0
1
1
0

S2
0
1
1
1
1

0
0
0
1
0

1
0
1
0
0

0
0
1
0
1

0
0
1
0
0

0
1
0
1
0

0
0
1
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.

200 100 100


10 50
X ? 0
50 250 120

100 220 230


Y ? 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 D4, D8 e Dm 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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Fundamentos de Imagens Digitais

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
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
d

c
e

p
g

As expresses so:
B1 = p

b g (d

B2 = p [(a

e)

d) (e

d e (b
g

h)

g)
(b

e) (d

g)]

B3 = PQV"(p) (d f g) PQV"(a

h)

B4 = PQV"(p) (a b d) PQV"(c

h)

B5 = PQV"(p) (e g h) PQV"(a

f)

B6 = PQV"(p) (b c e) PQV"(a

h)

Aps B1

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

50

Fundamentos de Imagens Digitais

Aps B2

Aps B3, B4, B5 e B6


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 X Y; (b) o resultado da operao lgica XY;
(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.

200 100 100


10 50
X ? 0
50 250 120

100 220 230


Y ? 45 95 120
205 100 0

No computador
Para consolidar os conhecimentos tericos deste captulo, recomendamos as prticas nos. 1, 2 e 3
(Apndice B).

Na Internet
Dentre as diversas referncias disponveis na WWW correlatas a este captulo, destacamos:
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Fundamentos de Imagens Digitais

51

"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/frontpage.html"

Edge Detection I
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s2/frontpage.html"

Edge Detection II
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s5/frontpage.html"

Cor r elation
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s6/frontpage.html"

Image Enlar gement


"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s7/frontpage.html"

Image Reduction
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s1/frontpage.html"

Convolution Pr inciples
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c2/s9/frontpage.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.

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

52

Fundamentos de Imagens Digitais

[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, PrenticeHall, 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.

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

Fundamentos de Imagens Digitais

53

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:

pr * rk + ?

nk
n

(3.1)

onde:
0 rk 1
k = 0, 1, ..., L-1, onde L o nmero de nveis de cinza da imagem digitalizada;
n = nmero total de pixels na imagem;
pr(rk) = probabilidade do k-simo nvel de cinza;
nk = 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 pr(rk) 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
pr(rk) fornece, como sugere a notao, a probabilidade de um pixel da imagem apresentar nvel
de cinza rk. 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 pr(rk) 1, o que j era
esperado.

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

Tcnicas de Modificao de Histogr ama

56

Tabela 1 - Exemplo de histograma.


Nvel de cinza (rk)

nk

pr(rk)

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

1120
3214
4850
3425
1995
784
541
455

0,068
0,196
0,296
0,209
0,122
0,048
0,033
0,028

Total

16384

0,35
0,3
0,25
0,2
0,15
0,1
0,05
0
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.

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

57

Tcnicas de Modificao de Histogr ama

(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.

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

Tcnicas de Modificao de Histogr ama

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

59

Tcnicas de Modificao de Histogr ama

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 f 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 f 1
(ii) 0

T(f ) 1 para 0 f 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.

Escuro

Claro

T(r)

r
Escuro

Claro

Figura 5 - Exemplo de transformao de intensidade.


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

Tcnicas de Modificao de Histogr ama

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

255

255

c=2
b=32

c=1
b=32

255

255

Nveis de Cinza

Nveis de Cinza

(a)

(b)

255

255

c=1
b=-32

c=2
b=-32

255
Nveis de Cinza

255
Nveis de Cinza

(c)
(d)
Figura 6 - Exemplos de transformaes de intensidade lineares.
As transformaes no-lineares podem ser descritas por equaes tais como:
g = 31,875 . log2 (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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

61

Tcnicas de Modificao de Histogr ama

g
255

255
Nveis de Cinza

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?

255
( f / f min ) ,
f max / f min

(3.5)

onde fmax e fmin 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:
k

k
nj
? pr (r j )
j ?0 n
j ?0

sk ? T ( r k ) ?

(3.6)

onde:
0 rk 1
k = 0, 1, ..., L-1
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Tcnicas de Modificao de Histogr ama

62
A inversa desta funo dada por:

rk ? T /1 ( sk )

p/0

sk

(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 (rk)

nk

pr(rk)

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

1120
3214
4850
3425
1995
784
541
455

0,068
0,196
0,296
0,209
0,122
0,048
0,033
0,028

Total

16384

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

Soluo:
Utilizando a cdf como funo de transformao, calculamos:
0

s 0 ? T ( r 0 ) ? pr ( r j )
j ?0

? pr ( r 0 )
? 0,068
De forma similar,
1

s1 ? T (r 1) ? pr (r j )
j ?0

? pr ( r 0 ) - p r ( r 1 )
? 0,264
e
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

63

Tcnicas de Modificao de Histogr ama


s2 = 0,560
s5 = 0,939

s3 = 0,769
s6 = 0,972

s4 = 0,891
s7 = 1.

Esta funo est plotada na figura 8.

1
0,8
0,6
0,4
0,2
0
0

Figura 8 - Funo de transformao utilizada para a equalizao.


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

s1

2/7

s2

4/7

s3

5/7

s4

6/7

s5

s6

s7

1.

Concluindo o mapeamento, verificamos que o nvel original r0 = 0 foi mapeado para s0


= 0 e portanto a raia correspondente no sofreu alterao. J os 3214 pixels que apresentavam
tom de cinza 1/7 foram remapeados para s1 = 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 (sk)

nk

ps(sk)

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

1120
0
3214
0
4850
3425
1995
1780

0,068
0,000
0,196
0,000
0,296
0,209
0,122
0,109

Total

16384

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

Tcnicas de Modificao de Histogr ama

64
0,3
0,25
0,2
0,15
0,1
0,05
0
0

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).

(b)

(a)

(d)

(c)
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

65

Tcnicas de Modificao de Histogr ama

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:
k
nj
? pr (r j )
j ?0
j ?0 n
k

sk ? T ( r k ) ?

(3.8)

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


desejada(o):
k

vk ? G ( z k ) ? p z ( z j )

(3.9)

j ?0

3) aplicar a funo de transformao inversa:

z ? G /1 ( s)

(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 (zk)

nk

pz(zk)

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

0
0
0
1638
3277
6554
3277
1638

0,000
0,000
0,000
0,100
0,200
0,400
0,200
0,100

Total

16384

Soluo:
O histograma aps equalizao j foi calculado em exerccio resolvido anterior e seus
resultados esto na tabela 2.

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

Tcnicas de Modificao de Histogr ama

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:
v0 = 0
v4 = 0,3

v1 = 0
v5 = 0,7

v2 = 0
v6 = 0,9

v3 = 0,1
v7 = 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 sk, o valor de vk que
mais se aproxima dele. Por exemplo, o valor de vk que mais se aproxima de s1 = 2/7 0,286
G(z4) = 0,3 ou seja, G-1(0,3) = z4. Portanto, os pixels que aps a equalizao do histograma
original foram reposicionados no tom de cinza s1 sero mapeados para o tom de cinza z4. Em
outras palavras, os 3214 pixels que apresentavam originalmente tom de cinza 1/7 e que foram
remapeados para s1 = 2/7 devido equalizao, sero transladados novamente para z4 = 4/7 por
fora da especificao direta de histograma. Procedendo de forma similar para os demais valores
de sk, teremos:
s0 = 0 z2

s1 = 2/7

0,286 z4
0,714 z5

s2 = 4/7

0,571 z5

s3 = 5/7

s4 = 6/7

0,857 z6

s5 = 1 z7

s6 = 1 z7

s7 = 1 z7

Neste caso, assumimos que o algoritmo de clculo da inversa, para um dado valor de sk,
percorreria os diversos valores de vk, armazenando o ndice do ltimo valor que tenha resultado
na menor diferena encontrada. Se o algoritmo possuir outra forma de solucionar 'empates', o
nvel s0 poder mapear em z0 ou z1. 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

pr(rk)

sk

vk

pz(zk)

0
1
2
3
4
5
6
7

0,068
0,196
0,296
0,209
0,122
0,048
0,033
0,028

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

0,00
0,00
0,00
0,10
0,30
0,70
0,90
1,00

0,000
0,000
0,000
0,100
0,200
0,400
0,200
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.

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

67

Tcnicas de Modificao de Histogr ama


Tabela 5 - Histograma obtido
zk

pz(zk)

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

0,000
0,000
0,068
0,000
0,196
0,505
0,122
0,109

Total

0,4
0,35
0,3
0,25
0,2
0,15
0,1
0,05
0
0

Figura 11 - Histograma desejado.

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

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).

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

Tcnicas de Modificao de Histogr ama

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)

(d)
(f)
(b)
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).

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

69

Tcnicas de Modificao de Histogr ama

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).

(b)
(a)

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

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

Tcnicas de Modificao de Histogr ama

70

(f)
(e)

(h)
(g)
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.

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

71

Tcnicas de Modificao de Histogr ama

(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,
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Tcnicas de Modificao de Histogr ama

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

g
Fundo

Objeto

Objeto

Fundo

f
T
Nveis de Cinza

255

f
T
Nveis de Cinza

255

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

(b)
(a)

(d)
(c)
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.

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

73

Tcnicas de Modificao de Histogr ama

(f)
(e)

(h)
(g)
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 ) = 1 se f ( x , y )

(3.11)

= 0 se f ( x , y ) < T
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: T1 = 37 e T2 = 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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Tcnicas de Modificao de Histogr ama

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) r ( x, y)
?
g( 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).

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

75

Tcnicas de Modificao de Histogr ama

(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:
o1 : mdia dos tons de cinza da regio de interesse
o2 : mdia dos tons de cinza da regio de fundo (background)
u1, u2 : desvios padro
P1, P2 : probabilidade de ocorrncia dos pixels pertencentes a esta ou aquela regio.

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

Tcnicas de Modificao de Histogr ama

76

Pode-se mostrar [Gonzalez e Woods 1992] que existe um valor timo de limiar, T, dado
por uma das razes da equao
AT2 + BT + C = 0,

(3.13)

onde:

A ? u12 / u 22
B ? 2( o 1u 22 / o 2u12 )

u 2 P1
C ? o u / o u - 2u u ln(
)
u1 P2
2
2

2
1

2
1

2
2

2
1

(3.14)

2
2

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 (u 2 ? u12 ? u22 ), um nico valor T necessrio:

T?

o1 - o 2
2

u2
o1 / o 2

ln(

P2
)
P1

(3.15)

Se, alm disso, as duas classes forem equiprovveis:

T?

o1 - o2
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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

77

Tcnicas de Modificao de Histogr ama

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 = ri provocar em uma imagem
monocromtica com valores de nveis de cinza originais (r) normalizados na faixa de 0 a 1, caso
i > 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 nolineares 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

1/7

3/7

5/7

1/7

6/7

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

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?
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Tcnicas de Modificao de Histogr ama

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.
rk
r0 = 0
r1 = 1/7
r2 = 2/7
r3 = 3/7
r4 = 4/7
r5 = 5/7
r6 = 6/7
r7 = 1

nk

pr(rk) = nk/n

2621
0
0
5243
7209
12452
24904
13107

0,04
0,00
0,00
0,08
0,11
0,19
0,38
0,20

Deseja-se transformar o histograma desta imagem aproximando-o do histograma correspondente


tabela a seguir.
zk
0
1/7
2/7
3/7
4/7
5/7
6/7
1

pz(zk)
0,27
0,16
0,19
0,16
0,11
0,06
0,03
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?
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

79

Tcnicas de Modificao de Histogr ama

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 nk e pz(zk) para os 8 valores de zk, comparar
com os valores desejados e justificar as diferenas eventuais.
zk

nk

pz(zk)

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/frontpage.html"

Thr esholding
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s6/frontpage.html"

Logar ithm Contr ast Enhancement


"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s8/frontpage.html"

Exponential Contr ast Enhancement


"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c1/s3/frontpage.html"

Image Statistics
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s4/frontpage.html"
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Tcnicas de Modificao de Histogr ama

80
Histogr am Str etching Contr ast Enhancement

"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s5/frontpage.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, 86294.

[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.

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

Tcnicas de Modificao de Histogr ama

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, 643654.

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

82

Tcnicas de Modificao de Histogr ama

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

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.
y

(x,y)

Imagem
x

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 ) ? /1 ] F (u, v ) H (u, v )_

(4.5)

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

85

Filtr agem, Realce e Suavizao de Imagens

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.

f(x,y)

h(x,y)

g (x,y)

F(u,v)

H(u,v)

G(u,v)

(b)
(a)
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.

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

Filtr agem, Realce e Suavizao de Imagens

86

Passa-altas

Passa-baixas

Passa-faixa
1

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 1 1
1
1 1 1

9
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

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

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

87

Filtr agem, Realce e Suavizao de Imagens

(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.

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

Filtr agem, Realce e Suavizao de Imagens

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.

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

89

Filtr agem, Realce e Suavizao de Imagens

(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.

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

Filtr agem, Realce e Suavizao de Imagens

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 (SL)
pode ser computada como:

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

Filtr agem, Realce e Suavizao de Imagens

PMED {S L } =

91

MAXIMIN {S L } + MINIMAX {S L }
, onde :
2

MAXIMIN {S L } = MAX { [ MIN ( S1 , ..., S M )], [ MIN ( S 2 , ..., S M +1 )], ...,


[ MIN ( S L-M +1 , ..., S L )]}

(4.6)

MINIMAX {S L } = MIN { [ MAX ( S1 , ..., S M )], [ MAX ( S 2 , ..., S M +1 )], ...,


[ MAX ( S L-M +1 , ..., S L )]}

para M =

L +1
.
2

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.

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

Filtr agem, Realce e Suavizao de Imagens

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.

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

93

Filtr agem, Realce e Suavizao de Imagens

(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)+j(x,y) onde f(x,y) a imagem original e j(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) ?

1
M

g ( x, y)
i

i ?1

(4.7)

na qual a influncia do rudo ter sido minimizada.


Pode-se mostrar que:

E {g ( x , y )} ? f ( x , y )
1
u g( x, y) ?
u j( x, y)
M
1
u 2 g ( x, y) ? u 2j( x, y)
M

(4.8)
(4.9)
(4.10)

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

Filtr agem, Realce e Suavizao de Imagens

94

onde E {g ( x , y )} o valor esperado de g ( x , y ) , u 2 g ( x , y ) e u 2 j ( x , y ) so, respectivamente, as


varincias da imagem filtrada e do rudo aditivo, enquanto u g ( x , y ) e u j ( 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)

(e)
(f)
(d)
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.

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

95

Filtr agem, Realce e Suavizao de Imagens

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

87

188

189

99

88

115

134

49

19

16

18

187

98

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
B 108.
d) Neste caso, L = 9, logo M = 5. Portanto:
MAXIMIN{S9} = 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{S9} = 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{S9} = (99 + 134) / 2 = 116,5 B 117. (Resultado prximo do obtido no item (a)).

Leitura complementar
O captulo 3 de [Pavlidis 1982] apresenta conceitos e algoritmos de filtragem (linear ou nolinear) 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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

96

passa-altas. A figura 12 mostra um exemplo de resultado de aplicao da mscara da figura 11 a


uma imagem monocromtica.

/1 /1 /1
1
/1 8 /1

9
/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
x
f ?
f
y

(4.11)

A magnitude deste vetor dada por:

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

97

Filtr agem, Realce e Suavizao de Imagens

f ? mag*f + ?

f
f

y
x

(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 )] B {[ f ( x , y ) / f ( x - 1, y )]2 - [ f ( x , y ) / f ( x , y - 1)]2 }1/ 2

(4.13)

ou por:
(4.14)

G[ f ( x , y )] B| f ( x , y ) / f ( x - 1, y )|-| f ( x , y ) / f ( x , y - 1)|

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

G[ f ( x , y )] B {[ f ( x , y ) / f ( x - 1, y - 1)]2 - [ f ( x - 1, y ) / f ( x , y - 1)]2 }1/ 2

(4.15)

ou :
(4.16)

G[ f ( x , y )] B| f ( x , y ) / f ( x - 1, y - 1)|-| f ( x - 1, y ) / f ( x , y - 1)|

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
0

-1
0

-1

-1

-1

(a)
(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)

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

Filtr agem, Realce e Suavizao de Imagens

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=9A-1

com A

(4.19)

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

/1 /1 /1
1
/1 w /1

9
/1 /1 /1
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.

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

Filtr agem, Realce e Suavizao de Imagens

(c)

99

(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) exp]/ j 2rux_dx

onde j ?

(4.20)

/1 .

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

/1 } F ( u ) ? f ( x ) ?

F (u) exp] j 2rux_du

(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.

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

Filtr agem, Realce e Suavizao de Imagens

100

A FT de uma funo real , geralmente, um valor complexo1, 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 jh ( u )

(4.23)

onde a componente de magnitude F (u) denominada 'espectro de Fourier' de f(x) e h(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.
|F(u)|

f(x)

AX

-4 -3 -2 -1 0 1 2 3 4
X X X X
X X X X

(b)
(a)
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) exp]/ j 2r (ux - vy)_dx dy


/

(4.24)

/1

} F (u, v )

? f ( x, y) ?

F (u, v) exp] j 2r (ux - vy)_dx dy

(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

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

Filtr agem, Realce e Suavizao de Imagens

101

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


17(c)).
|F(u,v)|

f(x,y)

y
u

(b)

(a)

(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 0 - Fx ), f ( x 0 - 2 Fx ),..., f ( x 0 - ] N / 1_Fx )

atravs da amostragem de N pontos, espaados entre si de Fx.


Denominando a funo discreta f(n),

f (n) ? f ( x0 - nFx)

(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:

F (u ) ?

1
N

N /1

/ j 2r un

f (n) exp
n ?0

(4.27)

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

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

Filtr agem, Realce e Suavizao de Imagens

102

f ( n) ?

1
N

j 2r un
N

N /1

F (u) exp
u ?0

(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, Fu, 2Fu,
..., (N-1)Fu. Em outras palavras, F(u) representa F(uFu). Portanto, os intervalos de espaamento
entre as amostras do sinal e de sua transformada esto relacionados atravs da expresso

Fu ?

1
NFx

(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 ) ?

1
MN

M /1 N /1

ux

vy

f ( x, y) exp / j 2r M - N
x ?0 y ?0

(4.30)

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


A transformada inversa dada por:

f ( x, y) ?

M /1 N /1

ux

vy

F (u, v) exp j 2r M - N
u?0 v ?0

(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 Fx e Fy, 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 Fx e Fy, nos respectivos eixos. Os intervalos
de amostragem nos domnios espacial e freqencial esto relacionados entre si por:

Fu ?

1
MFx

(4.32)

Fv ?

1
NFy

(4.33)

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

F ( u, v ) ?

1
N

N /1 N /1

ux - vy

f ( x, y) exp/ j 2r
x?0 y?0

(4.34)

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

Filtr agem, Realce e Suavizao de Imagens

f ( x, y) ?

1
N

N /1 N /1

103

ux - vy

F (u, v) exp j 2r
u?0 v ?0

(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 ) ?

1
N

j 2rvy
j 2rux N /1
exp

/ N f ( x , y ) exp / N
x ?0
y ?0
N /1

(4.36)

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

f ( x, y) ?

1
N

j 2rux N /1
j 2rvy
exp

N F (u, v ) exp N
u?0
v?0
N /1

(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 ) ?

1
N

N /1

j 2r ux
N

F ( x, v) exp/
x?0

(4.38)

onde

1
F ( x, v) ? N
N

N /1

j 2r vy

f ( x, y) exp /
y ?0

(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.

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

Filtr agem, Realce e Suavizao de Imagens

104
Linhas

Colunas

f(x,y)

F(x,v)

F(u,v)

Multiplicao
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:

j 2r *u0 x - v 0 y +
f ( x , y ) exp

F * u / u0 , v / v 0 +

(4.40)

f ( x / x0 , y / y0 )

/ j 2r *ux 0 - vy 0 +
F *u, v + exp

(4.41)

onde as setas duplas indicam a correspondncia entre uma funo e sua FT e vice-versa.
Para o caso particular em que u0 ? v 0 ?

f ( x , y )* /1+

x- y

N
, a relao (4.40) se reduz a:
2

N
N

Fu / ,v /

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)

F (u, v ) ? F ( / u,/ v )

(4.45)

ou

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.

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

Filtr agem, Realce e Suavizao de Imagens

(a)

105

(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 1 ( x , y ) - f 2 ( x , y ) ? } f 1 ( x , y ) - } f 2 ( x , y)

(4.46)

e, em geral,

} f 1 ( x , y ). f 2 ( x , y)

} f 1 ( x , y ) . } f 2 ( x , y )

(4.47)

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

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

Filtr agem, Realce e Suavizao de Imagens

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 *u, v +

af ( x , y )

(4.48)

1 u v
F ,
ab a b

f (ax , by )

(4.49)

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

f ( x, y) ?

1
N2

N /1 N /1

f ( x, y)
x ?0 y ?0

(4.50)

Substituindo u = v = 0 na eq. (4.36), obtemos


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

Filtr agem, Realce e Suavizao de Imagens

1
F (0, 0) ?
N

107

N /1 N /1

f ( x, y).
x?0 y?0

(4.51)

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

f ( x, y) ?

1
F (0, 0).
N

(4.52)

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

2 f ( x, y) ?

2 f 2 f
x 2 y 2

(4.53)

A FT do laplaciano de uma funo bidimensional :

2 f ( x, y)

/* 2r + u 2 - v 2 F (u, v )
2

(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 ( x ) g( x )
f ( x , y) * g( x , y)
f ( x , y) g( x , y)

F (u)G(u)

(4.55)

F (u) * G(u)

(4.56)

F (u, v )G(u, v )

(4.57)

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 N2 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 Nlog2N. 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.

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

Filtr agem, Realce e Suavizao de Imagens

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

1 se D(u, v ) D0
H (u, v ) ?
0 se D(u, v ) @ D0

(4.60)

onde D0 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 2 - v 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).

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

Filtr agem, Realce e Suavizao de Imagens

109

(a)
H(u,v)

D(u,v)

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

(b)
(a)
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.

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

Filtr agem, Realce e Suavizao de Imagens

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

111

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 D0 da origem possui funo de transferncia
dada pela equao

H ( u, v ) ?

1
1 - ] D(u, v ) / D0 _

2n

(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) = D0 0,707 do valor mximo de
H(u,v).
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

112

(a)

(b)

(c)

(d)

(f)
(e)
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

113

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

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

0 se D(u, v ) D0
H ( u, v ) ?
1 se D(u, v ) @ D0

(4.63)

onde D0 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 D0 da origem
possui funo de transferncia dada pela equao

H ( u, v ) ?

1
1 - ] D0 / D(u, v )_

2n

(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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

115

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 ) ? ln f ( x , y)
? ln i ( x , y ) - ln r ( x , y).

(4.66)

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

Filtr agem, Realce e Suavizao de Imagens

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) ? }ln f ( x , y)

(4.67)

? }ln i ( x , y) - }ln r ( x , y ) .
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:
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

117

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) ? /1 }S (u, v )

(4.70)

? /1 } H (u, v ) I (u, v ) - /1 } H (u, v ) R(u, v ) .


Denominando

i '( x , y ) ? /1 } H (u, v ) I (u, v )

(4.71)

r '( x , y) ? /1 } H (u, v ) R(u, v ) .

(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.

f(x,y)

ln

FFT

H(u,v)

IFFT

exp

g(x,y)

Figura 31 - Diagrama em blocos ilustrativo da filtragem homomrfica.

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

118

Filtr agem, Realce e Suavizao de Imagens

transversal 360 ao redor do eixo vertical. Se os parmetros iH e iL forem escolhidos de tal


maneira que iH > 1 e iL < 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, iH = 1,3 e iL = 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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

119

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.
Comprimento
de Onda m)
6
(
10

Comprimento
de Onda ( m)
14

10
Oscilaes
Eltricas
Longas

Muito Distante
4

4X10

Distante
6X103

INFRAVERMELHO

13

10

12

10

11

10

Intermedirio
Ondas de Rdio

1,5X103
Prximo
770

Vermelho

1010
109
108
7

10

Microondas

10
622
Laranja
597

(1 m)

10

(1 cm)

(1 mm)

10
10

Amarelo

10

LUZ VISVEL

577

(1 km)

101

Verde

492

(1 m)
-1

10
Azul

-2

10
455

-3

300

200

Distante
ULTRAVIOLETA

Extremo

(1 nm)

-4

10

-5

10

-6

10

10-7
Raios
Csmicos

Prximo

Raios Gama

390

Raios X

10
Violeta

(1 A)

10-8
10-9
10-10

10

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

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)

b?

B
R-G-B

(4.76)

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

Filtr agem, Realce e Suavizao de Imagens

121

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.
B

Azul

(0,0,1)

Ciano

Escala de Cinzas
Magenta

Branco

Verde

Preto

Vermelho

(1,0,0)

(0,1,0)

Amarelo

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

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

1 R
1 / G

1 B

(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
0,299 0,587 0,114 R
I ? 0,596 /0,275 /0,321 G


Q 0,212 /0,523 0,311 B

(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:

1
I ? ( R - G - B)
3

(4.80)

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

Filtr agem, Realce e Suavizao de Imagens

S ? 1/

123

3
]min( R, G, B)_
R-G-B

(4.81)

]( R / G ) - ( R / B ) _

/1
2
H ? cos
2
( R / G ) - ( R / B)(G / B)

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.
Branco

Azul

Azul
Ciano

H
Vermelho

Vermelho

Verde

Intensidade

Magenta

P
Verde

Amarelo

Preto

(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

120:

1
b ? (1 / S )
3
r?

Para 120 < H

1
S cos H
1
3 cos(60C / H )

(4.83)

(4.84)

g ? 1 / (r - b)

(4.85)

H ? H / 120C

(4.86)

240:

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

Filtr agem, Realce e Suavizao de Imagens

124

1
r ? (1 / S )
3
g?

1
S cos H
1
3 cos(60C / H )

(4.87)

(4.88)

Para 240 < H

b ? 1 / (r - g )

(4.89)

H ? H / 240 C

(4.90)

1
(1 / S )
3

(4.91)

360:

g?

b?

1
S cos H
1
3 cos(60 C / H )

(4.92)

r ? 1 / (b - g )

(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 li 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 l1, l2, ..., lM, onde l0
representa o preto na imagem original [f(x,y) = 0] e lL 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 ) ? ck

se f ( x , y ) Rk

(4.94)

onde ck a cor associada k-sima regio Rk.


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

Filtr agem, Realce e Suavizao de Imagens

125

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.
f(x,y)

Plano de Corte

Branco (L)
li

Preto (0)

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.

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

126

Filtr agem, Realce e Suavizao de Imagens

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 u determina a
largura do histograma e conhecida como desvio padro, enquanto que a varivel m
conhecida como mdia.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

127

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.

1
b-a

255

(a)

255

(b)

255

255

(c)
(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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

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
(Gi representa o tom de cinza de um pixel)
Histograma

Nome do rudo

1
para a Gi b

hi ? b / a
0
caso contrario

uniforme

/ (Gi / m) 2
1
exp

u2
u 2r

para / Gi

1
G
hi ? exp / i
a
a
para 0 Gi

hi ?

Momento de Momento de 2 ordem


1 ordem

a -b
2

* a / b + 2 - * a - b+ 2

gaussiano

u 2 - m2

exponencial
negativo

2a2

12

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).

u n2
u n2
r ( x, y) ? 1 / 2 g ( x, y) - 2 K
u1
u1

(4.96)

onde r(x,y) a imagem filtrada, g(x,y) a imagem ruidosa, un2 a varincia do rudo, u12 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 (un2 << u12). Logo, o segundo termo da eq. (4.96)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

129

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

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.un

(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).

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

Filtr agem, Realce e Suavizao de Imagens

131

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) = gLF(x,y) + gHF(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
de Entrada
g(x,y)

Filtro
Passa-baixas

g lf(x,y)

Imagem
Filtrada

+
+

Filtro
Passa-altas

g hf(x,y)

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
de Entrada
g(x,y)

g lf(x,y)

Filtro da
Mediana

Imagem
Filtrada

+
+

g hf(x,y)

Ajuste do
tamanho
da Janela

K
Detetor de
Impulso e
Borda

Figura 47 - Diagrama em blocos do filtro SAM.

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

Filtr agem, Realce e Suavizao de Imagens

132

O valor de K determinado segundo o processo de deciso mostrado na eq. (4.99):

K?

u n2
1 / C. 2

u1

para

C. u n

u 12
(4.99)

para as demais

situacoes

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)

(e)
(d)
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).

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

Filtr agem, Realce e Suavizao de Imagens

133

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.

2.

0
3

3
23

221
187

220
188

198
189

84
99

4
8

188

115

134

49

176

18

187

98

15

15

123

103

165

76

14

12

156

188

188

98

190

190

190

90

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)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

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 Nlog2N adies e
0.5Nlog2N 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 ) ?

1
M

(n,m )

(n, m ) S

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"
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Filtr agem, Realce e Suavizao de Imagens

135

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/frontpage.html"

Median Filter ing


"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s4/frontpage.html"

Image Shar pening


"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s9/frontpage.html"

Pseudocolor Applications
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c5/s3/frontpage.html"

DFT: Pr oper ties


"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c5/s4/frontpage.html"

DFT of Simple Images


"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c5/s7/frontpage.html"

DFT: Filter ing in the Fr equency Domain


"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c2/s7/frontpage.html"

Color Models Concepts


"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c2/s8/frontpage.html"

RGB Image Manipulation


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

136

Filtr agem, Realce e Suavizao de Imagens

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, PrenticeHall, 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.

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

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.

138

Filtr agem, Realce e Suavizao de Imagens

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 Z2, 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 Z3. 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.

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

Mor fologia Matemtica

140

5.2.1 Definies bsicas


Sejam A e B conjuntos em Z2, cujos componentes so a ? ( a1 , a2 ) e b ? (b1 , b2 ) ,
respectivamente. A translao de A por x ? ( x1 , x2 ) , denotada (A)x, definida como:

( A) x ? c c ? a - x ,

para a A .

(5.1)

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

B# ? x x ? /b,

para b B .

(5.2)

O complemento do conjunto A :

Ac ? x x A .

(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 ? ( x1 , x2 ) . 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 Z2 e seja o conjunto vazio. A dilatao de A por B, denotada
A B, definida como:

A B ? x ( B# ) x A .

(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# ) x A_ A .

(5.6)

O conjunto B normalmente denominado elemento estruturante.

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

141

Mor fologia Matemtica

X2
X1

(A)x

(a)

(b)

^
B

(d)

(c)

(A-B)

AC

(e)
(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).

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

Mor fologia Matemtica

142

^
B=B
A

A + B

(a)

^
B=B
A

A + B

(b)

^
B=B
A
A + B

(c)
Figura 2 - Dilatao.

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

(5.7)

ASB ? x ( B ) x A

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,

( ASB ) c ? A c B# .

(5.8)

A prova desta dualidade est demonstrada a seguir:


Partindo da definio de eroso, temos:

( ASB ) c ? x ( B ) x A .

(5.9)

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

143

Mor fologia Matemtica

Se o conjunto ( B ) x est contido no conjunto A, ento ( B ) x A c ? . Portanto, a equao


anterior torna-se:

( ASB ) c ? x ( B ) x Ac ? .

(5.10)

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


xs tais que ( B ) x A c . Logo,

( ASB) c ? x ( B) x A c

(5.11)

? A c B#
q.e.d.

^
B=B
A - B

(a)

^
B=B
A

A - B

(b)

^
B=B
A

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Mor fologia Matemtica

144

A abertura de um conjunto A por um elemento estruturante B, denotada A B, definida


como:

A C B ? ( ASB ) B

(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 )SB

(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 C B ? : ( B) x ( B) x A

(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) x A
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) c ? ( Ac C B# ) .

(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.

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

145

Mor fologia Matemtica

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.

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

Mor fologia Matemtica

146

B
A

A B

Figura 5 - Propriedade de 'encaixe' da abertura.

B
A

A B

Figura 6 - Interpretao geomtrica do fechamento.

A - B

(b)

(a)

A B=(A - B) + B

(A B) + B

(c)

(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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

147

Mor fologia Matemtica

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.
A=X Y Z

(W-Y)

Y
Z

(a)

(b)

(A - Y)

(c)

(d)

A - (W-Y)

(A - Y)

[A - (W-Y)]

A c - (W-Y)

(f)

(e)
Figura 8 - Transformao hit-or-miss.

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

Mor fologia Matemtica

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 Ac 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 hom B ? ( ASY ) A c S(W / Y ) .

(5.16)

Generalizando, pode-se fazer B ? ( B1 , B2 ) , onde B1 o conjunto dos elementos de B


associados com um objeto e B2 o conjunto dos elementos de B associados com o fundo
correspondente. No caso anterior, B1 = Y e B2 = (W - Y). Com esta notao, pode-se escrever:

A hom B ? ( ASB1 ) ( A c SB2 ) .

(5.17)

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

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


encontrou uma correspondncia (ou um 'hit') em A e B2 encontrou uma correspondncia em Ac.
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 / ( ASB)

(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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

149

Mor fologia Matemtica

B
A

(b)

(a)

A - B

(A)

(c)

(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 k ? ( X k /1 B ) A c

(5.20)

k = 1, 2, 3, ...

onde X0 = p e B o elemento estruturante simtrico mostrado na parte (c) da figura 10. O


algoritmo termina na k-sima iterao se Xk = Xk-1. O conjunto unio de Xk e A contm a
fronteira e os pontos internos a ela.

Ac

(a)

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

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

Mor fologia Matemtica

150

(c)

0 1 2 3
1 2 3 4
3 4
4 5
5 6

X6 A

X6

(d)

(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 k ? ( X k /1 B ) A

k = 1, 2, 3, ...

(5.21)

onde X0 = 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 Xk = Xk-1. O valor final de Xk
ser atribudo a Y.
A

B
0

X0

(b)
(a)
Figura 11 - Extrao de componentes conectados.

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

151

Mor fologia Matemtica

2
1
2 1 0
1 1 2
2 2 2

1
1 0
1 1

X1

X2

(c)

(d)
6 5 5
6
4 4
6 5 4 3
4
3
3 2

3
2
1
1 0
1 1 2
2 2 2
X6

(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 Bi, 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 ki ? ( X hom Bi ) A

i = 1, 2, 3, 4

k = 1, 2, 3, ...

(5.22)

i
, onde o subscrito 'conv' indica convergncia no sentido
com X 0i ? A . Agora, seja D i ? X conv

que X ki ? X ki /1 . Ento, o casco convexo de A :


4

C ( A) ? : D i .
i ?1

(5.23)

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

Mor fologia Matemtica

152

B1

B2

B3

B4

(a)

1 2
3
1
3 4
1
2 3 4
1 3
1

X01

X51

(b)

(c)

3
6 5 2
6 5 4
5 4
4

1
1
3
3 2 1
3 2 1
2

X22

(d)

X73

(e)

X2

C(A)

(g)

(f)
Figura 12 - Casco convexo (convex hull).

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

153

Mor fologia Matemtica

(h)
Figura 12 - Continuao.
Em outras palavras, o procedimento consiste em se aplicar iterativamente a
transformada hit-or-miss sobre A com B1; quando no houverem mais mudanas, executa-se a
unio com A e d-se ao resultado o nome D1. O procedimento repetido com B2 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 ki
indica a k-sima iterao (aquela em que no houve mudana em relao a X ki /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 hom B )

? A ( A hom B ) c .

(5.24)

Outra expresso para o afinamento de A baseada em uma seqncia de elementos


estruturantes:

} B ? } B1 , B 2 , B 3 ,..., B n

(5.25)

onde Bi uma verso rotacionada de Bi-1. Usando este conceito, define-se o afinamento por uma
seqncia de elementos estruturantes como:

A } B ? ((...(( A B1 ) B 2 )...) B n ) .

(5.26)

Em outras palavras, o processo consiste em afinar A por um passo com B1, ento afinar o
resultado com um passo de B2 e assim sucessivamente at que A seja afinado com um passo de
Bn. O processo todo repetido at que no ocorram outras mudanas.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Mor fologia Matemtica

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).

1 1 1 1 1 1 1

Aps B

Aps B

Aps B

3
3
4
2

Aps B e B

5
5

5 5
Aps B

1 1 1 1 1
7

Aps B

Aps B e B

5
2

Aps B , B , B e B

Aps B , B , B , B , ... e B

Aps converso para m-conectividade

Figura 13 - Afinamento (Thinning).

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

155

Mor fologia Matemtica


5.5.6 Espessamento (Thickening)
O espessamento o dual morfolgico do afinamento e pode ser definido como:

A thi B = A ( A hom B )

(5.27)

onde B um elemento estruturante adequado. O espessamento tambm pode ser definido como
uma operao seqencial:

A thi } B ? ((...(( A thi B1 ) thi B 2 )...) thi B n ) .

(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 ? Ac , afinase C, e ento obtm-se Cc. 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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Mor fologia Matemtica

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:
K

S ( A) ? : Sk ( A)

(5.29)

(5.30)

k ?0

com

Sk ( A) ? : ( A S kB ) / ] ( A S kB ) C B_
K

k ?0

onde B um elemento estruturante, ( A S kB ) indica k eroses sucessivas de A; ou seja,

( A S kB ) ? ((...( A S B ) S B )...) S B

(5.31)

k vezes, e K o ultimo passo iterativo antes de A resultar, por eroso, em um conjunto vazio.
Em outras palavras,

K ? max k ( ASkB )

(5.32)

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

157

Mor fologia Matemtica

Estas equaes indicam que S(A), o esqueleto de A, pode ser obtido pela unio dos subconjuntos
esqueletos Sk(A). Pode-se mostrar, alm disso, que A pode ser reconstrudo a partir destes
subconjuntos utilizando a equao
K

(5.33)

A ? : ( Sk ( A) kB )
k ?0

onde ( Sk ( A) kB ) denota k dilataes sucessivas de Sk ( A) ; ou seja,

( Sk ( A) kB ) ? ((...( Sk ( A) B ) B )...) B

(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.
K

A - KB

(A - KB) B

Sk (A)

Sk (A)

k=0

Sk (A) + kB

Sk(A) + kB

k=0

S(A)

2
B

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

Mor fologia Matemtica

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 psprocessamento. 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 X1, isto :

X 1 ? A }B

(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 X1,
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 X2,
contendo todos os pontos terminais de X1 (figura 17(d)):
8

X 2 ? : ( X 1 hom B k )

(5.36)

k ?1

onde os Bk 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:

X3 ? (X2 H) A

(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 X3 e X1 d o resultado final (figura 17(f)):

X 4 ? X1 X 3

(5.38)

Neste caso, o algoritmo aplicado trs vezes porque se est supondo que os ramos parasitas tm
comprimento menor ou igual a 3 pixels.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

159

Mor fologia Matemtica

B1

B2

B3

B4

B5

B6

B7

B8

X0

(a)

(b)

1 1 1

7
8
1
2
2
X1

X2

(d)

(c)
3
2
3

1
1 2 3

2
1
1
2
3

X3

X4

(f)

(e)
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.

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

Mor fologia Matemtica

160

Tabela 1 - Sumrio dos algoritmos morfolgicos e seus resultados (adaptado de [Gonzalez e


Woods 1992])
Operao

Equao

Comentrios2

Translao

( A) x ? c c ? a - x , para a A

Translada a origem de A
para o ponto x.

Reflexo

B# ? x x ? /b,

Complemento

Ac ? x x A

Diferena

A / B ? x x A, x B ? A B c

Dilatao

A B ? x ( B# ) x A

Eroso

ASB ? x ( B ) x A

'Contrai' a fronteira de A.
(I)

Abertura

A C B ? ( ASB ) B

Suaviza contornos, quebra


istmos estreitos e elimina
pequenas ilhas e picos
agudos. (I)

Fechamento

A B ? ( A B )SB

Suaviza contornos, une


quebras estreitas e golfos
longos e delgados e
elimina
pequenos
orifcios. (I)

para b B

Transformada hit- A hom B ? ( ASB ) ( A c SB )


1
2
or-miss

? ( ASB1 ) / ( A SB#2 )

Extrao
contorno

de d ( A) ? A / ( ASB )

Reflete
todos
os
elementos de B em
relao origem deste
conjunto.
Conjunto de pontos que
no esto em A.
Conjunto de pontos que
pertencem a A porm no
a B.
'Expande' a fronteira de A.
(I)

O conjunto de pontos
(coordenadas) nos quais,
simultaneamente,
B1
encontrou
uma
correspondncia (hit) em
A e B2 encontrou uma
correspondncia em Ac.
Conjunto de pontos sobre
a fronteira do conjunto A.
(I)

Os nmeros em algarismos romanos entre parnteses referem-se aos elementos estruturantes usados no
processo morfolgico. Estes elementos estruturantes esto na figura 18.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

161

Mor fologia Matemtica


Operao

Comentrios2

Equao

Preenchimento de X k ? ( X k /1 B ) Ac ;
uma
regio
X0 = p e
(Region filling)
k = 1, 2, 3, ...
Componentes
conectados

Casco convexo
(Convex hull)

Preenche uma regio em


A, dado um ponto p na
regio. (II)

X k ? ( X k /1 B ) A

Encontra um componente
conectado E em A, dado
um ponto p em E. (I)

X0 = p e
k = 1, 2, 3, ...

X ki ? ( X ki /1 hom B i ) A ;
i = 1, 2, 3, 4,

Obtm o casco convexo


C(A) do conjunto A, onde
conv indica convergncia
no sentido de que
X ki ? X ki /1. (III)

k = 1, 2, 3, ...,

i
X ? A , e D ? X conv
.
i
0

C ( A) ? : D i
i ?1

Afinamento
(Thinning)

A B ? A / ( A hom B )
? A ( A hom B )

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)

A } B ? ((...(( A B1 ) B 2 )...) B n )

Athi B = A (A homB)

Espessamento
(Thickening)

Espessa o conjunto A.
(Ver
os
comentrios
A thi } B ? ((...(( A thi B ) thi B )...) thi B )
anteriores
sobre
seqncias de elementos
estruturantes). Usa (IV)
com os 0s e 1s
intercambiados.

Esqueletos

S ( A) ? : Sk ( A)

k ?0

Sk ( A) ? : ( A S kB ) / ] ( A S kB ) C B_
k ?0

A ? : ( Sk ( A) kB )
k ?0

Busca o esqueleto S(A) do


conjunto A. A ltima
equao indica que A
pode ser reconstrudo a
partir dos subconjuntos
Sk ( A) . 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 S kB ) denota a ksima iterao de eroso
sucessiva. (I)

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

Mor fologia Matemtica

162

Comentrios2

Operao

Equao

Poda (Pruning)

X 1 ? A }B

X4 o resultado da poda
aplicada ao conjunto A. O
nmero de vezes que a
primeira equao deve ser
aplicada para obter X1
deve ser especificada. Os
elementos estruturantes
(V) so utilizados para as
duas primeiras equaes.
A terceira equao usa o
elemento estruturante (I).

X 2 ? : ( X 1 hom B k )
k ?1

X3 ? (X2 H) A
X 4 ? X1 X 3

II

B i , i=1..4

B i , i=1..8

(rot. 90o)

(rot. 45o)

III

IV

B i , i=1..4

B i , i=5..8

(rot. 90o)

(rot. 90o)

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

163

Mor fologia Matemtica

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 S kB ) , ( A S kB ) B, Sk(A) e

: S ( A) e explicar porque neste


k

k ?0

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.

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

Mor fologia Matemtica

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/frontpage.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/frontpage.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.

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

165

Mor fologia Matemtica


[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, PrenticeHall, 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.

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

166

Mor fologia Matemtica

[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 n1 e n2 representam o nmero de
unidades portadoras de informaes em dois conjuntos de dados que representem a mesma
informao. Neste caso, a 'redundncia relativa' (RD) do primeiro conjunto de dados (aquele
representado por n1) poder ser definida como
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

168

RD ? 1 /

1
CR

(6.1)

onde o parmetro CR , comumente chamado de 'razo (ou taxa) de compresso',

CR ?

n1
n2

(6.2)

No caso em que n2 = n1 , CR = 1 e RD = 0, podemos concluir que o primeiro conjunto de dados


no contm nenhum dado redundante em relao ao segundo. Quando n2 << n1, CR e RD
1, haver significativa compresso de dados altamente redundantes. Finalmente, no caso em
que n2 >> n1, CR 0 e RD - , 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, CR e RD 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 rk no intervalo [0, 1]
representa os nveis cinza de uma imagem e que cada rk ocorre com probabilidade pr (rk). Como
no Captulo 3,

pr (rk ) ?

nk
n

k = 0, 1, 2, ..., L - 1

(6.3)

onde L o nmero dos nveis cinza, nk 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 rK l(rK), a quantidade mdia de bits exigida para representar cada
pixel
L /1

Lavg ? l (rk ) pr (rk )


k ?0

(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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

169

Compr esso e Codificao de Imagens

bits exigido para codificar uma imagem de dimenses M x N MNLavg. 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, Lavg = m quando l(rk) 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 Lavg 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:
7

Lavg ? l2 (rk ) pr (rk )


k ?0

? 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, CR, como 3/2,69 = 1,115.
Atravs da eq. (6.1), calculamos a redundncia como:

RD ? 1 /

1
? 0,103 .
1115
,

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 (rk)

pr(rk)

Cdigo 1

l1(rk)

Cdigo 2

l2(rk)

r0 = 0
r1 = 1/7
r2 = 2/7
r3 = 3/7
r4 = 4/7
r5 = 5/7
r6 = 6/7
r7 = 1

0,26
0,18
0,22
0,15
0,08
0,06
0,03
0,02

000
001
010
011
100
101
110
111

3
3
3
3
3
3
3
3

01
11
10
001
0001
00001
000001
000000

2
2
2
3
4
5
6
6

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

Compr esso e Codificao de Imagens

170

0,3
0,25
0,2
0,15
0,1
0,05
0
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.

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

171

Compr esso e Codificao de Imagens

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


M /1 N /1

] f '( x, y) / f ( x, y)_
x ?0 y ?0

sendo as imagens de tamanho M x N. O erro mdio quadrtico, erms, entre f(x,y) e f(x,y) pode ser
obtido por:

erms

1
?
MN

M /1 N / 1

] f ' (x , y ) / f (x , y )_

x?0

1/ 2
2

y?0

(6.6)

Outro critrio de fidelidade objetiva possvel a relao sinal-rudo rms (SNRrms) entre a
imagem comprimida e a descomprimida, dada por
M /1 N /1

SNRrms ?


x?0

M /1 N /1

f ' ( x, y) 2

y?0

] f ' ( x , y ) / f ( x , y)_
x ?0

(6.7)
2

y ?0

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

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.

f(x,y)

Codificador
de Fonte

Decodificador
de Fonte

Codificador
de Canal

Decodificador
de Canal

f(x,y)

Canal
Codificador

Decodificador

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

173

Compr esso e Codificao de Imagens

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).

f(x,y)

Mapeador

Codificador
de Smbolos

Quantizador

Canal

Codificador de Fonte

(a)
Canal

Decodificador
de Smbolos

Mapeador
Inverso

f(x,y)

Decodificador de Fonte

(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 distncia1 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 h1 h2 ... h6 h7 associadas aos nmeros binrios de 4 bits b3 b2 b1 b0 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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

174

h 1 = b3 b 2 b 0

h 3 = b3

h 2 = b3 b 1 b 0

h 5 = b2

h 4 = b2 b 1 b 0

h 6 = b1
h 7 = b0

(6.8)

onde denota a operao XOR (ou-exclusivo). Observe que os bits h1, h2 e h4 so bits de
paridade par para os conjuntos de bits b3 b2 b0, b3 b1 b0 e b2 b1 b0 , 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 c4 c2 c1 ser diferente de zero. Os valores dos bits individuais desta palavra
so obtidos pelas seguintes expresses lgicas:
c1 = h1 h3 h5 h7
c2 = h2 h3 h6 h7

(6.9)

c4 = h4 h5 h6 h7
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 h3 h5 h6 h7.

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
i+1
i+2
i+3

0110
1001
1000
1111

1100110
0011001
1110000
1111111

Soluo
a) Utilizando as relaes lgicas (6.8) para a primeira palavra-cdigo, obtemos:
h 1 = b3 b 2 b 0 = 0 1 0 = 1
h 2 = b3 b 1 b 0 = 0 1 0 = 1
h 4 = b2 b 1 b 0 = 1 1 0 = 0
h 3 = b3 = 0
h 5 = b2 = 1
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

175

h 6 = b1 = 1
h7 = b0 = 0.
Logo, a palavra-cdigo de Hamming equivalente : 11001102.
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, CR = 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: CR = 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 ) ? log

1
? / log P ( E )
P (E )

(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)
= - log2 , 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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

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

Canal

Usurio da
Informao

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 {a1, a2, ..., aJ} chamado de
alfabeto da fonte A, e os elementos do conjunto, denotados por aj, so chamados de smbolos ou
letras. A probabilidade de a fonte vir a produzir o smbolo aj P(aj), e
J

P(a j ) ? 1

j ?1

(6.11)

O vetor z = [P(a1), P(a2), ... , P(aJ)]T, de dimenses J x 1, representa o conjunto de todas as


probabilidades dos smbolos da fonte {P(a1), P(a2), ... , P(aJ)}. O conjunto finito (A, z) descreve
completamente a fonte de informao.
A probabilidade de a fonte discreta emitir o smbolo aj P(aj), de forma que a
informao prpria gerada pela produo de um nico smbolo de fonte , de acordo com a
equao (6.10), I(aj) = / log P(aj). Se k smbolos forem gerados, a lei dos grandes nmeros
estipula que, para um valor consideravelmente alto de k, o smbolo aj sair (em mdia) kP(aj)
vezes. Logo, a informao prpria mdia obtida das k sadas

/ k ( Pa1 ) log P (a1 ) / kP(a 2 ) log P(a 2 ) /.../ kP(a J ) log P(a J )
ou
J

/ k P(a j ) log P(a j ) .


j ?1

A informao mdia por sada de fonte, denotada por H(z),


J

H ( z) ? / P(a j ) log P(a j )


j ?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 {b1, b2, . . ., bK}, chamado de
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

177

Compr esso e Codificao de Imagens

alfabeto do canal B. A probabilidade do smbolo bk ser apresentado para o usurio de


informao P(bk). O conjunto finito (B,v), onde v = [P(b1), P(b2), ... , P(bk)]T, descreve
completamente a sada do canal e, por conseguinte, a informao recebida pelo usurio.
A probabilidade de uma determinada sada de canal P(bk) e a distribuio de
probabilidade da fonte z esto relacionadas pela expresso
J

P(bk ) ? P (bk a j ) P(a j )

(6.13)

j ?1

onde P(bk|aj) a probabilidade condicional de que a sada bk ser recebida, considerando-se que
o smbolo de fonte aj 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

P(b1 a1 ) P(b 1 a 2 )

6
P(b2 a1 )
.
.
Q?

P(b a ) P (b a )
K 1
K 2

... P(b1 a J )
...
6
...
.
... P(bK a J )

(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 qkj = P(bk|aj), 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 bk. A
equao (6.13) define uma distribuio de smbolos de fonte para qualquer bk observado, de
forma que cada bk possua uma funo de entropia condicional. Com bases nos passos que levam
equao (6.12), esta funo de entropia condicional, denotada por H(z|bk), pode ser escrita
como
J

H ( z bk ) ? / P(a j bk ) log P(a j bk )


j ?1

(6.16)

onde P(aj|bk) a probabilidade do smbolo aj ter sido transmitido pela fonte, levando-se em
conta que o usurio tenha recebido bk. O valor esperado (ou valor mdio) desta expresso sobre
todos os bk
K

H ( z v) ? H ( z bk ) P (bk )
k ?1

(6.17)

a qual, aps a substituio de H(z|bk) pela expresso direita na equao (6.16) e alguns
pequenos rearranjos, pode ser escrita como
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

178

H ( z v) ? /
j ?1

P(a

j,

bk ) log P(a j bk )

k ?1

(6.18)

onde P(aj, bk) a probabilidade conjunta de aj e bk. Ou seja, P(aj, bk) a probabilidade de aj ser
transmitido e de bk 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 lembrandose que P(aj) = P(aj , b1) + P(aj , b2) + . . . + P(aj , bK) obtemos
J

I ( z, v) ?
j ?1

P ( a j , bk )

P(a j , bk ) log

k ?1

P(a j ) P(bk )

(6.20)

a qual, aps posterior manipulao, pode ser escrita como


J

q kj

I ( z, v) ? P (a j )q kj log
j ?1 k ?1

P(a )q
i

(6.21)

ki

i ?1

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(aj, bk) = P(aj)P(bk) 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, 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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

179

Compr esso e Codificao de Imagens

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 28 x 4 x 8, ou 2256 (~ 1077) 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
95
167
234

12
4
4
12

3/8
1/8
1/8
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)
(22, 95)
(95, 167)
(167, 234)
(234, 234)

8
4
4
4
8

1/4
1/8
1/8
1/8
1/4

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

Compr esso e Codificao de Imagens

180
(234, 22)

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 (a3 com prob. = 0,06 e a5 com prob. = 0,04)
so combinados, formando um 'smbolo composto' cuja probabilidade 0,06 + 0,04 = 0,1. Este
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

181

Compr esso e Codificao de Imagens

'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

a2
a6
a1
a4
a3
a5

0,4
0,3
0,1
0,1
0,06
0,04

0,4
0,3
0,1
0,1
0,1

0,4
0,3
0,2
0,1

0,4
0,3
0,3

0,6
0,4

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 :
= (0,4)(1) + (0,3)(2) + (0,1)(3) + (0,1)(4) + (0,06)(5) + (0,04)(5)
Lavg
= 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
Smbolo

Prob.

a2
a6
a1
a4
a3
a5

0,4
0,3
0,1
0,1
0,06
0,04

Redues de fonte

Cdigo
1
00
011
0100
01010
01011

1
0,4
0,3
0,1
0,1
0,1

1
00
011
0100
0101

2
0,4
0,3
0,2
0,1

1
00
010
011

3
0,4 1
0,3 00
0,3 01

4
0,6
0,4

0
1

Figura 6 - Atribuio de palavras-cdigo no algoritmo de Huffman.


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

182

Compr esso e Codificao de Imagens

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 a1 a a12 foram codificados por Huffman enquanto os smbolos
a13 a a21 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 palavracdigo 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, a1a2a3a3a4, 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 a3 ocorre mais vezes, ele ocupa um
intervalo maior que os demais smbolos. Ao codificarmos a mensagem, o primeiro smbolo a ser
codificado ser a1, 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 a2. A codificao de a2 reduz o intervalo a [0,04, 0,08), a codificao de
a3 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.

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

183

Compr esso e Codificao de Imagens


Tabela 3 - Codificao utilizando cdigo de Huffman truncado.
Smbolo da fonte

Probabilidade

a1
a2
a3
a4
a5
a6
a7
a8
a9
a10
a11
a12
a13
a14
a15
a16
a17
a18
a19
a20
a21

0,2
0,1
0,1
0,06
0,05
0,05
0,05
0,04
0,04
0,04
0,04
0,03
0,03
0,03
0,03
0,02
0,02
0,02
0,02
0,02
0,01

Huffman Truncado
11
011
0000
0101
00010
00011
00100
00101
00110
00111
01000
01001
10 0000
10 0001
10 0010
10 0011
10 0100
10 0101
10 0110
10 0111
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.

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

Compr esso e Codificao de Imagens

184
Seqncia de codificao
a1

a2

a3

0,2

a3

0,08

a4

a4

a4

0,072
a4

0,0688
a4

a4
0,06752

a3

a3

a3

a3

a3

a2

a2

a2

a2

a2

a1

a1

a1

a1

a1

0,04

0,056

0,0624

Figura 7 - Codificao aritmtica.


Tabela 4 - Exemplo de codificao aritmtica.
Smbolo

Probabilidade

Subintervalo inicial

a1
a2
a3
a4

0,2
0,2
0,4
0,2

[0,0, 0,2)
[0,2, 0,4)
[0,4, 0,8)
[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
Espao
A
C
D
I
M
T

Probabilidade
0,1
0,2
0,2
0,2
0,1
0,1
0,1

Intervalo
[0,0 , 0,1)
[0,1 , 0,3)
[0,3 , 0,5)
[0,5 , 0,7)
[0,7 , 0,8)
[0,8 , 0,9)
[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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

185

Compr esso e Codificao de Imagens

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
M
A
C
Espao
A
D
D
I
C
T

Limite inferior

Limite superior

0,8
0,81
0,816
0,8160
0,81604
0,816080
0,8160880
0,81609024
0,816090336
0,8160903936

0,9
0,83
0,820
0,8164
0,81612
0,816096
0,8160912
0,81609056
0,816090400
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
0,8160903936
0,160903936
0,30451968
0,0225984
0,225984
0,62992
0,6496
0,748
0,48
0,9
0,0

Smbolo
decodificado
M
A
C
Espao
A
D
D
I
C
T

Limite inferior
0,8
0,1
0,3
0,0
0,1
0,5
0,5
0,7
0,3
0,9

Limite superior
0,9
0,3
0,5
0,1
0,3
0,7
0,7
0,8
0,5
1,0

Largura do
intervalo
0,1
0,2
0,2
0,1
0,2
0,2
0,2
0,1
0,2
0,1

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

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
A
B
C
AB
BA
AA
AAA
AAAC
CA
AAB
BAA
AAAA
AC
CAB
BAAA
AAB...

Palavra-cdigo
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

187

Compr esso e Codificao de Imagens

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
0
1
2
3
4
5
6
7
8

String de entrada
A
B
C
BA
AB
BAB
BABA
ABA
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.

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

188

Compr esso e Codificao de Imagens

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 palavracdigo 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 (palavracdigo 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 palavracdigo 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 (palavracdigo 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 m/1 2 m/1 - a m/ 2 2 m/ 2 -...- a1 2 1 - a 0 2 0 .

(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 a0 de cada pixel, enquanto o bit plane
de ordem (m - 1) conter os coeficientes am-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).

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

189

Compr esso e Codificao de Imagens

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 gm-1 ... g2g1g0 correspondente ao
polinmio (6.23) pode ser calculado como:

g i ? a i a i -1
g m / 1 ? a m /1 .

0 i

m/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 prestabelecida. 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 viceversa, 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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

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 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).
Linha Anterior

Linha Atual

cc

ec

=0
=1

Transio
Atual

(a)
Distncia medida

Distncia
codificada

cc'
ec ou cc' (esq)
cc' (dir)
ec
cc' (c' esq)
cc' (c' dir)

0
1
1
d (d > 1)
d (d > 1)
d (d > 1)

Cdigo
0
100
101
111 h(d)
1100 h(d)
1101 h(d)

Faixa de distncia
1-4
5 - 20
21 - 84
85 - 340
341 - 1364
1365 - 5460

Cdigo h(d)
0 xx
10 xxxx
110 xxxxxx
1110 xxxxxxxx
11110 xxxxxxxxx
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 fn,
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

en ? f n / f#n

(6.25)

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

191

Compr esso e Codificao de Imagens

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 en a partir das palavras-cdigo de comprimento varivel
recebidas e executa a operao inversa

f n ? en - f#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,
m
#f ? round c f
n
i n / i

i ?1

(6.27)

onde m a ordem do preditor linear, round uma funo utilizada para indicar a operao de
arredondamento e ci 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

m
f#n ( x , y ) ? round c i f ( x , y / i )
i ?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
de Entrada

fn

Imagem
Comprimida

en

Codificador
de Smbolos

Preditor

Inteiro mais
prximo

^f
n

(a)
Figura 9 - Um modelo de codificao preditiva: (a) codificador; (b) decodificador.
Imagem
Comprimida
Decodificador
de Smbolos

en +

fn

Imagem
Descomprimida

+
^f
n

Preditor

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

Compr esso e Codificao de Imagens

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
de Entrada

en

en

Imagem
Comprimida
Codificador
de Smbolos

Quantizador

fn

^f
n

+
Preditor
fn

(a)
Imagem
Comprimida
Decodificador
de Smbolos

fn

en +

Imagem
Descomprimida

+
^f
n

Preditor

(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%n ? e%n - f#n

(6.29)

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

193

Compr esso e Codificao de Imagens

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#n ? c f%n /1

(6.30)

-|
e%n ?
/|

para en @ 0
caso contrario

(6.31)

onde c 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
c = 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%0 ? f 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, e1 = 15 - 14
= 1, e%1 = + 6,5 (porque e1 > 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.

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

Compr esso e Codificao de Imagens

194

Tabela 6 - Codificao DM
Entrada

Codificador

Decodificador

Erro

f#

e%

f%

f#

f%

[f - f% ]

0
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

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

14,0
20,5
14,0
20,5
14,0
20,5
14,0
7,5
14,0
20,5
27,0
33,5
27,0
20,5
27,0
33,5
40,0
46,5
53,0
59,5
66,0
72,5
79,0
85,5
79,0
85,5

1,0
-6,5
1,0
-7,5
1,0
-5,5
0,0
12,5
12,0
6,5
1,0
-6,5
0,0
8,5
10,0
13,5
22,0
28,5
24,0
18,5
13,0
7,5
2,0
-4,5
3,0
-3,5

6,5
-6,5
6,5
-6,5
6,5
-6,5
-6,5
6,5
6,5
6,5
6,5
-6,5
-6,5
6,5
6,5
6,5
6,5
6,5
6,5
6,5
6,5
6,5
6,5
-6,5
6,5
-6,5

14,0
20,5
14,0
20,5
14,0
20,5
14,0
7,5
14,0
20,5
27,0
33,5
27,0
20,5
27,0
33,5
40,0
46,5
53,0
59,5
66,0
72,5
79,0
85,5
79,0
85,5
79,0

14,0
20,5
14,0
20,5
14,0
20,5
14,0
7,5
14,0
20,5
27,0
33,5
27,0
20,5
27,0
33,5
40,0
46,5
53,0
59,5
66,0
72,5
79,0
85,5
79,0
85,5

14,0
20,5
14,0
20,5
14,0
20,5
14,0
7,5
14,0
20,5
27,0
33,5
27,0
20,5
27,0
33,5
40,0
46,5
53,0
59,5
66,0
72,5
79,0
85,5
79,0
85,5
79,0

0,0
-5,5
0,0
-5,5
-1,0
-5,5
1,0
6,5
6,0
5,5
6,5
-5,5
0,0
6,5
2,0
3,5
7,0
15,5
22,0
17,5
18,5
13,0
7,5
2,0
-4,5
3,0
-3,5

90
80
70
60

Entrada

50

Resultado da DM

40
30
20
10
0
0

10 12 14 16 18 20 22 24 26

Figura 11 - Representao grfica dos valores originais e aps codificao, ilustrando os


problemas de rudo granular e slope overload.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

195

Compr esso e Codificao de Imagens

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%n en ) e que o valor
predito de um pixel depende de uma combinao linear de m pixels anteriores, isto ,
m

(6.32)

f#n ? c i f n /i .
i ?1

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 ) ? u 2 t iv t hj

(6.33)

resultando no preditor linear de 4 ordem


. f# ( x , y ) ? c 1 f ( x , y / 1) - c 2 f ( x / 1, y / 1) - c 3 f ( x / 1, y ) - c 4 f ( x / 1, y - 1)

(6.34)

cujos coeficientes timos so


.c 1 ? th

c 2 ? /t v t h

c 3 ? tv

c4 ? 0

(6.35)

onde th e tv 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.

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

Compr esso e Codificao de Imagens

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.
Imagem
de
Entrada
(Nx N)
Construo
de Subimagens n x n

Imagem
Comprimida
Transformao
Direta

Quantizao

Codificao
de Smbolos

(a)
Imagem
Comprimida
Decodificao
de Smbolos

Transformao
Inversa

Fuso de
Subimagens
nxn

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:
N /1
(2 x - 1)ur
C (u) ? c (u) f ( x ) cos

2N
x?0

(6.36)

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

197

Compr esso e Codificao de Imagens


Para u = 0, 1, 2, ..., N-1.
Similarmente, a DCT inversa 1-D definida como:

f ( x) ?

(2 x - 1)ur

2N

N /1

c (u)C(u) cos

u?0

(6.37)

Para x = 0, 1, 2, ..., N-1. Em ambas equaes (6.36) e (6.37), c :

c ( u) ? N
2
N

p/u?0

(6.38)

p / u ?1

A DCT direta 2-D dada por:


N /1 N /1
(2 x - 1)ur
(2 y - 1)vr
cos
C (u, v ) ? c (u)c (v ) f ( x , y ) cos


2N
2N
x?0 y?0

(6.39)

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


Enquanto a DCT inversa 2-D pode ser calculada como:

f ( x, y) ?

N / 1 N /1

(2 x - 1)ur
(2 y - 1)vr
cos


2N
2N

c (u)c (v)C(u, v) cos


u?0 v ?0

(6.40)

para x, y = 0, 1, 2, ..., N-1. Onde c 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 subbandas [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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

198

Compr esso e Codificao de Imagens

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

199

Compr esso e Codificao de Imagens

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)
Runlength

Palavra-cdigo
Branco

Palavra-cdigo
Preto

Runlength

Palavra-cdigo
Branco

Palavra-cdigo
Preto

0
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

00110101
000111
0111
1000
1011
1100
1110
1111
10011
10100
00111
01000
001000
000011
110100
110101
101010
101011
0100111
0001100
0001000
0010111
0000011
0000100
0101000
0101011
0010011
0100100
0011000
00000010
00000011
00011010

0000110111
010
11
10
011
0011
0010
00011
000101
000100
0000100
0000101
0000111
00000100
00000111
000011000
0000010011
0000011000
0000001000
00001100111
00001101000
00001101100
00000110111
00000101000
00000010111
00000011000
000011001010
000011001011
000011001100
000011001101
000001101000
000001101001

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

00011011
00010010
00010011
00010100
00010101
00010110
00010111
00101000
00101001
00101010
00101011
00101100
00101011
00000100
00000101
00001010
00001011
01010010
01010011
01010100
01010101
00100100
00100101
01011000
01011001
01011010
01011011
01001010
01001011
00110010
00110011
00110100

000001101010
000001101011
000011010010
000011010011
000011010100
000011010101
000011010110
000011010111
000001101100
000001101101
000011011010
000011011011
000001010100
000001010101
000001010110
000001010111
000001100100
000001100101
000001010010
000001010011
000000100100
000000110111
000000111000
000000100111
000000101000
000001011000
000001011001
000000101011
000000101100
000001011010
000001100110
000001100111

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

Compr esso e Codificao de Imagens

200

Tabela 8 - Cdigo de Huffman Modificado - Cdigos de composio (PCC)


Runlength

Palavra-cdigo
Branco

Palavra-cdigo
Preto

64
128
192
256
320
384
448
512
576
640
704
768
832
896
960
1024
1088
1152
1216
1280
1344
1408
1472
1536
1600
1664
1728

11011
10010
010111
010111
00110110
00110111
01100100
01100101
01101000
01100111
011001100
011001101
011010010
011010011
011010100
011010101
011010110
011010111
011011000
011011001
011011010
011011011
010011000
010011001
010011010
011000
010011011

0000001111
000011001000
000011001001
000001011011
000000110011
000000110100
000000110101
0000001101100
0000001101101
0000001001010
0000001001011
0000001001100
0000001001101
0000001110010
0000001110011
0000001110100
0000001110100
0000001110110
0000001110111
0000001010010
0000001010011
0000001010100
0000001010101
0000001011010
0000001011011
0000001100100
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 a0, 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:
ao: pixel de incio na linha atual, que se torna o pixel de referncia;
a1: pixel onde ocorre a primeira transio direita de a0 na linha atual;
a2: pixel onde ocorre a primeira transio direita de a1 na linha atual;
b1: pixel de cor oposta a a0, que indica a primeira transio direita de a0 na linha
anterior;
b2: pixel onde ocorre a primeira transio direita de b1 na linha anterior.

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

201

Compr esso e Codificao de Imagens


Incio de Nova
Codificao
Colocar a0 antes
do primeiro pixel

Detetar a1

Detetar b1

Detetar b2

B2
esquerda
de a1?

No

Sim

|a1,b1| 3?

Sim

No
Detetar a2

Codificao
de Passagem

Codificao
Horizontal

Codificao
Vertical

Colocar a0
embaixo de b 2

Colocar a0
sobre a2

Colocar a0
sobre a1

No

Fim da Linha?

Sim
Fim da
Codificao

Figura 13 - Procedimento de codificao MREAD. A notao |a1,b1| indica o valor absoluto da


distncia entre os elementos a1 e b1.
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 b2 em relao a a1. O
segundo calcula a distncia (em pixels) entre a1 e b1 e compara com o valor 3. De acordo com os
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

202

resultados destes testes, um dos trs modos de codificao 2-D ser utilizado, um novo elemento
de referncia a0 ser determinado e o procedimento recomea, conforme indica o fluxograma da
figura 13.
b1

Referncia

Codificao

b2

a0

a1

Passagem

Prximo a0

=0
=1

(a)
Vertical
a1b 1
Referncia

Codificao

b1

a0

a0a1

a1

b2

a1a2

a2

=0
=1

Horizontal

(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
Passagem

Elementos a ser em
codificados
b1 , b2

Horizontal

a0 a1 , a1 a2

Vertical

a1 sob b1
a1 1 pixel direita de b1
a1 2 pixels direita de b1
a1 3 pixels direita de b1

Notao

Palavr a-Cdigo

0001

001 + M(a0 a1) + M(a1 a2)

a1 b1 = 0
a1 b1 = 1
a1 b1 = 2
a1 b1 = 3

V (0)
VD (1)
VD (2)
VD (3)

1
011
000011
0000011

a1 1 pixel esquerda de b1 a1 b1 = 1
a1 2 pixels esquerda de b1 a1 b1 = 2
a1 3 pixels esquerda de b1 a1 b1 = 3

VE (1)
VE (2)
VE (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 b2 est diretamente acima de a1,
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 a0 at a1 e de a1 at a2
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(a0 a1) +
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

203

M(a1 a2). Finalmente, no modo vertical, uma das sete palavras-cdigo correspondentes
distncia entre a1 e b1 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 b2 est direita de a1 e a distncia entre a1 e b1 menor que 3. Logo, a
situao ilustrada VE (2), implicando no uso da palavra-cdigo 000010. Na prxima iterao
a0 ser movido para a posio onde at ento estava a1.
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;
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

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, 2p-1]. Estes valores so deslocados para o
intervalo [- (2p-1) , (2p-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:
7 7
1
ru(2 x - 1) rv(2 y - 1)
F (u, v) ? C(u)C(v) f ( x, y) cos
cos
4
16
16
x ?0 y ?0

(6.41)

onde

C (u), C (v ) ?

1
2

para u , v = 0

C (u), C(v ) ? 0 para u , v > 0

(6.42)
(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.

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

205

Compr esso e Codificao de Imagens


Imagem
(blocos
8x8)

DCT

Quantizador

Ordenao
zig-zag

Tabela de
quantizao

Imagem
decodificada

DCT
inversa

Codificador
por entropia
(Huffman)

Tabela de
codificao

Tabela de
quantizao

Tabela de
decodificao

Dequantizador

Decodificador
por entropia
(Huffman)

Imagem
codificada

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 )
Fq(u,v) ? round

Q( u , v )

(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:

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

Compr esso e Codificao de Imagens

206

Quantidade de coeficientes Nmero de bits necessrios para Valor


com valor 0
codificar o coeficiente diferente de 0
coeficiente
diferente de 0
Run-length

Size

do

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 Valor do coeficiente DC
o 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].
Coeficiente DC
Amostra DCi

DCi - DCi-1
-

Amostra
anterior
Amostra DCi-1

(b)
(a)
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 ) ? Fq (u, v )Q(u, v )

(6.45)

Os coeficientes dequantizados so transportados do domnio da freqncia para o domnio


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

207

Compr esso e Codificao de Imagens

rv (2 y - 1)
1 7 7
ru(2 x - 1)
f ( x , y ) ? C (u)C (v ) F (u, v ) cos
cos
4 u?0 v ?0
16
16
onde
C(u),C(v) ?
C(u),C(v) ? 1

1
2

para u, v ? 0

(6.46)

(6.47)
(6.48)

para u, v @ 0

Aps a DCT inversa, os valores decodificados so deslocados para o intervalo


[0 , 2P - 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 AC1 e AC2;
Faixa 3: coeficientes AC3...AC6;
Faixa 4: coeficientes AC7...AC63
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

o valor previsto pode ser calculado por uma das seguintes frmulas:

sem predio

X=A

X=B

X=C

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

Compr esso e Codificao de Imagens

208
4

X=A+B-C

X = A + (B - C)/2

X = B + (A - C)/2

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 fullcolor (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 fullcolor 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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

209

Compr esso e Codificao de Imagens

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).
Bloco mais
semelhante
Quadro
anterior

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

210

Compr esso e Codificao de Imagens

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.

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

211

Compr esso e Codificao de Imagens

Cb
MB (Macro Bloco)

Cr

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 Blocos)

1 2
3 4
5 6
7 8
9 10
11 12
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].

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

Compr esso e Codificao de Imagens

212
Sinal
de vdeo

Codificador
multiplex de
vdeo / codif.
Huffman

+
Quantizador

DCT
+

Sinal
codificado

Dequantizador

DCT
inversa
+
Memria de
quadro do
preditor

Figura 19 - Codificador H.261.

Bitstream
Buffer

Decodif. por
comprimento
varivel

Dequantizador

DCT
inversa

Imagem
recuperada

+
+

Liga / desliga
filt

Filtro

Preditor de
compensao
de movimento
e memria de
quadro

Vetores de movimento

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

213

Compr esso e Codificao de Imagens

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
1
2
4

Ano

Aplicao tpica

Taxa de dados tpica

1992
1994
verso 1 aprovada
em outubro de
1998
verso 2 prevista
para dezembro de
1999
previsto para julho
de 2001

vdeo CD
vdeo com qualidade broadcast
comunicao multimdia

1,5 Mbps
4-100 Mbps
-

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

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
de vdeo

Bit-stream
MPEG

Decodificador
de vdeo

Sinal
de vdeo

Timing

Decodificador
de sistema

Bit-stream
de udio

Decodificador
de udio

Sinal
de udio

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

215

Compr esso e Codificao de Imagens

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
I

2
B

3
B

4
B

5
P

6
B

7
B

8
B

9
I

M: distncia entre
quadros ncora
GOP (group of pictures)
N: distncia 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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

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.
Seqncia de vdeo
GOP
...

...

Picture

Slice

Macrobloco

Bloco
8 pixels
8 pixels

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).
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

217

Compr esso e Codificao de Imagens


Quadro prvio

Quadro atual

Erro de predio
+
Quadro previsto
-

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.

6
28
S
16

M
16

28

Figura 25 - Predio de movimento: rea de busca do macrobloco.

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

218

Compr esso e Codificao de Imagens

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

219

Compr esso e Codificao de Imagens

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
0
1/7
1/7
0

3/7
2/7
0
5/7
1/7
1/7
1

Nvel de cinza (rk)

2/7
1/7
1
1/7
1/7
1/7
0
pr(rk)

2/7
1/7
1/7
0
3/7
1/7
0

1/7
1/7
3/7
6/7
6/7
5/7
0

1/7
1/7
0
0
6/7
6/7
0

Cdigo de Huffman

4/7
4/7
0
1/7
5/7
4/7
4/7
l(rk)

r0 = 0
r1 = 1/7
r2 = 2/7
r3 = 3/7
r4 = 4/7
r5 = 5/7
r6 = 6/7
r7 = 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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Compr esso e Codificao de Imagens

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

2 / 3 1/ 3
Q?
.
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
e
i
o
u
!

0.2
0.3
0.1
0.2
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 a0 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.

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

Compr esso e Codificao de Imagens

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"

J PEG image compr ession: Fr equently Asked Questions


Respostas a questes mais comuns sobre JPEG.
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s12/frontpage.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


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

222

Compr esso e Codificao de Imagens

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, 114128.

[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.

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

Compr esso e Codificao de Imagens

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.

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

224

Compr esso e Codificao de Imagens

[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).

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

226

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

228

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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)

(c)
(b)
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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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
R
G

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

230

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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.
Cilindro Eletrosttico

Laser

Feixe

Modulador

Espelho Rotativo

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.

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

232

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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 nolinear, 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

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

234

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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 MSDOS 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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens


Mindworks

pode

ser

contatada

atravs

da

Internet

pelo

235
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

236

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

Software para Visualizao de Imagens


J PEGView
O postcardware2 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.
WinJ PEG
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.

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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/".

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

238

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

240

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

"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.

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

Aspectos Pr ticos de Har dwar e e Softwar e par a Pr ocessamento de Imagens

241

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

242

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.

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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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).

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

For matos de Ar quivos de Imagens

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:

Plataformas:

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.
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.
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.

Desvantagens:

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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.

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

For matos de Ar quivos de Imagens

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).

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

262

For matos de Ar quivos de Imagens

"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 arquivosM, 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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

264

um erro como uma diviso por zero, por exemplo, o resultado do tipo NaN (no-nmero - nota-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]
(e)
,
;
:
!

Formao de vetores e matrizes


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

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

Roteir os de Labor atr io de Pr ocessamento de Imagens


%

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

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

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
angle
atan
conj
conv
corrcoef
cos
cosh
cov
deconv
det
diag
eig
exp
expm
eye
filter
imag
inv
length
log
logm
log10
max
mean
median
min
ones
prod
rand
rank

valor absoluto ou mdulo de um nmero complexo.


ngulo de fase de um nmero completo.
arco tangente
conjugado complexo.
convoluo.
coeficiente de correlao entre duas matrizes.
cosseno.
cosseno hiperblico.
covarincia.
deconvoluo.
determinante de uma matriz.
matriz diagonal.
autovalores e autovetores de uma matriz.
exponenciao na base natural (e).
exponenciao de matriz.
matriz identidade.
implementao de filtro digital.
parte imaginria de um nmero complexo.
matriz inversa.
comprimento de um vetor.
logaritmo na base natural (e).
logaritmo de matriz.
logaritmo na base 10.
valor mximo de um vetor ou matriz*.
valor mdio de um vetor.
valor da mediana de um vetor.
valor mnimo de um vetor ou matriz*.
matriz cujos elementos possuem todos valor 1.
produto de elementos de matrizes.
gerao de nmeros e matrizes com valores aleatrios.
posto de uma matriz.

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

Roteir os de Labor atr io de Pr ocessamento de Imagens


real

267

parte real de um nmero complexo.


resto de diviso.
funo sinal.
seno.
seno hiperblico.
dimenses de uma matriz (linhas e colunas).
raiz quadrada.
raiz quadrada de uma matriz.
desvio padro.
soma dos elementos de um vetor ou matriz*.
tangente.
tangente hiperblica.
trao de uma matriz.
matriz cujos elementos possuem todos valor 0.

rem
sign
sin
sinh
size
sqrt
sqrtm
std
sum
tan
tanh
trace
zeros

* 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
bmpwrite
gifread
gifwrite
hdfpeek
hdfread
hdfwrite
pcxread
pcxwrite
tiffread
tiffwrite
xwdread
xwdwrite

l arquivo BMP (Microsoft Windows Bitmap) do disco.


escreve arquivo BMP (Microsoft Windows Bitmap) para o disco.
l arquivo GIF (Graphics Interchange Format) do disco.
escreve arquivo GIF (Graphics Interchange Format) para o disco.
lista pares de objetos tag/ref em arquivo HDF.
l dados de arquivo HDF.
escreve dados para arquivo HDF.
l arquivo PCX (ZSoft Paint Format) do disco.
escreve arquivo PCX (ZSoft Paint Format) para o disco.
l arquivo TIFF (Tagged Image File Format) do disco.
escreve arquivo TIFF (Tagged Image File Format) para o disco.
l arquivo XWD (X window dump) do disco.
escreve arquivo XWD (X window dump) para o disco.

Utilitrios:
getimage
isbw
isgray
isind

obtm dados da imagem a partir dos eixos.


verdadeiro para imagens em preto e branco.
verdadeiro para imagens em nveis de cinza.
verdadeiro para imagens indexadas.

Operaes em cores:
brighten
cmunique
cmpermute
cmgamma
cmgamdef

clareia ou escurece mapa de cores (biblioteca do MATLAB).


encontra cores de mapas distintos e imagem correspondente.
permuta posies de mapas de cores.
correo Gamma de mapas de cores.
tabela de correo Gamma pr-definida.

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

268
dither
hsv2rgb
imadjust
imapprox
ntsc2rgb
rgb2gray
rgb2hsv
rgb2ntsc
rgbplot

dithering pelo mtodo de Floyd-Steinberg.


converte valores HSV para espao de cores RGB (biblioteca do MATLAB).
ajusta e amplia intensidade de imagem.
aproxima imagem indexada para image com menor quantidade de cores.
converte valores NTSC para o espao de cores RGB.
converte valores RGB para cinza.
converte valores RGB para o espao de cores HSV(biblioteca do MATLAB).
converte valores RGB para o espao de cores NTSC.
desenha componentes do mapa de cores RGB (biblioteca do MATLAB).

Operaes geomtricas:
imcrop
imresize
imrotate
truesize
imzoom

recorta imagem.
redimensiona imagem.
roda imagem.
redimensiona figura de modo que a imagem possua o tamanho real.
ampliao e reduo de uma imagem ou desenho 2-D

Melhoramento e anlise:
brighten
grayslice
histeq
imadjust
imapprox
imhist
impixel
improfile
interp2

clareia ou escurece mapa de cores (biblioteca do MATLAB).


mapeamento por densidade (intensidade).
equalizao de histograma.
ajusta e amplia intensidade de imagem.
aproxima imagem indexada para image com menor quantidade de cores.
histograma de imagens.
cor de um pixel.
modelo de intensidade.
interpolao bidimensional de dados (biblioteca do MATLAB).

Estatstica:
mean2
corr2
std2

mdia de uma matriz.


coeficiente de correlao bidimensional.
desvio padro bidimensional.

Operaes morfolgicas:
bwarea
dilate
erode
edge
bweuler
bwmorph
bwperim

rea de objetos em imagem binria.


dilatao (espessamento) de imagem binria.
eroso (afinamento) de imagem binria.
extrao de bordas.
nmero de Euler.
operadores morfolgicos.
permetro de objetos em imagem binria.

Projeto de filtros FIR:


fsamp2
fspecial
ftrans2
fwind1
fwind2

projeto de filtros FIR 2-D atravs de amostragem em freqncia.


filtros 2-D especiais.
projeto de filtros FIR 2-D atravs de transformao de freqncia.
projeto de filtros FIR 2-D FIR utilizando janelas 1-D.
projeto de filtros FIR 2-D FIR utilizando janelas 2-D.

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

Roteir os de Labor atr io de Pr ocessamento de Imagens


imnoise

269

rudo em imagem.

Resposta em freqncia:
freqspace
freqz2

espaamento de freqncia para respostas em freqncia 2-D.


resposta em freqncia bidimensional.

Filtragem:
colfilt
conv2
filter2
medfilt2
mfilter2
nlfilter
wiener2

filtragem no-linear local por colunas.


convoluo bidimensional (biblioteca do MATLAB).
filtragem bidimensional (biblioteca do MATLAB).
filtro da mediana bidimensional.
filtro mascarado.
filtragem no-linear local.
filtro adaptativo de Wiener 2-D.

Processamento em blocos:
bestblk
blkproc
col2im
colfilt
im2col

melhor tamanho de bloco para processamento em blocos.


processa uma imagem em blocos.
reordena blocos de colunas distintas ou deslizantes para formar imagem.
filtragem no-linear local por colunas.
reordena blocos distintos ou deslizantes para formar colunas.

Regio de interesse (ROI):


mfilter2
roipoly
roicolor

filtro mascarado.
define regio de interesse poligonal.
define regio de interesse por cor.

Transformadas:
dct2
fft2
fftshift
idct2
ifft2
radon

transformada do cosseno discreto bidimensional.


transformada rpida de Fourier bidimensional (biblioteca do MATLAB).
move componente de ordem zero para o centro (biblioteca do MATLAB).
transformada do cosseno discreto bidimensional inversa.
transformada rpida de Fourier 2-D inversa (biblioteca do MATLAB).
transformada de Radon.

Converses:
dither
gray2ind
hsv2rgb
im2bw
imslice
ind2gray
ind2rgb
mat2gray
ntsc2rgb
rgb2gray
rgb2hsv
rgb2ind

dithering pelo mtodo de Floyd-Steinberg.


converte imagem em nveis de cinza para imagem indexada.
converte valores HSV para espao de cores RGB (biblioteca do MATLAB).
converte imagem para preto e branco por limiarizao.
obtm/coloca slices de imagem em um deck de imagens.
converte imagem indexada para imagem em nveis de cinza.
converte imagem indexada para imagem RGB.
converte matriz para imagem em nveis de cinza.
converte valores NTSC para o espao de cores RGB.
converte valores RGB para cinza.
converte valores RGB para o espao de cores HSV(biblioteca do MATLAB).
converte imagem RGB para imagem indexada.

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

270
rgb2ntsc

converte valores RGB para o espao de cores NTSC.

Apresentao:
colorbar
colormap
gray
hsv,hot,jet
image
imagesc
imcontour
immovie
imshow
montage
subimage
warp

apresenta barra de cores (escala de cores).


define ou obtm a tabela de consulta de cores (biblioteca do MATLAB).
mapa de cores linear de nveis de cinza (biblioteca do MATLAB).
mapas de cores. Digite help color para outros (biblioteca do MATLAB).
apresenta imagem indexada (biblioteca do MATLAB).
ajusta dados e apresenta como imagem (biblioteca do MATLAB).
contorno da imagem.
faz um filme de um deck de imagens.
apresenta todos os tipos de imagens.
apresenta um deck de imagens como uma montagem retangular.
apresenta mltiplas imagens.
realiza warp da imagem sobre uma superfcie.

Demonstraes:
imdemo
dctdemo
firdemo
nlfdemo

demonstrao geral de processamento de imagens.


demonstrao de compresso de imagens atravs da DCT 2-D.
demonstrao de filtragem FIR 2-D.
demonstrao de filtragem no-linear 2-D.

Funes privativas:
cumsum3d
dct
dctmtx2
ditherc
elem3d
getline
getpts
getrect
gif
hdfreadc
hdfpeekc
hdfwc
idct
im2gray
imhistc
ndx3d
rgb2im
rle
size3d
tiff
ungif
unrle
untiff
vmquant

soma cumulativa em matriz 3-D acomodada em matriz 2-D.


transformada do cosseno discreto 1-D.
matriz de transformao DCT 2-D unitria.
arquivo MEX para dithering.
posies de elementos de matriz 3-D acomodada em matriz 2-D.
rastreio de movimento do mouse com linha elstica.
rastreio de movimento do mouse com pontos visveis.
rastreio de movimento do mouse com retngulo elstico.
comprime dados em formato GIF.
arquivo MEX para ler arquivos HDF.
arquivo MEX para listar contedo de arquivos HDF.
arquivo MEX para escrever arquivos HDF.
transformada do cosseno discreto 1-D inversa.
converte imagens para nveis de cinza.
arquivo MEX para clculo de histograma de imagens.
ndice de matriz 3-D acomodada em matriz 2-D.
converte imagens RGB para imagens indexadas ou em nveis de cinza.
comprime dados pelo mtodo RLE.
tamanho da matriz 2-D para acomodar matriz 3-D.
comprime dados em formato TIFF RLE.
descomprime dados em formato GIF.
descomprime dados pelo mtodo RLE.
descomprime dados em formato TIFF RLE.
arquivo M de interface para o arquivo MEX para quantizao de cor.

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

Roteir os de Labor atr io de Pr ocessamento de Imagens


vmquantc
waitbar

271

arquivo MEX para quantizao de cor.


apresenta barra de progresso.

Arquivos MAT:
bwmorph.mat
forest.mat
mri.mat
trees.mat

B.4.

tabelas de consulta para a funo bwmorph.m.


foto digitalizada: Carmanah Old Growth Forest.
imagens de ressonncia magntica da cabea de um homem.
imagem digitalizada: "Trees with a view" Susan Cohen.

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.
2.
3.
4.
5.
6.
7.

Fundamentos de operao da toolbox de processamento de imagens do MATLAB.


Operaes lgicas, aritmticas e estatsticas com imagens.
Transformaes geomtricas e verificao de nveis de cinza de pixels.
Mtodos ponto-a-ponto de realce e anlise de imagens.
Filtragem no domnio espacial.
Transformadas de Fourier (FFT) e filtragem no domnio da freqncia.
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/"

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

272

Prtica 1
Fundamentos da toolbox de processamento de imagens do MATLAB
Objetivos:
1.
2.
3.
4.

Conhecer os aspectos bsicos da ferramenta de trabalho para estas prticas.


Conhecer os tipos de imagens com que trabalha o programa.
Familiarizar-se com os sistemas de coordenadas existentes.
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 ...
Imagem indexada
Imagem indexada
Imagem indexada
Imagem de intensidade
Imagem de intensidade
Imagem de intensidade

Em...
Imagem binarizada
Imagem de intensidade
Imagem RGB
Imagem binarizada
Imagem indexada
Imagem RGB

Imagem RGB
Imagem RGB
Imagem RGB
Imagem binarizada
Matriz
Deck

Imagem indexada
Imagem de intensidade
Imagem binarizada
Imagem indexada
Imagem de intensidade
Imagem (subdeck)

Use...
roicolor, roipoly, im2bw
ind2gray
ind2rgb
edge, im2bw, roicolor, roipoly
grayslice, gray2ind

a matriz original de intensidade para todos


os 3 componentes R, G e B
rgb2ind
rgb2gray
im2bw
gray2ind
mat2gray
imslice

Alm disso, o programa permite importar e exportar imagens nos formatos: GIF, TIFF,
HDF, BMP, XWD ou PCX.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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

2
2
3
2

1
3
2
1

3
1
2
1_

Convert-la em uma imagem com trs nveis de cinza, usando:


I = mat2gray(A)

4.

Exibi-la com trs nveis de cinza1 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)

Apesar do valor 3 no ser uma potncia inteira positiva de 2, a funo imshow aceita-o como
parmetro.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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

15.

0
1
1
1
0

1
1
1
1
1

0
1
1
1
0

0;
0;
1;
0;
0_

...
...
...
...

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 seqncia2:
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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_)

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

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
load
Y1 =
map1
Y1 =
M1 =
BW1=

= ]5, 5, 100, 100_;


trees
X;
= map;
imcrop(Y1,rect);
ind2gray(Y1, map1);
im2bw(Y1,map1,.5);

load kids
Y2 = X;
map2 = map;
Y2 = imcrop(Y2,rect);
M2 = ind2gray(Y2, map2);
BW2=im2bw(Y2,map2,.3);
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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),
subplot(2,3,2),
subplot(2,3,3),
subplot(2,3,4),
subplot(2,3,5),
subplot(2,3,6),

imshow(BW1,2), title('BW1')
imshow(BW2,2), title('BW2')
imshow(BW3,2), title('BW3')
imshow((BW1+BW2),2), title('BW1+BW2')
imshow((BW1+BW3),2), title('BW1+BW3')
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),
subplot(3,3,2),
subplot(3,3,3),
subplot(3,3,4),
subplot(3,3,5),
subplot(3,3,6),
subplot(3,3,7),
subplot(3,3,8),
subplot(3,3,9),

imshow(BW1,2), title('BW1')
imshow(BW2,2), title('BW2')
imshow(BW3,2), title('BW3')
imshow((BW1-BW2),2), title('BW1-BW2')
imshow((BW2-BW1),2), title('BW2-BW1')
imshow((BW3-BW1),2), title('BW3-BW1')
imshow((BW1-BW3),2), title('BW1-BW3')
imshow((BW2-BW3),2), title('BW2-BW3')
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),
subplot(2,3,2),
subplot(2,3,3),
subplot(2,3,4),
subplot(2,3,5),
subplot(2,3,6),

imshow(M1,256), title('M1')
imshow(M2,256), title('M2')
imshow(M3,256), title('M3')
imshow((M1+M2),256), title('M1+M2')
imshow((M1+M3),256), title('M1+M3')
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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),
subplot(2,3,2),
subplot(2,3,3),
subplot(2,3,4),
subplot(2,3,5),
subplot(2,3,6),

imshow(M1,256), title('M1')
imshow(M2,256), title('M2')
imshow(M3,256), title('M3')
imshow((M1.*M2),256), title('M1*M2')
imshow((M1.*M3),256), title('M1*M3')
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),
subplot(3,3,2),
subplot(3,3,3),
subplot(3,3,4),
subplot(3,3,5),
subplot(3,3,6),
subplot(3,3,7),
subplot(3,3,8),
subplot(3,3,9),

imshow(M1,256), title('M1')
imshow(M2,256), title('M2')
imshow(M3,256), title('M3')
imshow((M1./M2),256), title('M1/M2')
imshow((M2./M1),256), title('M2/M1')
imshow((M3./M1),256), title('M3/M1')
imshow((M1./M3),256), title('M1/M3')
imshow((M2./M3),256), title('M2/M3')
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),
subplot(3,3,2),
subplot(3,3,3),
subplot(3,3,4),
subplot(3,3,5),
subplot(3,3,6),

imshow(M1,256), title('M1')
imshow(M2,256), title('M2')
imshow(M3,256), title('M3')
imshow(abs(M1-M2),256), title('M1 DIF M2')
imshow(abs(M2-M3),256), title('M2 DIF M3')
imshow(abs(M3-M1),256), title('M3 DIF M1')

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

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),
subplot(2,3,2),
subplot(2,3,3),
subplot(2,3,4),
subplot(2,3,5),
subplot(2,3,6),

imshow(BW1,2), title('BW1')
imshow(BW2,2), title('BW2')
imshow(BW3,2), title('BW3')
imshow((BW1&BW2),2), title('BW1 and BW2')
imshow((BW1&BW3),2), title('BW1 and BW3')
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)

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

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)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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 fazlo, 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);
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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
v1 =
x1 =
y1 =
v2 =

trees
impixel(X,map,21,151)
[2 3 4 5 7]
[7 8 9 10 12]
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.

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

284

Prtica 4
Mtodos ponto-a-ponto de realce e anlise de imagens
Objetivos:
1.
2.
3.
4.

Obter e interpretar o histograma de uma imagem.


Conhecer o efeito da aplicao de funes de transformao de intensidade a imagens.
Aprimorar o contraste de uma imagem atravs da equalizao de seu histograma.
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 = xi, 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)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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, prdefinida no mapa de cores prism:
load spine
I = ind2gray(X,map);
imshow(I,128)
Y = grayslice(I,6);
imshow(Y,prism(6)); colorbar

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

286

Roteir os de Labor atr io de Pr ocessamento de Imagens

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)

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

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 4vizinhos 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)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

288
4.

Roteir os de Labor atr io de Pr ocessamento de Imagens


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)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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);
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

290

Roteir os de Labor atr io de Pr ocessamento de Imagens

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
for i=1:lin, for j=1:col, if L1(i,j)>N
L1 = L1/N;
L2=filter2(m2,K);
[lin, col] = size(L2);
for i=1:lin, for j=1:col, if L2(i,j)<0
for i=1:lin, for j=1:col, if L2(i,j)>N
L2 = L2/N;
L3=filter2(m3,K);
[lin, col] = size(L3);
for i=1:lin, for j=1:col, if L3(i,j)<0
for i=1:lin, for j=1:col, if L3(i,j)>N
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)

L1(i,j)=0; end, end, end


L1(i,j)=N; end, end, end

L2(i,j)=0; end, end, end


L2(i,j)=N; end, end, end

L3(i,j)=0; end, end, end


L3(i,j)=N; end, end, end

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

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));
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

292

Roteir os de Labor atr io de Pr ocessamento de Imagens


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.

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

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.

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

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 resultado5.
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 imagem6. 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)

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

296

Roteir os de Labor atr io de Pr ocessamento de Imagens


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)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Roteir os de Labor atr io de Pr ocessamento de Imagens

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)

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

Roteir os de Labor atr io de Pr ocessamento de Imagens

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

300

Glossr io

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 D4 - distncia medida atravs da soma dos mdulos das diferenas entre as
coordenadas dos pixels em questo.
Distncia D8 - 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.

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

Glossr io

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.

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

302

Glossr io

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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

Glossr io

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 8conectividade, 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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.

304

Glossr io

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.

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

Glossr io

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.

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

306

Glossr io

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.

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

Glossr io

307

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

Figuras Coloridas
Captulo 3

(a)

(c)
(d)
(b)
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.

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

Você também pode gostar