Escolar Documentos
Profissional Documentos
Cultura Documentos
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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
ii
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Agradecimentos
Inmeras pessoas colaboraram, direta ou indiretamente para a concretizao deste projeto e a
elas dedicamos nossa eterna gratido.
Editora Brasport, em especial ao Sr. Srgio Martins, pela confiana depositada na
importncia deste trabalho e na seriedade de seus autores.
Ao Sr. Joaquim Guerreiro, da Guerreiro Livros Tcnicos de Curitiba, amigo de longa
data, pela sua generosidade e pelo apoio decisivo para a materializao desta obra.
Aos familiares e verdadeiros amigos que apoiaram esta e outras iniciativas, nosso
sincero reconhecimento.
Aos professores e orientadores do Philips International Institute, Philips Research
Laboratories e Delft University of Technology, particularmente Bart de Greef, D. E. Boekee e
Harald Ihle, por terem guiado nossos primeiros passos nesta rea de estudo e pesquisa, nossa
sincera gratido.
Nosso agradecimento a todos os colegas docentes do Centro Federal de Educao
Tecnolgica do Paran - CEFET-PR, em especial a lvaro Stelle, Maria Gertrudes Te
Vaarwerk, Paulo Roberto Brero de Campos e Walter Godoy Junior, e particularmente ao
colega Humberto Remigio Gamba, pela paciente reviso dos originais.
A outros autores que nos inspiraram a trilhar o mesmo rumo, dentre eles: Borko
Furht, Juarez do Nascimento, Raul Marques Pereira Friedmann e Volnei Antonio Pedroni.
Ao apoio das bibliotecrias Arlene de Oliveira Dias, Mrcia Andreiko e Marilene do
Rocio Veiga.
Agradecemos de forma especial aos alunos e ex-alunos que dedicaram seus esforos
na pesquisa e implementao de tcnicas de Processamento Digital de Imagens, dentre eles:
Aderbal Paz, Alex Holztratner, Alsemiro Alves Junior, Augusto Serbena, Carlos Alberto
Jayme, Carlos Alberto Zanella, Ciro de Carvalho Braga, Cludio Navarro, Dalton Roberto
Maran Salvatti, Daniel Gri Palka, Diego de Alves e Souza, Domingo Edmundo Saucedo,
Edson Luis Morais, Eduardo Nascimento de Freitas, Eduardo Saito, Emanuel-Werner
Kohlscheen, Emerson Kamogari, Emerson Luis Parolin, Fabiana Leskiu Marques, Fabio Luis
Ur, Fbio Luiz de Andrade, Fbio Morais da Costa, Gilson Yukio Sato, Hlio Okuyama,
Horst Lindner Junio, Ildio Dinis Matola, Jefferson Osowsky, Joo Cadamuro Junior, Julio
Fujisawa, Leonardo Carvalho Neto, Luiz Renato Quinalha, Manoel Garbuio de Souza,
Marcelo Diogo dos Santos, Marcelo Mazzotti, Marcelo Monteiro, Marcos Alberto Lopes,
Marcos Francisco Canali, Maurcio Hadime Suzuki, Otvio Sugeno, Ricardo Schmidlin
Imbiriba, Rodrigo Nasts Acras, Sacha Tadeu Branco, Srgio Kubo, Srgio L. Rocha Loures,
Sergio Luis Resnauer, Silvio Cezar Bortolini, Simone Crocetti Pereira, Wilson Kawano e
Zundir Buzzi Junior.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
iv
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Sumrio
Prefcio xix
Captulo 1 Introduo 1
1.1 Processamento de Imagens: breve histrico e exemplos de
aplicaes 1
Exerccios Propostos 11
Na Internet 11
Bibliografia 15
Bibliografia Recomendada 16
Exerccios Propostos 48
No computador 51
Na Internet 51
Bibliografia 52
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
No computador 134
Na Internet 135
Bibliografia 136
No computador 164
Na Internet 164
Bibliografia 164
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
vii
No computador 221
Na Internet 221
Bibliografia 222
Na Internet 239
Bibliografia 240
Na Internet 261
Bibliografia 262
Imagens 267
Na Internet 298
Bibliografia 298
Glossrio 299
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
viii
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Contedo
Prefcio xix
Captulo 1 Introduo 1
1.1 Processamento de Imagens: breve histrico e exemplos de
aplicaes 1
1.2.2 Armazenamento 2
1.2.3 Processamento 3
1.2.4 Transmisso 4
1.2.5 Exibio 4
1.4.4 Pr-processamento 9
1.4.5 Segmentao 10
Exerccios Propostos 11
Na Internet 11
Bibliografia 15
Bibliografia Recomendada 16
2.1.2 Digitalizao 22
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
x
2.2.1 Vizinhana 25
2.2.2 Conectividade 26
2.2.3 Adjacncia 27
2.2.4 Caminho 27
Distncia Euclidiana 27
Distncia D4 (city-block) 27
2.5.3 Translao 44
2.5.4 Rotao 44
2.5.6 Warping 45
Exerccios Propostos 48
No computador 51
Na Internet 51
Bibliografia 52
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xi
Exerccios Propostos 77
No computador 79
Na Internet 79
Bibliografia 80
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xii
Separabilidade 103
Translao 104
Distributividade 105
Rotao 105
Escala 106
Laplaciano 107
Convoluo 107
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xiii
No computador 134
Na Internet 135
Bibliografia 136
No computador 164
Na Internet 164
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xiv
Bibliografia 164
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xv
Quantizao 205
Codificador 211
Decodificador 211
MPEG-4 218
MPEG-7 218
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
Impressoras 230
Plotters 231
Na Internet 239
Bibliografia 240
Na Internet 261
Bibliografia 262
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
xvii
Imagens 267
imagens 284
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.
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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Captulo 1
Introduo
1
"http://www.jpl.nasa.gov"
2
"http://www.jpl.nasa.gov/missions/ranger/"
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
2 Intr oduo
Leitura complementar
Mascarenhas [Mascarenhas 1990] apresenta um abrangente texto introdutrio aos assuntos
abordados neste livro.
Monitores de Vdeo
Cmeras de Vdeo
Computador Impressoras
Scanners
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 3
de massa para operaes de recuperao de imagens relativamente rpidas, e (3) arquivamento
de imagens, para recuperao futura quando isto se fizer necessrio. O espao de
armazenamento requerido normalmente especificado em bytes (8 bits) e seus mltiplos: KB
(kilobyte 1000 bytes), MB (megabyte 1 milho de bytes), GB (gigabyte 1 bilho de bytes)
e TB (terabyte 1 trilho de bytes). O captulo 7 discute aspectos de armazenamento de
imagens em maior profundidade.
Para o armazenamento de curta durao, a alternativa mais simples utilizar parte da
memria RAM do computador principal. Outra opo consiste no uso de placas especializadas,
chamadas frame buffers, que armazenam uma ou mais imagens completas e podem ser
acessadas a uma alta velocidade, tipicamente 30 imagens completas por segundo. O uso de
frame buffers permite tambm que operaes de zoom (ampliao ou reduo para fins de
visualizao), scroll (rolagem na vertical) e pan (rolagem na horizontal) sejam executadas de
forma praticamente instantnea. Placas frame buffers disponveis no mercado atualmente
apresentam capacidade de armazenamento na faixa de alguns MB de memria.
A segunda categoria de armazenamento normalmente requer o uso de discos magnticos
de no mnimo algumas centenas de MB e recentemente passou a utilizar tambm discos
magneto-pticos, por vezes agrupados em jukeboxes contendo de 30 a 100 discos. Nesta
categoria o fator 'tempo de acesso' to ou mais importante que a capacidade (em bytes) do
meio de armazenamento. Atravs de clculos simples (n de pixels na horizontal x n de pixels
na vertical x n de bits necessrios para a escala de cinza / 8), pode-se estimar a quantidade de
bytes necessrios para armazenar uma imagem monocromtica em disco. Este clculo entretanto
considera uma imagem representada como uma matriz, cujos elementos so os valores de tons
de cinza dos respectivos pixels.3 Na prtica, informaes adicionais (tamanho da imagem e
nmero de cores ou tons de cinza, no mnimo) so necessrias. Estas informaes costumam ser
colocadas em um cabealho (header) no incio do arquivo. Infelizmente, no existe um nico
cabealho ou formato de armazenamento de imagens padronizados. Alguns dos formatos mais
comuns so o BMP, PCX, TIFF, JPEG e GIF. Estes formatos de arquivos de imagem, alm de
muitos outros, so apresentados no Apndice A.
Finalmente, o arquivamento de imagens caracterizado por quantidades gigantescas de
bytes contendo imagens cuja recuperao espordica. Nesta categoria, as fitas magnticas
esto dando lugar aos discos pticos WORM (Write-Once-Read-Many), com capacidade que
pode chegar a mais de 10 GB por disco, e que tambm podem ser agrupados em jukeboxes, com
capacidade total de armazenamento superior a 1 TB.
1.2.3 Processamento
O processamento de imagens digitais envolve procedimentos normalmente expressos sob forma
algortmica. Em funo disto, com exceo das etapas de aquisio e exibio, a maioria das
funes de processamento de imagens pode ser implementada via software. O uso de hardware
especializado para processamento de imagens somente ser necessrio em situaes nas quais
certas limitaes do computador principal (por exemplo, velocidade de transferncia dos dados
atravs do barramento) forem intolerveis.
A tendncia atual do mercado de hardware para processamento de imagens a
comercializao de placas genricas compatveis com os padres de barramento consagrados
pelas arquiteturas mais populares de microcomputadores e estaes de trabalho. O software de
controle destas placas que determinar sua aplicao especfica a cada situao. As vantagens
mais imediatas so: reduo de custo, modularidade, reutilizao de componentes de software
em outra aplicao rodando sobre o mesmo hardware e independncia de fornecedor. Convm
notar, entretanto, que sistemas dedicados continuam sendo produzidos e comercializados para
atender a tarefas especficas, tais como processamento de imagens transmitidas por satlites.
3
Para imagens coloridas, a situao um pouco mais complexa. Normalmente estes nmeros sero
ndices (endereos) de uma tabela de cores, denominada palheta ou palette. Para maiores detalhes, veja a
seo 4.6 e o Resumo da Teoria da Prtica de Laboratrio n 1.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
4 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 5
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
6 Intr oduo
Figura 2 - Vista em corte do olho humano (adaptado de Gonzalez, R.C., Woods, R.E., Digital
Image Processing, Addison-Wesley, 1992).
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Intr oduo 7
Limite de Claridade
Gama de adaptao
Brilho Subjetivo
Ba
Bb
Escotpica
Fotpica
Limiar Escotpico
-6 -4 -2 0 2 4
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
8 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.
2-D e 3-D Pode executar tarefas 3-D e com Executa tarefas 2-D com relativa
mltiplos comprimentos de onda facilidade, mas lento e limitado
(dentro do espectro de luz visvel) em tarefas 3-D.
facilmente.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Intr oduo 9
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
1.4.4 Pr-processamento
A imagem resultante do passo anterior pode apresentar diversas imperfeies, tais como:
presena de pixels ruidosos, contraste e/ou brilho inadequado, caracteres (especialmente os
dgitos do CEP) interrompidos ou indevidamente conectados etc. A funo da etapa de pr-
MARQUES 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.
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.
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.
4
Convm lembrar que a referncia a informaes disponveis na Internet est sujeita a problemas
decorrentes da natureza extremamente dinmica da rede. possvel que alguns links indicados neste livro
sejam removidos de seus servidores, transferidos para outros servidores ou estejam temporariamente fora
do ar.
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.
5
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.
[Gonzalez e Woods 1992] Gonzalez, R.C. e Woods, R.E., Digital Image Processing - Third
Edition, Addison-Wesley, 1992.
[Marr 1982] Marr, D., Vision: A Computational Investigation into the Human
Representation and Processing of Visual Information, W. H.
Freeman and Co., 1982.
[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
(0,0)
Y
Figura 1 - Uma imagem monocromtica e a conveno utilizada para o par de eixos (x,y).
1
Como o leitor deve ter notado, a posio e a direo dos eixos x e y so diferentes das utilizadas na
Geometria Analtica. Em Processamento de Imagens, a notao (x,y) pode ser entendida como (linha,
coluna). Convm observar que esta notao no est padronizada na literatura tcnica da rea.
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 ) < e
0 < r (x,y) < 1
I
R
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):
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 1 2 3 4 5 6 7 8
N
32 128 256 512 512 1.024 1.024 1.024 1.024
64 512 1.024 2.048 2.048 4.096 4.096 4.096 4.096
128 2.048 4.096 8.192 8.192 16.384 16.384 16.384 16.384
256 8.192 16.384 32.768 32.768 65.536 65.536 65.536 65.536
512 32.768 65.536 131.072 131.072 262.144 262.144 262.144 262.144
1.024 131.072 262.144 393.216 524.288 655.360 786.432 917.504 1.048.576
(b)
(a)
(d)
(c)
Figura 4 - Efeito da resoluo espacial na qualidade da imagem.
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.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
p p p
2.2.2 Conectividade
A conectividade entre pixels um importante conceito usado para estabelecer limites de objetos
e componentes de regies em uma imagem. Para se estabelecer se dois pixels esto conectados,
necessrio determinar se eles so adjacentes segundo algum critrio e se seus nveis de cinza
satisfazem a um determinado critrio de similaridade. Por exemplo, em uma imagem binria,
onde os pixels podem assumir os valores 0 e 1, dois pixels podem ser 4-vizinhos, mas somente
sero considerados 4-conectados se possurem o mesmo valor.
Seja V o conjunto de valores de tons de cinza utilizados para se definir a conectividade.
Por exemplo, numa imagem binria, V = {1} para a conexo de pixels com valor 1. Numa
imagem de mltiplos tons de cinza, para a conexo de pixels com valores de intensidade na
faixa de 32 a 64, V = {32, 33, ..., 63, 64}. Conhecendo o conceito de vizinhana e dado o
conjunto V, podemos definir os seguintes critrios de conectividade:
1. "4-conectividade": dois pixels p e q com valores de tom de cinza contidos em V, so "4-
conectados" se q N4(p).
2. "8-conectividade": dois pixels p e q com valores de tom de cinza contidos em V, so "8-
conectados" 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 1 0 1 1 0 1 1 0
0 1 0 0 1 0 0 1 0
1 0 0 1 0 0 1 0 0
(a) (b) (c)
Figura 7 - (a) Segmento de imagem binria, (b) 8-vizinhos do pixel central, (c) m-vizinhos do
pixel central.
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.
Distncia Euclidiana
(2.4)
De ( p, q ) ? ( x / s) 2 - ( y / t ) 2
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)
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
Exerccio resolvido
Seja o trecho de imagem binria a seguir:
p3 p4
p1 p2
p
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.
opn
X Y Z
2
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 100 220 230
X ? 0 10 50 Y ? 45 95 120
50 250 120 205 100 0
Soluo:
(b) Fazendo com que a escala [45, 350] seja adequada ao intervalo [0, 255], utilizando-se a
relao
255
g? ( f / f min ) ,
f max / f min (2.7)
obtm-se:
213 230 238
0 50 105
175 255 63
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
30 Fundamentos de Imagens Digitais
3
O processo de normalizao de brilho consiste em adequar a faixa total de nveis de cinza a um
intervalo pr-definido, de forma semelhante ao efetuado na parte (b) do Exerccio Resolvido desta seo.
4
A calibrao de brilho um processo semelhante normalizao de brilho, mas que pode estar
relacionado adequao a diferentes valores de iluminncia sobre uma mesma cena, por exemplo.
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).
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
32 Fundamentos de Imagens Digitais
X Y
(a) (b)
X and Y X or Y
(c) (d)
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 33
(a) (b)
Figura 17 - Exemplo de operao NOT sobre imagem monocromtica: (a) X, (b) NOT X.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
34 Fundamentos de Imagens Digitais
Z1 Z2 Z3
Z4 Z5 Z6
Z7 Z8 Z9
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 , (2.8)
i ?1
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.
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 0 1 2 3 2 1 0
B -1 3 1
A*B 1
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 8 3 4 6 2 3 7
3 2 1 1 9 5 1 0
0 9 5 3 0 4 8 3
4 2 7 2 1 9 0 6
9 7 9 8 0 4 2 4
5 2 1 8 4 1 0 9
1 8 5 4 9 2 3 8
3 7 1 2 3 4 4 6
20 10 2 26 23 6 9 4
18 1 -8 2 7 3 3 -11
14 22 5 -1 9 -2 8 -1
29 21 9 -9 10 12 -9 -9
21 1 16 -1 -3 -4 2 5
15 -9 -3 7 -6 1 17 9
21 9 1 6 -2 -1 23 2
9 -5 -25 -10 -12 -15 -1 -12
1x8
1x5 (-2x0)+(-1x0)+(0x0)+
-1x0 (-1x0)+(1x5)+(1x8)+
(0x0)+(1x3)+(2x2)=20
-2x0 0x0
-1x0 20
0x0
1x3
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.
/1 /1 /1
/1 8 /1
/1 /1 /1
/1 / 1 / 1 /1 2 / 1
2 2 2 /1 2 /1
/1 /1 /1 /1 2 /1
/1 / 1 2 2 /1 / 1
/1 2 /1 /1 2 /1
2 /1 /1 /1 /1 2
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
38 Fundamentos de Imagens Digitais
2f 2f
2 f ( x, y) ? -
x2 y2 (2.9)
/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
0 /1 0 /1 /1 /1 /1 /1 /1 /1 8 8 8 /1 /1 /1
/1 4 /1 /1 /1 24 /1 /1 /1 /1 /1 8 8 8 /1 /1 /1
0 /1 0 /1 /1 /1 /1 /1 /1 /1 /1 8 8 8 /1 /1 /1
/1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1 /1
/1 /1 /1 /1 /1 /1 /1 /1 /1
/1 /1 /1 /1 /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 Prewitt Kirsch Robinson 3 Robinson 5
da borda grad. nveis nveis
1 1 1 5 5 5 1 1 1 1 2 1
0 N 1 -2 1 -3 0 -3 0 0 0 0 0 0
-1 -1 -1 -3 -3 -3 -1 -1 -1 -1 -2 -1
1 1 1 5 5 -3 1 1 0 2 1 0
1 NO 1 -2 -1 5 0 -3 1 0 -1 1 0 -1
1 -1 -1 -3 -3 -3 0 -1 -1 0 -1 -2
1 1 -1 5 -3 -3 1 0 -1 1 0 -1
2 O 1 -2 -1 5 0 -3 1 0 -1 2 0 -2
1 1 -1 5 -3 -3 1 0 -1 1 0 -1
1 -1 -1 -3 -3 -3 0 -1 -1 0 -1 -2
3 SO 1 -2 -1 5 0 -3 1 0 -1 1 0 -1
1 1 1 5 5 -3 1 1 0 2 1 0
-1 -1 -1 -3 -3 -3 -1 -1 -1 -1 -2 -1
4 S 1 -2 1 -3 0 -3 0 0 0 0 0 0
1 1 1 5 5 5 1 1 1 1 2 1
-1 -1 1 -3 -3 -3 -1 -1 0 -2 -1 0
5 SE -1 -2 1 -3 0 5 -1 0 1 -1 0 1
1 1 1 -3 5 5 0 1 1 0 1 2
-1 1 1 -3 -3 5 -1 0 1 -1 0 1
6 E -1 -2 1 -3 0 5 -1 0 1 -2 0 2
-1 1 1 -3 -3 5 -1 0 1 -1 0 1
1 1 1 -3 5 5 0 1 1 0 1 2
7 NE -1 -2 1 -3 0 5 -1 0 1 -1 0 1
-1 -1 1 -3 -3 -3 -1 -1 0 -2 -1 0
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
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:
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.
(a) (b)
(c)
Figura 26 - (a) Imagem original, (b) flip horizontal, (c) flip vertical.
2.5.6 Warping
Warping o nome dado ao processo de alterao de uma imagem de tal modo que a relao
espacial entre seus objetos e caractersticas alterada conforme outra imagem ou gabarito
(template).
A transformao matemtica mais comum baseada na projeo afim (affine
projection), dada pelas equaes:
aX - bY - c
X'?
iX - jY - 1 (2.12)
dX - eY - f
Y' ? (2.13)
iX - jY - 1
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.
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.
(3,3)
(4,0) (4,4) (4,0)
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:
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 S2
0 1 0 0 0 1 0 0 0 0
1 0 0 1 0 0 0 0 1 0
1 0 1 1 0 1 1 1 0 1
1 0 1 1 1 0 0 0 1 0
0 0 0 1 0 0 1 0 0 0
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
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 1
1
Imagem Original
As expresses so:
B1 = p b g (d e) d e (b g)
B2 = p [(a b d) (e g h) (b c e) (d f g)]
B3 = PQV"(p) (d f g) PQV"(a b c e h) p
B4 = PQV"(p) (a b d) PQV"(c e f g h) p
B5 = PQV"(p) (e g h) PQV"(a b c d f) p
B6 = PQV"(p) (b c e) PQV"(a d f g h) p
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
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).
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
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s1/front-
page.html"
Edge Detection I
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s2/front-
page.html"
Edge Detection II
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s5/front-
page.html"
Cor r elation
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s6/front-
page.html"
Image Enlar gement
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s7/front-
page.html"
Image Reduction
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s1/front-
page.html"
Convolution Pr inciples
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c2/s9/front-
page.html"
Tr anslation, Rotation, Scaling / Geometr ic Tr ansfor mations I
Bibliografia
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.
[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.
[Pavlidis 1982] Pavlidis, T., Algorithms for Graphics and Image Processing,
Computer Science Press, 1982.
[Prosise 1994a] Prosise, J., "Make Your Digital Images Shine", PC Magazine, 13
de Setembro de 1994, 319-322.
[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
nk (3.1)
pr * rk + ?
n
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.
56 Tcnicas de Modificao de Histogr ama
0,35
0,3
0,25
0,2
0,15
0,1
0,05
0
Nvel de cinza (r k )
1
Convm observar que os conceitos de alto e baixo contraste neste caso somente esto relacionados ao
espaamento mdio entre as raias do histograma. J o termo 'bom contraste' deve ser utilizado com
cautela, pois pode exprimir distribuio equitativa das raias ao histograma ao longo da escala de cinza /
como foi utilizado neste caso / ou uma opinio subjetiva sobre a qualidade de uma imagem, que no
poderia ser extrada somente da observao de seu histograma.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Tcnicas de Modificao de Histogr ama 57
(a)
(b)
(c)
(d)
(e)
Figura 2 - Exemplos de histogramas.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
58 Tcnicas de Modificao de Histogr ama
(a) (b)
(c) (d)
(e)
Figura 3 - Imagens correspondentes aos histogramas da figura 2.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Tcnicas de Modificao de Histogr ama 59
podem ser extradas dispondo-se da imagem propriamente dita. Tal fato pode ser confirmado a
partir de uma anlise das figuras 2 e 3.
Leitura complementar
Para uma reviso da teoria bsica de probabilidade, sugerimos [Ross 1994].
O captulo 9 de [Lindley 1991] e o artigo de Dawson [Dawson 1987] apresentam
cdigo-fonte em C para clculo e exibio de histogramas de imagens monocromticas.
O captulo 3 de [Pavlidis 1982] apresenta algoritmos para obteno e equalizao do
histograma de uma imagem monocromtica.
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.
T(r)
Claro
Escuro
r
Escuro Claro
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
60 Tcnicas de Modificao de Histogr ama
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 g
255 255
c=1 c=2
b=32 b=32
0 f 0 f
255 255
Nveis de Cinza Nveis de Cinza
(a) (b)
g g
255 255
c=1 c=2
b=-32 b=-32
0 f 0 f
255 255
Nveis de Cinza Nveis de Cinza
(c) (d)
Figura 6 - Exemplos de transformaes de intensidade lineares.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Tcnicas de Modificao de Histogr ama 61
255
0 f
255
Nveis de Cinza
255
g? ( 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.
k k
nj
sk ? T ( r k ) ? ? pr (r j ) (3.6)
j ?0 n j ?0
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.
62 Tcnicas de Modificao de Histogr ama
A inversa desta funo dada por:
rk ? T /1 ( sk ) p/0 sk 1 (3.7)
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.
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.
Tcnicas de Modificao de Histogr ama 63
0,8
0,6
0,4
0,2
0
0 1 2 3 4 5 6 7
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,
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
64 Tcnicas de Modificao de Histogr ama
0,3
0,25
0,2
0,15
0,1
0,05
0
0 1 2 3 4 5 6 7
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Tcnicas de Modificao de Histogr ama 65
k k
nj
sk ? T ( r k ) ? ? pr (r j )
(3.8)
j ?0 n j ?0
k
vk ? G ( z k ) ? p z ( z j ) (3.9)
j ?0
z ? G /1 ( s) (3.10)
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.
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.
66 Tcnicas de Modificao de Histogr ama
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 v1 = 0 v2 = 0 v3 = 0,1
v4 = 0,3 v5 = 0,7 v6 = 0,9 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
s2 = 4/7 0,571 z5 s3 = 5/7 0,714 z5
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Tcnicas de Modificao de Histogr ama 67
0,4
0,35
0,3
0,25
0,2
0,15
0,1
0,05
0
0 1 2 3 4 5 6 7
0,6
0,5
0,4
0,3
0,2
0,1
0
0 1 2 3 4 5 6 7
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
68 Tcnicas de Modificao de Histogr ama
(a) (b)
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Tcnicas de Modificao de Histogr ama 69
3.5.1 Hiperbolizao
Esta tcnica, proposta originalmente por Frei [Frei 1977], consiste na modificao da imagem
original atravs de uma funo de transferncia tal que produza sada uma imagem cujo
histograma tenha forma hiperblica. Ela empregada principalmente para corrigir a equalizao
do histograma levando-se em conta a resposta visual do olho humano, que considerada
logartmica. Ou seja, a equalizao do histograma seria processada em duas etapas, sendo a
primeira a aplicao da tcnica de hiperbolizao e a segunda executada pela retina. A figura 14
mostra um exemplo de aplicao desta tcnica, comparando-a com a equalizao de histograma.
(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.
70 Tcnicas de Modificao de Histogr ama
(f)
(e)
(h)
(g)
Figura 15 - Continuao.
(a) (b)
Figura 16 - Expanso 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 71
(a) (b)
Figura 17 - Exemplo de aplicao da tcnica de expanso de histograma.
(a) (b)
Figura 18 - Compresso de histograma.
(a) (b)
Figura 19 - Exemplo de aplicao da tcnica de compresso de histograma.
Leitura complementar
O captulo 10 (sees 10.1 e 10.2) de [Pratt 1991] apresenta exemplos de diversas tcnicas de
modificao de histograma.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
72 Tcnicas de Modificao de Histogr ama
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
1 1
Objeto
Objeto
Fundo
0 f 0 f
T 255 T 255
Nveis de Cinza Nveis de Cinza
(a) (b)
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.
Tcnicas de Modificao de Histogr ama 73
(f)
(e)
(h)
(g)
Figura 21 - Continuao.
g ( x , y ) = 1 se f ( x , y ) T (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.
74 Tcnicas de Modificao de Histogr ama
(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.
f ( x, y) r ( x, y)
h( 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.
Tcnicas de Modificao de Histogr ama 75
(a) (b)
(c) (d)
(e) (f)
Figura 23 - Influncia da iluminao no processo de limiarizao.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
76 Tcnicas de Modificao de Histogr ama
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 )
(3.14)
u 2 P1
C ? o u / o u - 2u u ln(
2 2 2 2
) 2 2
2 1 1
u1 P2
2 1 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:
o1 - o 2 u2 P2
T? - ln( ) (3.15)
2 o1 / o 2 P1
o1 - o2
T?
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.
Tcnicas de Modificao de Histogr ama 77
passa-baixas para reduzir as irregularidades causadas por objetos pouco relevantes e/ou rudo e,
portanto, facilitar a deteo dos mnimos do histograma.
White e Rohrer [White e Rohrer 1983] descrevem um algoritmo de limiarizao
dinmica implementado em hardware como parte de um sistema de Reconhecimento ptico de
Caracteres (OCR).
Mardia e Hainsworth [Mardia e Hainsworth 1988] propem e comparam diversos
algoritmos de limiarizao espacial.
O captulo 2 de [Haralick e Shapiro 1992], a Seo 7.3 de [Gonzalez e Woods 1992] e a
Seo 5.1 de [Sonka et al. 1993] so dedicados ao problema da limiarizao.
Exerccios Propostos
1. Que efeito uma transformao de intensidade s = ri provocar em uma imagem
monocromtica com valores de nveis de cinza originais (r) normalizados na faixa de 0 a 1, caso
i > 1?
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.
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.
78 Tcnicas de Modificao de Histogr ama
c) Equalizar o histograma calculado utilizando a funo de distribuio de probabilidade
acumulada, informando os novos valores e plotando o histograma resultante (equalizado).
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 nk pr(rk) = nk/n
r0 = 0 2621 0,04
r1 = 1/7 0 0,00
r2 = 2/7 0 0,00
r3 = 3/7 5243 0,08
r4 = 4/7 7209 0,11
r5 = 5/7 12452 0,19
r6 = 6/7 24904 0,38
r7 = 1 13107 0,20
zk pz(zk)
0 0,27
1/7 0,16
2/7 0,19
3/7 0,16
4/7 0,11
5/7 0,06
6/7 0,03
1 0,02
Pede-se:
a) na imagem original predominam pixels claros ou escuros? Justifique.
b) caso a modificao de histograma seja bem sucedida, qual o provvel efeito desta
modificao na imagem original?
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Tcnicas de Modificao de Histogr ama 79
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/front-
page.html"
Thr esholding
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s6/front-
page.html"
Logar ithm Contr ast Enhancement
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s8/front-
page.html"
Exponential Contr ast Enhancement
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c1/s3/front-
page.html"
Image Statistics
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s4/front-
page.html"
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
80 Tcnicas de Modificao de Histogr ama
Histogr am Str etching Contr ast Enhancement
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s5/front-
page.html"
Histogr am Equalization
Bibliografia
[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.
[Galbiati, Jr. 1990] Galbiati, Jr., L.J., Machine Vision and Digital Image Processing
Fundamentals, Prentice-Hall, 1990.
[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.
[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.
[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
[Ross 1994] Ross, S., A First Course in Probability - 4th edition, Macmillan,
1994.
[Russ 1995] Russ, J. C., The Image Processing Handbook - 2nd ed., CRC
Press, 1995.
[Sonka et al. 1993] Sonka, M., Hlavac, V. e Boyle, R., Image Processing, Analysis
and Machine Vision, Chapman & Hall, 1993.
[White e Rohrer 1983] White, J.M. e Rohrer, G.D., "Image Thresholding for Optical
Character Recognition and Other Applications Requiring
Character Image Extraction", IBM J. Res. Develp., 27, 4, Julho
1983, 400-411.
[Woods e Gonzalez 1981] Woods, R.E. e Gonzalez, R.C., "Real-Time Digital Image
Enhancement", Proceedings of the IEEE, 69, 5, Maio 1981, 643-
654.
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
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
84 Filtr agem, Realce e Suavizao de Imagens
A vizinhana normalmente definida ao redor de (x,y) a 8-vizinhana do pixel de
referncia, o que equivale a uma regio 3 x 3 na qual o pixel central o de referncia, como
indica a figura 1. O centro dessa regio ou subimagem movido pixel a pixel, iniciando no
canto superior esquerdo da figura e aplicando a cada localidade o operador T para calcular o
valor de g naquele ponto.
(x,y)
Imagem
s = T(r) (4.2)
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)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Filtr agem, Realce e Suavizao de Imagens 85
remova componentes de alta freqncia (possivelmente ruidosos) de f(x,y). Isto poderia ser
obtido usando um filtro Butterworth passa-baixas, por exemplo.
A equao (4.3) descreve um processo espacial anlogo ao explicado na Seo 4.1.1 e
por esta razo h(x,y) freqentemente denominada mscara de convoluo espacial. A
converso de filtros projetados no domnio da freqncia para o domnio espacial e vice-versa
matematicamente possvel mas seu detalhamento foge ao escopo deste livro.
Leitura complementar
A Seo 4.5 de [Gonzalez e Woods 1992] detalha matematicamente o processo de gerao de
mscaras de convoluo correspondentes a um filtro especificado no domnio da freqncia.
4.2.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.
(a) (b)
Figura 2 - Fundamentos de sistemas lineares. Na parte (a) (domnio espacial), a sada do sistema
obtida atravs da convoluo de sua entrada com sua funo de resposta a impulso unitrio
(h(x,y)). Em (b) (domnio da freqncia), a sada do sistema o produto de sua funo de
transferncia (H(u,v)) pela entrada.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
86 Filtr agem, Realce e Suavizao de Imagens
0 f 0 f 0 f
t
0
t
0
t
0
Figura 3 - (Acima) Resposta em freqncia dos principais tipos de filtros. (Abaixo) Filtros
correspondentes no domnio espacial.
1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
1
1 1 1 1
1
1 1 1 1 1 1 1 1 1 1 1 1
9
1 1 1 25 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
(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.
Filtr agem, Realce e Suavizao de Imagens 87
(a) (b)
(c) (d)
Figura 5 - (a) Imagem original; (b)-(f) resultados da aplicao do filtro da mdia com mscara
de dimenses n x n, n = 3, 5, 7, 17, 31.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
88 Filtr agem, Realce e Suavizao de Imagens
(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.
Filtr agem, Realce e Suavizao de Imagens 89
(c) (d)
Figura 6 Continuao
.
(a) (b)
Figura 7 - (a) Imagem original; (b) imagem contaminada por rudo gaussiano; (c) resultado da
filtragem pelo filtro da mdia com mscara 3x3; (d) resultado da filtragem pelo filtro da mdia
com mscara 5 x 5.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
90 Filtr agem, Realce e Suavizao de Imagens
(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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Filtr agem, Realce e Suavizao de Imagens 91
MAXIMIN {S L } + MINIMAX {S L }
PMED {S L } = , onde :
2
L +1
para M = .
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.
92 Filtr agem, Realce e Suavizao de Imagens
(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.
Filtr agem, Realce e Suavizao de Imagens 93
(c) (d)
Figura 9 Continuao.
M
1
g( x, y) ?
M
g ( x, y)
i ?1
i (4.7)
E {g ( x , y )} ? f ( x , y ) (4.8)
1
u g( x, y) ? u j( x, y) (4.9)
M
1
u 2 g ( x, y) ? u 2j( x, y) (4.10)
M
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
94 Filtr agem, Realce e Suavizao de Imagens
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Filtr agem, Realce e Suavizao de Imagens 95
Exerccio resolvido
Considere o trecho de imagem digital a seguir, representado por uma matriz 5 x 5. Seja o pixel
central o pixel de referncia. Fornea o valor resultante do pixel central caso a imagem seja
processada:
a) pelo algoritmo da filtragem pela mediana utilizando janela 3 x 3.
b) pelo algoritmo da mdia utilizando janela 5 x 5.
c) pela mdia dos k vizinhos mais prximos, utilizando janela 5 x 5, sendo k = 9.
d) pelo algoritmo da pseudomediana utilizando janela 3 x 3.
121 20 198 84 4
87 188 189 99 8
88 115 134 49 19
16 18 187 98 9
12 103 15 176 38
Soluo:
a) Os 9 elementos sob a janela 3 x 3 so: {188, 189, 99, 115, 134, 49, 18, 187, 98}. Ordenando
esta lista, temos: {18, 49, 98, 99, 115, 134, 187, 188, 189}. Logo, o elemento mediano 115.
b) Calculando a mdia dos 25 pixels sob a mscara, obtemos: 83.
c) Os 9 vizinhos do pixel central cujos nveis de cinza mais se aproximam do valor 134 so:
{121, 84, 87, 99, 88, 115, 98, 103, 176}. Calculando a mdia desses valores, obtemos: 107,889
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 no-
linear) no domnio espacial.
Diversas outras tcnicas de filtragem no domnio espacial so resenhadas em [Arajo
1989].
(a) (b)
Figura 12 - (a) Imagem original; (b) imagem resultante aps filtragem passa-altas com a
mscara da figura 11.
f
x
f ? (4.11)
f
y
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Filtr agem, Realce e Suavizao de Imagens 97
2 2
f f
f ? mag*f + ? -
x y (4.12)
Outra aproximao, conhecida como gradiente de Roberts, utiliza as diferenas cruzadas, isto ,
na diagonal:
As equaes (4.14) e (4.16) podem ser implementadas usando mscaras de tamanho 2 x 2, como
as mostradas na figura 13, ou de dimenses 3 x 3, como por exemplo os operadores de Prewitt e
Sobel, apresentados na Seo 2.4.
1 -1 1 0
0 0 0 -1
1 0 0 1
-1 0 -1 0
(a) (b)
Figura 13 - Implementao do gradiente usando mscara 2 x 2: (a) gradiente convencional; (b)
gradiente de Roberts.
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:
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
98 Filtr agem, Realce e Suavizao de Imagens
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 (4.19)
/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 99
(c) (d)
Figura 15 - Continuao.
onde j ? /1 .
Dado F(u), f(x) pode ser obtida calculando-se a transformada inversa de Fourier (IFT)
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.
100 Filtr agem, Realce e Suavizao de Imagens
A FT de uma funo real , geralmente, um valor complexo1, ou seja,
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
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
u
x -4 -3 -2 -1 0 1 2 3 4
0 X
X X X X X X X X
(a) (b)
Figura 16 - Uma funo unidimensional contnua simples e seu respectivo espectro de Fourier.
Assim como no caso 1-D, F(u,v) complexa e sua amplitude, F (u, v ) , denominada espectro
de Fourier.
A figura 17 mostra uma funo bidimensional contnua e seu respectivo espectro de
Fourier, representado de duas maneiras: em perspectiva tridimensional (figura 17(b)) e como
1
Convm notar que uma imagem um conjunto de nmeros reais, porm a FT opera igualmente para
conjuntos de nmeros complexos.
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
f(x,y) |F(u,v)|
X Y
x y
u v
(a) (b)
(c)
Figura 17 - Uma funo bidimensional contnua (a), seu espectro de Fourier (b) e o espectro
representado como uma funo de intensidade (c).
onde n pode assumir os valores discretos 0, 1, 2, ..., N-1, podemos interpretar a seqncia {f(0),
f(1), f(2), ..., f(N-1)} como qualquer seqncia de N amostras consecutivas do sinal original
contnuo f(x), uniformemente espaadas.
A transformada de Fourier de f(n) ser:
1 N /1
/ j 2r un (4.27)
F (u ) ?
N
f (n) exp
n ?0 N
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
102 Filtr agem, Realce e Suavizao de Imagens
1 N /1
j 2r un
f ( n) ?
N
F (u) exp
u ?0 N (4.28)
1
Fu ?
NFx (4.29)
1 M /1 N /1
ux vy
F ( u, v ) ?
MN
f ( x, y) exp / j 2r M - N
x ?0 y ?0
(4.30)
M /1 N /1
ux vy
f ( x, y) ? 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:
1
Fu ?
MFx (4.32)
e
1
Fv ?
NFy (4.33)
Para o caso particular em que M = N, as equaes (4.30) e (4.31) podem ser reescritas como:
1 N /1 N /1
ux - vy
F ( u, v ) ?
N
f ( x, y) exp/ j 2r
x?0 y?0
N (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 103
1 N /1 N /1
ux - vy
f ( x, y) ?
N
F (u, v) exp j 2r
u?0 v ?0
N (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.
Separabilidade
O par de Fourier das eqs. (4.34) e (4.35) pode ser decomposto em
1 N /1
j 2rux N /1 j 2rvy
F ( u, v ) ?
N
x ?0
exp / N f ( x , y ) exp / N
y ?0
(4.36)
1 N /1
j 2rux N /1 j 2rvy
f ( x, y) ?
N
u?0
exp N F (u, v ) exp N
v?0
(4.37)
1 N /1
j 2r ux
F ( u, v ) ?
N
F ( x, v) exp/
x?0 N (4.38)
onde
1 N /1
j 2r vy
F ( x, v) ? N f ( x, y) exp /
N
(4.39)
N y ?0
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.
104 Filtr agem, Realce e Suavizao de Imagens
Linhas Colunas
f(x,y) F(x,v) F(u,v)
Multiplicao
por N
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)
N
e
/ j 2r *ux 0 - vy 0 +
f ( x / x0 , y / y0 ) F *u, v + exp (4.41)
N
onde as setas duplas indicam a correspondncia entre uma funo e sua FT e vice-versa.
N
Para o caso particular em que u0 ? v 0 ? , a relao (4.40) se reduz a:
2
N N
f ( x , y )* /1+
x- y
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.
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:
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Filtr agem, Realce e Suavizao de Imagens 105
(a) (b)
(c)
Figura 19 - (a) Imagem simples; (b) FT sem deslocamento; (c) FT aps deslocamento para o
centro do retngulo de referncia.
Distributividade
A FT obedece propriedade distributiva para a adio, mas no para a multiplicao, ou seja:
} f 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.
106 Filtr agem, Realce e Suavizao de Imagens
(a) (b)
(c) (d)
Figura 20 - (a) imagem original; (b) FT de (a); (c) imagem rotacionada; (d) FT de (c).
Escala
Sejam dois escalares a e b. Pode-se mostrar que:
af ( x , y ) aF *u, v + (4.48)
e
1 u v (4.49)
f (ax , by ) F ,
ab a b
Valor mdio
O valor mdio de uma funo bidimensional f(x,y) dado por:
N /1 N /1
1
f ( x, y) ?
N2
f ( x, y)
x ?0 y ?0
(4.50)
N /1 N /1
1
F (0, 0) ?
N
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
1
f ( x, y) ? F (0, 0).
N (4.52)
Laplaciano
O laplaciano de uma funo de duas variveis f(x,y) definido como:
2 f 2 f
2 f ( x, y) ? -
x 2 y 2 (4.53)
}
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 (u)G(u) (4.55)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
108 Filtr agem, Realce e Suavizao de Imagens
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].
G ( u, v ) ? F ( u, v ) H ( u , v ) (4.59)
1 se D(u, v ) D0
H (u, v ) ? (4.60)
0 se D(u, v ) @ D0
* +
1/ 2 (4.61)
D ( u, v ) ? u 2 - v 2
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.
(a) (b)
Figura 22 - (a) Imagem 512 x 512 e (b) seu respectivo espectro de Fourier. Os anis sobrepostos
ao espectro indicam as freqncias de corte dos filtros passa-baixas correspondentes.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
110 Filtr agem, Realce e Suavizao de Imagens
(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.
1
H ( u, v ) ?
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
112 Filtr agem, Realce e Suavizao de Imagens
(a) (b)
(c) (d)
(e) (f)
Figura 25 - (a) Imagem original; (b) - (f) resultados da aplicao de filtro passa-baixas
Butterworth com freqncia de corte correspondente aos raios indicados na figura 22(b), a
saber: 8, 16, 32, 64 e 128 pixels.
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
114 Filtr agem, Realce e Suavizao de Imagens
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.
0 se D(u, v ) D0
H ( u, v ) ? (4.63)
1 se D(u, v ) @ D0
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.
1
H ( u, v ) ?
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.
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) (4.66)
? ln i ( x , y ) - ln r ( x , y).
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
116 Filtr agem, Realce e Suavizao de Imagens
(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.
}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)
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 ) (4.69)
? H (u, v ) I (u, v ) - H (u, v ) R(u, v ).
No domnio espacial,
s( x , y) ? /1 }S (u, v ) (4.70)
Denominando
e
r '( x , y) ? /1 } H (u, v ) R(u, v ) . (4.72)
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.
H(u,v)
D(u,v)
(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].
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 Comprimento
de Onda m) de Onda ( m)
( 10
6
14
Muito Distante 10
Oscilaes
Eltricas
4 13
Longas
4X10 10
Distante 12
10
6X103 INFRAVERMELHO
11
Intermedirio 10
1,5X103 1010
Ondas de Rdio
Prximo 109 (1 km)
770
108
7
10
Vermelho
6
10 (1 m)
Microondas
622 5
10
Laranja 4
10 (1 cm)
597 3
10 (1 mm)
Amarelo
2
10
577 LUZ VISVEL
101
Verde
1 (1 m)
492
-1
10
Azul
-2
10
455 -3
10 (1 nm)
Violeta
Raios X
-4
10
390
-5
Raios Gama
Prximo 10
-6
300 10
Distante 10-7 (1 A)
ULTRAVIOLETA
200 10-8
Csmicos
Raios
10-9
Extremo
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.
120 Filtr agem, Realce e Suavizao de Imagens
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 (4.74)
r?
R-G-B
G (4.75)
g?
R-G-B
e
B (4.76)
b?
R-G-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 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)
(0,0,1)
Azul Ciano
Escala de Cinzas
Magenta
Branco
Verde
Preto G
(0,1,0)
Vermelho
(1,0,0) Amarelo
R
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.
122 Filtr agem, Realce e Suavizao de Imagens
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 1 R
M ? 1 / G (4.78)
Y 1 B
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:
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 123
3
S ? 1/
R-G-B
]min( R, G, B)_ (4.81)
e
1
/1
2
]( R / G ) - ( R / B ) _ (4.82)
H ? cos 1/ 2
]
( R / G ) - ( R / B)(G / B)
2
_
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
Intensidade
Magenta Ciano
Vermelho H Verde
H
P
Vermelho Verde
Amarelo
Preto
(a) (b)
Figura 37 - Modelo HSI.
1
b ? (1 / S )
3 (4.83)
1 S cos H
r? 1-
3 cos(60C / H )
(4.84)
g ? 1 / (r - b) (4.85)
H ? H / 120C (4.86)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
124 Filtr agem, Realce e Suavizao de Imagens
1
r ? (1 / S )
3 (4.87)
1 S cos H
g? 1-
3 cos(60C / H )
(4.88)
e
b ? 1 / (r - g ) (4.89)
H ? H / 240 C (4.90)
1
g? (1 / S )
3 (4.91)
1 S cos H
b? 1-
3 cos(60 C / H )
(4.92)
e
r ? 1 / (b - g ) (4.93)
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)
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.
Branco (L)
li
Preto (0) y
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.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.
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 1
1
b-a
0 a b 255 0 m 255
(a) (b)
1 1
0 255 0 a b 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.
128 Filtr agem, Realce e Suavizao de Imagens
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.
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 (4.96)
u1 u1
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.
(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).
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
130 Filtr agem, Realce e Suavizao de Imagens
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.
(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:
Imagem Imagem
de Entrada Filtrada
Filtro g lf(x,y) +
g(x,y) Passa-baixas
+
Filtro g hf(x,y)
Passa-altas
K
Figura 46 - Decomposio de uma imagem em suas componentes de alta e baixa freqncia.
Uma vez separadas, apenas as componentes de baixa freqncia so usadas como sada
do filtro se ele est posicionado sobre uma regio de fundo da imagem. Nas regies contendo
bordas, ambas as componentes de baixa e alta freqncia so utilizadas. Um parmetro de
controle (K) determina o quanto de componentes de alta freqncia aparecem na sada do filtro.
Sabendo que a componente de alta freqncia tambm pode ser determinada a partir da
imagem original no filtrada e da imagem filtrada de baixa freqncia, atravs da eq. (4.17), o
filtro SAM pode ser implementado conforme o diagrama da figura 47. Neste diagrama, o filtro
da mediana usado para permitir a filtragem passa-baixas e para obter tambm as componentes
de alta freqncia. Um detetor de bordas e impulsos determina o tamanho da janela (mscara) e
ainda o valor de K. O filtro comea com um determinado tamanho de janela n x n e, se uma
borda detectada, seu tamanho reduzido para n-2 x n-2. Este processo se repete at que se
obtenha uma janela sem a presena de bordas. Neste momento o valor de K escolhido com
base na varincia local calculada dentro da janela e em uma estimativa da varincia do rudo.
Imagem Imagem
de Entrada Filtrada
Filtro da g lf(x,y) +
g(x,y) Mediana
+
-
+ g hf(x,y)
Ajuste do
tamanho K
da Janela
Detetor de
Impulso e
Borda
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
132 Filtr agem, Realce e Suavizao de Imagens
O valor de K determinado segundo o processo de deciso mostrado na eq. (4.99):
0 para C. u n
2
u 12
K? (4.99)
u n2 para as demais situacoes
1 / C. 2
u1
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.
(d) (e)
Figura 48 - (a) Imagem original; (b) imagem contaminada por rudo gaussiano; (c) imagem
contaminada por rudo sal e pimenta; (d) resultado da aplicao do filtro SAM sobre a imagem
(b); (e) resultado da aplicao do filtro SAM sobre a imagem (c).
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:
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).
( ) 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.
( ) 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.
1
g (x,y ) ?
M
f
(n, m ) S
(n,m )
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/front-
page.html"
Median Filter ing
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c6/s4/front-
page.html"
Image Shar pening
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c4/s9/front-
page.html"
Pseudocolor Applications
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c5/s3/front-
page.html"
DFT: Pr oper ties
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c5/s4/front-
page.html"
DFT of Simple Images
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c5/s7/front-
page.html"
DFT: Filter ing in the Fr equency Domain
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c2/s7/front-
page.html"
Color Models Concepts
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c2/s8/front-
page.html"
RGB Image Manipulation
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
[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.
[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.
[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 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].
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
140 Mor fologia Matemtica
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)
}
B# ? x x ? /b, para b B . (5.2)
O complemento do conjunto A :
}
Ac ? x x A . (5.3)
}
A / B ? x x A, x B ? A B c . (5.4)
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)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Mor fologia Matemtica 141
X2
X1
A
(A)x
(a) (b)
^
B
(c) (d)
A (A-B)
AC
(e) (f)
Figura 1 - Exemplos de operaes bsicas sobre conjuntos.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
142 Mor fologia Matemtica
^
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:
}
ASB ? x ( B ) x A (5.7)
o que, em outras palavras significa dizer que a eroso de A por B resulta no conjunto de pontos x
tais que B, transladado de x, est contido em A.
A figura 3 mostra os efeitos da eroso de um conjunto A usando trs elementos
estruturantes (B) distintos.
A dilatao e a eroso so operaes duais entre si com respeito a complementao e
reflexo. Ou seja,
( ASB ) c ? A c B# . (5.8)
}
c
(5.9)
( ASB ) c ? x ( B ) x A .
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Mor fologia Matemtica 143
}
c
(5.10)
( ASB ) c ? x ( B ) x Ac ? .
}
( ASB) c ? x ( B) x A c
(5.11)
? A c B#
q.e.d.
^
B=B
A 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].
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
144 Mor fologia Matemtica
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.
}
A C B ? : ( B) x ( B) x A (5.14)
( A B) c ? ( Ac C B# ) . (5.15)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Mor fologia Matemtica 145
Estas propriedades auxiliam na interpretao dos resultados obtidos quando as operaes de
abertura e fechamento so utilizadas para construir filtros morfolgicos. Para um exemplo de
filtro morfolgico, na figura 7 apresentamos uma imagem de um objeto retangular com rudo
qual se aplica o filtro (A B) B. Aps a operao de abertura, os pontos ruidosos externos ao
objeto j foram removidos. A etapa de fechamento remove os pixels ruidosos do interior do
objeto. Convm observar que o sucesso desta tcnica depende do elemento estruturante ser
maior que o maior aglomerado de pixels ruidosos conectados presente na imagem original.
A - B
A B=(A - B) + B
(a)
A + B
A B=(A + B) - B
(b)
Figura 4 - Exemplos de abertura e fechamento.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
146 Mor fologia Matemtica
A A B
A A B
Figura 6 - Interpretao geomtrica do fechamento.
A A - B B
(a) (b)
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.
Mor fologia Matemtica 147
Leitura complementar
O captulo 1 de [Dougherty 1994] apresenta outros exemplos de aplicao de filtros
morfolgicos.
O captulo 5 de [Haralick e Shapiro 1992] mostra os conceitos de abertura e fechamento
e do uso de tcnicas morfolgicas para reduo de rudos em imagens.
O captulo 2 de [Serra 1982] apresenta os conceitos de abertura e fechamento.
Os captulos 2 e 3 de [Dougherty 1993] abordam as propriedades estatsticas e
apresentam estratgias de projeto de filtros morfolgicos.
A=X Y Z
W (W-Y)
X Y
(a) (b)
c
A
(A - Y)
(c) (d)
c
A - (W-Y)
c
(A - Y) [A - (W-Y)]
A c - (W-Y)
(e) (f)
Figura 8 - Transformao hit-or-miss.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
148 Mor fologia Matemtica
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)
Usando a definio de diferenas de conjuntos e a relao dual entre eroso e dilatao podemos
escrever:
A hom B ? ( ASB ) / ( A B# ) .
1 2
(5.18)
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.
d ( A) ? A / ( ASB) (5.19)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Mor fologia Matemtica 149
B
A
(a) (b)
A - B (A)
(c) (d)
Figura 9 - Extrao de contornos.
X k ? ( X k /1 B ) A c k = 1, 2, 3, ... (5.20)
A 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.
150 Mor fologia Matemtica
B
(c)
0 1 2 3
1 2 3 4
3 4
4 5
5 6
X6 X6 A
(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).
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.
X0
(a) (b)
Figura 11 - Extrao de componentes conectados.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Mor fologia Matemtica 151
2
1 1
1 0 2 1 0
1 1 1 1 2
2 2 2
X1 X2
(c) (d)
6 5 5
6 4 4
6 5 4 3 3
4 2
3 1
3 2 1 0
1 1 2
2 2 2
X6
(e)
Figura 11 - Continuao.
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.
152 Mor fologia Matemtica
B1 B2 B3 B4
(a)
1 2
1 3
1 3 4
2 3 4
1 3
1
X01 X51
(b) (c)
3
1 6 5 2 1
6 5 4 1
5 4 3
1 4 3 2 1
3 2 1
2
X22 X73
(d) (e)
1
X2
4 C(A)
(f) (g)
Figura 12 - Casco convexo (convex hull).
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Mor fologia Matemtica 153
1
B
2
B
3
B
4
B
(h)
Figura 12 - Continuao.
A B ? A / ( A hom B )
? A ( A hom B ) c . (5.24)
} 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:
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.
154 Mor fologia Matemtica
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 2 3 4 5 5 6 7
B B B B B B B B
1 1 1 1 1 1 1
A 1
Aps B
3
3
4
2 3 4
Aps B e B Aps B
5 6
5 5 5
5 6
Aps B Aps B
1 1 1 1 1
7
7 8 1
Aps B Aps B e B
5 6
2 3 4 5 6 7 8 1 6
Aps B , B , B e B Aps B , B , B , B , ... e B
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Mor fologia Matemtica 155
5.5.6 Espessamento (Thickening)
O espessamento o dual morfolgico do afinamento e pode ser definido como:
onde B um elemento estruturante adequado. O espessamento tambm pode ser definido como
uma operao seqencial:
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 , afina-
se 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.
156 Mor fologia Matemtica
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.
K
(5.29)
S ( A) ? : Sk ( A)
k ?0
com
}
Sk ( A) ? : ( A S kB ) / ] ( A S kB ) C B_
K
(5.30)
k ?0
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.
Mor fologia Matemtica 157
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
K K
k A - KB (A - KB) B Sk (A) Sk (A) Sk (A) + kB Sk(A) + kB
k=0 k=0
S(A) A
2
B
Figura 16 - Esqueletos.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
158 Mor fologia Matemtica
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.
X 1 ? A }B (5.35)
8
(5.36)
X 2 ? : ( X 1 hom B k )
k ?1
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)
1
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.
Mor fologia Matemtica 159
B1 B2 B3 B4
B5 B6 B7 B8 X0
(a) (b)
7 1 1 1 5
7
8
1
2
2
X1 X2
(c) (d)
3
2
3 1
2 1 2 3
1
1
2
3
X3 X4
(e) (f)
Figura 17 - Poda (pruning).
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
160 Mor fologia Matemtica
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, para b B Reflete todos
elementos de B em
os
Complemento
}
Ac ? x x A Conjunto de pontos que
no esto em A.
Diferena
}
A / B ? x x A, x B ? A B c Conjunto de pontos que
pertencem a A porm no
a B.
Dilatao
}
A B ? x ( B# ) x A 'Expande' a fronteira de A.
(I)
Eroso
}
ASB ? x ( B ) x A 'Contrai' a fronteira de A.
(I)
2
Os nmeros em algarismos romanos entre parnteses referem-se aos elementos estruturantes usados no
processo morfolgico. Estes elementos estruturantes esto na figura 18.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Mor fologia Matemtica 161
Operao Equao Comentrios2
Preenchimento de X k ? ( X k /1 B ) Ac ; Preenche uma regio em
uma regio A, dado um ponto p na
X0 = p e
(Region filling) regio. (II)
k = 1, 2, 3, ...
K
Esqueletos Busca o esqueleto S(A) do
S ( A) ? : Sk ( A) conjunto A. A ltima
k ?0
equao indica que A
pode ser reconstrudo a
}
Sk ( A) ? : ( A S kB ) / ] ( A S kB ) C B_
K
partir dos subconjuntos
Sk ( A) . Em todas as trs
k ?0
equaes, K o valor do
passo iterativo depois do
K
qual o conjunto A resulta,
A ? : ( Sk ( A) kB ) por eroso, em um
k ?0
conjunto vazio. A notao
( A S kB ) denota a k-
sima iterao de eroso
sucessiva. (I)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
162 Mor fologia Matemtica
Operao Equao Comentrios2
Poda (Pruning) X 1 ? A }B X4 o resultado da poda
aplicada ao conjunto A. O
8
nmero de vezes que a
X 2 ? : ( X 1 hom B k ) primeira equao deve ser
k ?1 aplicada para obter X1
deve ser especificada. Os
elementos estruturantes
X3 ? (X2 H) A (V) so utilizados para as
duas primeiras equaes.
X 4 ? X1 X 3 A terceira equao usa o
elemento estruturante (I).
B B
I 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)
V
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.
Mor fologia Matemtica 163
No captulo 8 de [Gonzalez e Woods 1992] encontramos um exemplo de aplicao dos
algoritmos morfolgicos bsicos s etapas de pr-processamento de um sistema de
reconhecimento ptico de caracteres (OCR) capaz de ler o cdigo postal norte-americano (zip
code) em um envelope.
Em [Jain 1989] encontramos uma aplicao do processamento morfolgico em uma
aplicao que trata da inspeo de placas de circuito impresso. A imagem original limiarizada,
reduzida a um pixel de espessura usando um algoritmo morfolgico de afinamento e o resultado
submetido a uma etapa de poda.
Recomendamos ainda a leitura do captulo 7 de [Russ 1995], que traz muitos outros
exemplos de aplicao das operaes e algoritmos morfolgicos bsicos apresentados neste
captulo.
Exerccios Propostos
1. Seja o algoritmo de esqueletizao usando tcnicas morfolgicas descrito na Seo
5.5.7. Dada a imagem binria a seguir e o elemento estruturante abaixo dela, representar os
K
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
164 Mor fologia Matemtica
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.
No computador
Para complementar o contedo deste captulo, sugerimos a prtica de laboratrio n 7 (Apndice
B).
Na Internet
"http://www.ime.usp.br/mac/khoros/mmach.old/tutor/mmach.html"
A Tutor ial on Mathematical Mor phology
Tutorial interativo elaborado pela USP.
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s4/front-
page.html"
Dilation, Er osion, Opening, Closing
Pgina com explicaes e ilustraes dos conceitos de dilatao, eroso, abertura e fechamento.
"http://www.khoral.com/dipcourse/dip17sep97/html-dip/c9/s5/front-
page.html"
Contour s
Descreve o processo de extrao de contornos usando morfologia matemtica.
Bibliografia
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Mor fologia Matemtica 165
[Dougherty 1993] Dougherty, E.R. (ed.), Mathematical Morphology in Image
Processing, Marcel Dekker, 1993.
[Dougherty e Giardina 1987] Dougherty, E.R. e Giardina, C.R., Matrix Structured Image
Processing, Prentice-Hall, 1987.
[Fu et al. 1987] Fu, K.S., Gonzalez, R. e Lee, C., Robotics: Control, Sensing,
Vision and Intelligence, McGraw-Hill, 1987.
[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.
[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.
[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 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
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.
168 Compr esso e Codificao de Imagens
1
RD ? 1 /
CR (6.1)
n1
CR ?
n2 (6.2)
nk
pr (rk ) ? k = 0, 1, 2, ..., L - 1
n (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 ) (6.4)
k ?0
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.
Compr esso e Codificao de Imagens 169
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
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:
1
RD ? 1 / ? 0,103 .
1115
,
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
170 Compr esso e Codificao de Imagens
0,3
0,25
0,2
0,15
0,1
0,05
0
Nvel de cinza (rk)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 171
6.1.4 Critrios de Fidelidade
A necessidade de obteno de maiores taxas de compresso aliada explorao adequada de
limitaes e peculiaridades do sistema visual humano permite a elaborao de tcnicas de
compresso de imagens nas quais ocorre uma perda de informao visual quantitativa ou real.
Considerando que informaes de interesse podem ser perdidas, torna-se desejvel quantificar a
natureza e a extenso da perda de informao. Dois grupos gerais de critrios so utilizados
como base para tal anlise: (1) critrios de fidelidade objetiva e (2) critrios de fidelidade
subjetiva.
Quando o nvel de perda de informao puder ser expresso como uma funo da
imagem original, ou imagem de entrada, e da imagem de sada, comprimida e descomprimida
subseqentemente, diz-se que este baseia-se em um critrio de fidelidade objetiva. Um bom
exemplo o erro mdio quadrtico (rms) entre a imagem original e a processada. Seja f(x,y) a
imagem de entrada e seja f(x,y) a estimativa ou aproximao de f(x,y) resultante de sua
compresso e subseqente descompresso. Para qualquer valor de x e y, o erro e(x,y) entre f(x,y)
e f(x,y) pode ser definido como
e( x , y ) ? f ' ( x , y ) / f ( x , y ) (6.5)
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:
1
1/ 2
M /1 N / 1
erms ?
MN
] f ' (x , y ) / f (x , y )_ 2
(6.6)
x?0 y?0
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
x?0 y?0
f ' ( x, y) 2
SNRrms ? M /1 N /1 (6.7)
] f ' ( x , y ) / f ( x , y)_
2
x ?0 y ?0
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
172 Compr esso e Codificao de Imagens
imagem em: excelente, tima, aceitvel, marginal, inferior e imprestvel) ou relativos, usando
por exemplo comparaes sucessivas entre pares de imagens.
Codificador Decodificador
f(x,y) f(x,y)
de Fonte de Fonte
Codificador Decodificador
de Canal de Canal
Canal
Codificador Decodificador
Figura 2 - Um sistema genrico de codificao e compresso de dados.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 173
irreversveis. Portanto, este bloco deve ser omitido quando se desejar a compresso livre de
erros.
No terceiro e ltimo estgio do processo de codificao de fonte, aparece o codificador
de smbolos, responsvel por produzir uma palavra-cdigo de comprimento fixo ou / na maioria
dos casos / varivel para representar cada sada do quantizador. Ao final desta etapa, a imagem
de entrada no deve apresentar qualquer tipo de redundncia. Convm ressaltar, finalmente, que
nem todos os blocos indicados na figura 3(a) devem obrigatoriamente estar presentes num
codificador de fonte, bem como alertar para o fato de que em muitos sistemas de compresso
um mesmo algoritmo executa as funes correspondentes a mais de um bloco.
O decodificador de fonte apresentado na figura 3(b) contm apenas dois componentes:
um decodificador de smbolos e um mapeador inverso. Estes blocos realizam, em seqncia
oposta, as operaes inversas dos blocos mapeadores e codificadores de smbolo do codificador
de fonte. Como a quantizao resulta em perda de informao irreversvel, um bloco
quantizador inverso no aparece no modelo genrico do decodificador de fonte apresentado na
figura 3(b).
Codificador
f(x,y) Mapeador Quantizador Canal
de Smbolos
Codificador de Fonte
(a)
Decodificador Mapeador
Canal f(x,y)
de Smbolos Inverso
Decodificador de Fonte
(b)
Figura 3 - Diagramas em blocos: (a) codificador de fonte; (b) decodificador de fonte.
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.
174 Compr esso e Codificao de Imagens
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 (6.8)
h 7 = b0
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
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.
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.
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.
1
I ( E ) ? log ? / log P ( E )
P (E ) (6.10)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
176 Compr esso e Codificao de Imagens
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 Usurio da
Canal
Informao Informao
j ?1
P(a j ) ? 1 (6.11)
/ 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
J
H ( z) ? / P(a j ) log P(a j ) (6.12)
j ?1
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.
Compr esso e Codificao de Imagens 177
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
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 ) (6.16)
j ?1
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 ) (6.17)
k ?1
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.
178 Compr esso e Codificao de Imagens
J K
H ( z v) ? / P(a j, bk ) log P(a j bk ) (6.18)
j ?1 k ?1
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,
Substituindo-se os valores de H(z) e H(z|v) dados pelas equaes (6.12) e (6.18), e lembrando-
se que P(aj) = P(aj , b1) + P(aj , b2) + . . . + P(aj , bK) obtemos
J K P ( a j , bk )
I ( z, v) ? P(a j , bk ) log (6.20)
j ?1 k ?1 P(a j ) P(bk )
J K q kj
I ( z, v) ? P (a j )q kj log J
. (6.21)
j ?1 k ?1
P(a )q
i ?1
i ki
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,
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 179
Exemplo
Seja a imagem 4 x 8 de 256 tons de cinza a seguir:
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:
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:
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
180 Compr esso e Codificao de Imagens
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.
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.
Compr esso e Codificao de Imagens 181
'smbolo composto' e sua respectiva probabilidade so posicionados na coluna correspondente
primeira reduo de fonte de forma que todos os valores da coluna estejam em ordem
decrescente. O processo ento repetido at atingirmos uma fonte reduzida com apenas dois
smbolos.
Leitura complementar
Diversos livros apresentam implementaes do cdigo de Huffman em linguagem C, dentre eles
[Tenenbaum et al. 1990].
Codificao Aritmtica
Na codificao por Huffman existe uma correspondncia biunvoca entre as palavras-cdigo e
os smbolos (ou seqncias de smbolos) da fonte. A tcnica de codificao aritmtica, cuja
concepo atribuda a Elias (ver [Abramson 1963]), uma tcnica orientada a bloco, na qual
uma palavra-cdigo aritmtica atribuda a uma seqncia de smbolos de entrada. A palavra-
cdigo em si define um intervalo de nmeros reais entre 0 e 1. medida que o nmero de
smbolos na mensagem aumenta, o intervalo usado para represent-la se torna menor e o nmero
de bits utilizados para represent-lo se torna maior.
A figura 7 ilustra o processo bsico de codificao aritmtica. Neste caso, deseja-se
codificar uma seqncia de 5 smbolos, 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.
2
Diversos autores do a esta alternativa o nome de Cdigo de Huffman Modificado (MHC).
Reservaremos este nome para a modificao no cdigo de Huffman encontrada na codificao de
imagens P&B no padro G3 dos sistemas fac-smile.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 183
Tabela 3 - Codificao utilizando cdigo de Huffman truncado.
Smbolo da fonte Probabilidade Huffman Truncado
a1 0,2 11
a2 0,1 011
a3 0,1 0000
a4 0,06 0101
a5 0,05 00010
a6 0,05 00011
a7 0,05 00100
a8 0,04 00101
a9 0,04 00110
a10 0,04 00111
a11 0,04 01000
a12 0,03 01001
a13 0,03 10 0000
a14 0,03 10 0001
a15 0,03 10 0010
a16 0,02 10 0011
a17 0,02 10 0100
a18 0,02 10 0101
a19 0,02 10 0110
a20 0,02 10 0111
a21 0,01 10 1000
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
184 Compr esso e Codificao de Imagens
Seqncia de codificao
a1 a2 a3 a3 a4
a4 a4 a4 a4 a4
0,06752
a3 a3 a3 a3 a3
a2 a2 a2 a2 a2
a1 a1 a1 a1 a1
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.
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).
Leitura complementar
O captulo 5 de [Nelson e Gaily 1996] inteiramente dedicado codificao aritmtica e
contm exemplo de programa em C para implement-la.
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 187
Exerccio resolvido
Dada a mensagem 'BABABABABABAB' produzida por uma fonte capaz de gerar os smbolos
{A, B, C}, codific-la e decodific-la utilizando o mtodo LZW.
Soluo:
1) Codificao
O processo de codificao parte do dicionrio j inicializado com trs smbolos, A, B e C, cujas
palavras-cdigo so, respectivamente, 0, 1 e 2.
O algoritmo de codificao gerar a seqncia de sada:
1-0-3-5-4-7-1
e produzir o dicionrio a seguir:
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
Leitura complementar
O artigo de Nelson [Nelson 1989] apresenta os conceitos bsicos da compresso LZW e inclui
cdigo-fonte em C.
Decomposio bit-plane
Os nveis de cinza de uma imagem monocromtica podem ser representados na forma de um
polinmio de base 2
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.
Compr esso e Codificao de Imagens 189
Para reduzir este problema, uma alternativa decompor a imagem original usando o
cdigo de Gray para m bits. O cdigo de Gray para m bits gm-1 ... g2g1g0 correspondente ao
polinmio (6.23) pode ser calculado como:
g i ? a i a i -1 0 i m/2 (6.24)
g m / 1 ? a m /1 .
Run-length unidimensional
Uma interessante alternativa codificao de blocos constantes a representao de cada linha
de uma imagem ou bit plane atravs de uma seqncia de valores de comprimento, que
representam os comprimentos das cadeias de 0's e 1's. Nesta tcnica, denominada codificao
run-length, a idia bsica codificar cada grupo de 0's e 1's contguos encontrados em uma
varredura da esquerda para a direita atravs de seu comprimento, segundo uma conveno pr-
estabelecida. Uma conveno comum admitir que cada linha comea com uma seqncia de
pixels brancos, que corresponde ao primeiro valor numrico encontrado. Caso a linha em
questo comece com um pixel preto, codifica-se uma seqncia de brancos de comprimento
zero.
Embora a compresso run-length seja, por si s, um mtodo eficaz de compresso de
imagens, possvel obter uma compresso adicional, codificando as seqncias obtidas
utilizando palavras-cdigo de comprimento varivel.
Run-length bidimensional
Os conceitos da codificao run-length unidimensional so extensveis ao caso 2D. Uma das
tcnicas mais conhecidas a utilizar tal extenso a codificao por endereo relativo (relative
address coding - RAC), que se baseia na codificao das transies de branco para preto e vice-
versa, levando em conta a linha atual e a imediatamente anterior. A figura 8 ilustra o mtodo.
Nela, a distncia ec representa a distncia entre a transio atual (c) e a transio anteriormente
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
190 Compr esso e Codificao de Imagens
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).
cc
Linha Anterior c
e c
Linha Atual ec =0
=1
Transio
Atual
(a)
(b)
Figura 8 - Exemplo ilustrativo do mtodo RAC.
en ? f n / f#n (6.25)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 191
que ento codificado por um cdigo de comprimento varivel (pelo 'codificador de smbolos'
do estgio codificador), gerando o prximo elemento do conjunto de dados comprimidos. O
decodificador da figura 9(b) reconstri 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,
#f ? round c f
m
n i n / i (6.27)
i ?1
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 ) (6.28)
i ?1
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 Imagem
de Entrada fn en Comprimida
+ Codificador
de Smbolos
-
Inteiro mais ^f
Preditor n
prximo
(a)
Figura 9 - Um modelo de codificao preditiva: (a) codificador; (b) decodificador.
Imagem Imagem
Comprimida en + fn Descomprimida
Decodificador
de Smbolos
+
^f Preditor
n
(b)
Figura 9 - Continuao.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
192 Compr esso e Codificao de Imagens
Imagem Imagem
de Entrada en en Comprimida
+ Codificador
Quantizador
fn de Smbolos
-
+
^f Preditor
n
fn +
(a)
Imagem Imagem
Comprimida en + fn Descomprimida
Decodificador
de Smbolos
+
^f Preditor
n
(b)
Figura 10 - Um modelo de codificao preditiva com perdas: (a) codificador; (b) decodificador.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 193
onde f#n aparece como definido na Seo 6.4.3. Esta configurao de malha fechada previne o
surgimento de erros na sada do decodificador. Da figura 10(b) pode-se deduzir que a sada do
decodificador tambm fornecida pela equao (6.29).
e
-| para en @ 0 (6.31)
e%n ?
/| caso contrario
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
194 Compr esso e Codificao de Imagens
Tabela 6 - Codificao DM
Entrada Codificador Decodificador Erro
n f f# e e% f% f# f% [f - f% ]
0 14 14,0 14,0 0,0
1 15 14,0 1,0 6,5 20,5 14,0 20,5 -5,5
2 14 20,5 -6,5 -6,5 14,0 20,5 14,0 0,0
3 15 14,0 1,0 6,5 20,5 14,0 20,5 -5,5
4 13 20,5 -7,5 -6,5 14,0 20,5 14,0 -1,0
5 15 14,0 1,0 6,5 20,5 14,0 20,5 -5,5
6 15 20,5 -5,5 -6,5 14,0 20,5 14,0 1,0
7 14 14,0 0,0 -6,5 7,5 14,0 7,5 6,5
8 20 7,5 12,5 6,5 14,0 7,5 14,0 6,0
9 26 14,0 12,0 6,5 20,5 14,0 20,5 5,5
10 27 20,5 6,5 6,5 27,0 20,5 27,0 6,5
11 28 27,0 1,0 6,5 33,5 27,0 33,5 -5,5
12 27 33,5 -6,5 -6,5 27,0 33,5 27,0 0,0
13 27 27,0 0,0 -6,5 20,5 27,0 20,5 6,5
14 29 20,5 8,5 6,5 27,0 20,5 27,0 2,0
15 37 27,0 10,0 6,5 33,5 27,0 33,5 3,5
16 47 33,5 13,5 6,5 40,0 33,5 40,0 7,0
17 62 40,0 22,0 6,5 46,5 40,0 46,5 15,5
18 75 46,5 28,5 6,5 53,0 46,5 53,0 22,0
19 77 53,0 24,0 6,5 59,5 53,0 59,5 17,5
20 78 59,5 18,5 6,5 66,0 59,5 66,0 18,5
21 79 66,0 13,0 6,5 72,5 66,0 72,5 13,0
22 80 72,5 7,5 6,5 79,0 72,5 79,0 7,5
23 81 79,0 2,0 6,5 85,5 79,0 85,5 2,0
24 81 85,5 -4,5 -6,5 79,0 85,5 79,0 -4,5
25 82 79,0 3,0 6,5 85,5 79,0 85,5 3,0
26 82 85,5 -3,5 -6,5 79,0 85,5 79,0 -3,5
90
80
70
60 Entrada
50 Resultado da DM
40
30
20
10
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 195
Modulao por Codificao Diferencial de Pulsos (DPCM)
A tcnica DPCM, proposta por [Cutler 1952], a mais conhecida tcnica de codificao
preditiva. Ela utiliza um preditor timo, cujo objetivo minimizar o erro mdio quadrtico de
predio, assumindo que o erro de quantizao desprezvel (ou seja, e%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
. E } f ( x , y ) f ( x / i , y / j ) ? u 2 t iv t hj (6.33)
. 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)
.c 1 ? th c 2 ? /t v t h c 3 ? tv c4 ? 0 (6.35)
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.
196 Compr esso e Codificao de Imagens
Imagem
de
Entrada Imagem
(Nx N) Construo Comprimida
Transformao Codificao
de Sub- Quantizao
imagens n x n Direta de Smbolos
(a)
Imagem Imagem
Comprimida Fuso de Descomprimida
Decodificao Transformao
Subimagens
de Smbolos Inversa
nxn
(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
x?0 2N (6.36)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 197
N /1
(2 x - 1)ur
f ( x) ? c (u)C(u) cos 2N (6.37)
u?0
1
p/u?0 (6.38)
c ( u) ? N
2 p / u ?1
N
N /1 N /1
(2 x - 1)ur (2 y - 1)vr
C (u, v ) ? c (u)c (v ) f ( x , y ) cos cos
x?0 y?0 2N 2N (6.39)
N / 1 N /1
(2 x - 1)ur (2 y - 1)vr
f ( x, y) ? c (u)c (v)C(u, v) cos 2N cos
2N (6.40)
u?0 v ?0
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.
Compr esso e Codificao de Imagens 199
transmisso. As subseqentes (K - 1) linhas so codificadas linha-a-linha, pela tcnica
bidimensional MREAD.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
200 Compr esso e Codificao de Imagens
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.
Compr esso e Codificao de Imagens 201
Incio de Nova
Codificao
Colocar a0 antes
do primeiro pixel
Detetar a1
Detetar b1
Detetar b2
B2 No
esquerda
de a1?
Sim Sim
|a1,b1| 3?
No
Detetar a2
No
Fim da Linha?
Sim
Fim da
Codificao
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.
Referncia b1 b2
Codificao a0 a1 Passagem
=0
Prximo a0
=1
(a)
Vertical
a1b 1
Referncia b1 b2
Codificao a0 a1 a2
a0a1 a1a2 =0
=1
Horizontal
(b)
Figura 14 - Parmetros de codificao 2-D para os casos: (a) modo de passagem; (b) modos
horizontal e vertical.
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.
204 Compr esso e Codificao de Imagens
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.
1 7 7
ru(2 x - 1) rv(2 y - 1)
F (u, v) ? C(u)C(v) f ( x, y) cos cos (6.41)
4 x ?0 y ?0 16 16
onde
1
C (u), C (v ) ? para u , v = 0 (6.42)
2
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 205
Imagem Codificador
Ordenao por entropia
(blocos DCT Quantizador
zig-zag (Huffman)
8x8)
Tabela de Tabela de
quantizao codificao
Tabela de
Tabela de decodi-
quantizao ficao Imagem
codificada
Decodi-
Imagem ficador
decodi- DCT Dequan-
inversa tizador por entropia
ficada
(Huffman)
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 (6.44)
Q( u , v )
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
206 Compr esso e Codificao de Imagens
Coeficiente DC
Amostra DCi +
DCi - DCi-1
Amostra
anterior
Amostra DCi-1
(a) (b)
Figura 16 - (a) Ordenao zig-zag; (b) codificador preditivo dos coeficientes DC.
Decodificador seqencial
A seqncia binria da imagem codificada primeiro convertida em coeficientes DCT atravs
do decodificador por entropia. Estes coeficientes so ento dequantizados de acordo com a
frmula:
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 207
1 7 7 ru(2 x - 1) rv (2 y - 1) (6.46)
f ( x , y ) ? C (u)C (v ) F (u, v ) cos cos
4 u?0 v ?0 16 16
onde
1
C(u),C(v) ? para u, v ? 0 (6.47)
2 (6.48)
C(u),C(v) ? 1 para u, v @ 0
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.
C B
A X
o valor previsto pode ser calculado por uma das seguintes frmulas:
0 sem predio
1 X=A
2 X=B
3 X=C
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
208 Compr esso e Codificao de Imagens
4 X=A+B-C
5 X = A + (B - C)/2
6 X = B + (A - C)/2
7 X = (A + B)/2
Parmetros de qualidade
Os compressores JPEG permitem trabalhar com os parmetros qualidade de imagem x tamanho
de arquivo atravs da seleo de um nvel de qualidade. No entanto, os nveis de qualidade no
so padronizados:
a Apple costumava usar uma escala de 0 a 4, tendo alterado para uma escala 0-100 nos
softwares mais recentes;
o Paint Shop Pro usa uma escala de 100 invertida, isto , quanto menor o valor numrico,
maior a qualidade da imagem;
o Adobe Photoshop permite escolher entre os nveis high, medium e low.
Desta forma, dizer que um arquivo JPEG tem 'qualidade 75' no tem significado a
menos que se especifique tambm o software utilizado na compresso. Esta falta de
padronizao, no entanto, no impede o intercmbio de arquivos JPEG.
Note-se que mesmo ajustando o nvel de qualidade para o valor mximo, a compresso
ser com perdas. O algoritmo para JPEG sem perdas completamente diferente do JPEG
normal, tendo como caracterstica principal no usar a DCT.
Pixel transparente
Alguns tipos de arquivos de imagem, como o GIF, permitem escolher um valor de pixel no
usado como pixel transparente (sem cor). No JPEG, devido s perdas inerentes do algoritmo,
isto no possvel: um pixel no tem necessariamente o mesmo valor inicial uma vez que
pequenos erros so permitidos como parte do processo de compresso.
Acumulao de perdas
A finalidade do JPEG ser um padro para armazenamento e transmisso de imagens. Para a
manipulao de imagens deve-se primeiro converter o arquivo JPEG para algum formato full-
color sem perdas (e.g. o TIFF), fazer as alteraes na imagem e ento reconvert-la para JPEG.
Deve-se atentar para o fato de que sucessivas converses JPEG outro formato edio
JPEG introduzem perdas que se acumulam a cada nova reconverso.
M-JPEG
Apesar do JPEG ter sido concebido como um padro de compresso para imagens estticas,
muitos fabricantes aplicaram o JPEG para seqncias de imagens de vdeo tratando cada quadro
como uma imagem isolada, dando origem ao que se denomina M-JPEG (motion JPEG).
Infelizmente, na falta de um padro estabelecido, cada fabricante implementou a tcnica sua
maneira.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Compr esso e Codificao de Imagens 209
O padro reconhecido para compresso de imagens em movimento o MPEG (Moving
Pictures Experts Group), que alm de comprimir a imagem de um quadro isolado como o JPEG,
vale-se das redundncias existentes entre quadros sucessivos (redundncia temporal ou
interframe) para obter maiores taxas de compresso. Por este motivo o MPEG tem taxa de
compresso cerca de 3 vezes superior ao M-JPEG. A codificao interframe, no entanto,
dificulta a edio de imagens quadro-a-quadro, motivo este que tornou o M-JPEG muito popular
nos equipamentos de edio de vdeo.
Leitura complementar
Para uma descrio completa e formal do padro JPEG, sugerimos [Pennenbaker e Mitchell
1993] e [Wallace 1991].
O artigo de Furht [Furht 1995a] descreve didaticamente as etapas de codificao e
decodificao JPEG e compara o desempenho do algoritmo sobre diferentes imagens.
Aos leitores interessados nos aspectos de custo computacional do algoritmo JPEG,
sugerimos [Monnes e Furht 1994].
6.6.3 H.261
Estabelecido em 1991, o H.261 faz parte de um conjunto de padres do ITU-T para servios
audiovisuais em telecomunicaes. Alm do H.261, que trata da codificao/decodificao de
sinais de vdeo, temos o H.221 (estrutura de quadros), H.230 (controle de sincronismo de
quadro), H.242 (comunicao entre terminais audiovisuais) e H.320 (equipamentos de sistema e
terminais). Codificadores/decodificadores de udio so especificados por outros padres (o
G.725, por exemplo).
Caractersticas do H.261
O padro tambm conhecido como p x 64 porque pode operar nas diversas capacidades de um
canal ISDN (Integrated Service Digital Network) (taxas de p x 64 kbps, para p = 1, ..., 30). Para
p = 1 e 2, a limitada largura de banda disponvel, permite somente comunicao face-a-face
(videofone). Para p 6 imagens mais complexas podem ser transmitidas permitindo aplicaes
de videoconferncia. Os formatos de imagem permitidos so CIF (Common Intermediate
Format) e QCIF (Quarter CIF).
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
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.
Compr esso e Codificao de Imagens 211
1 2
5 6
3 4
Y Cb Cr
MB (Macro Bloco)
1 2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18 19 20 21 22
23 24 25 26 27 28 29 30 31 32 33
GOB (Grupo de Blocos)
1 2
1
3 4
5 6
2
7 8
9 10
3
11 12
Imagem Imagem
CIF QCIF
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.
212 Compr esso e Codificao de Imagens
Sinal Sinal
de vdeo Codificador codificado
+ multiplex de
DCT Quantizador
vdeo / codif.
+ Huffman
Dequan-
tizador
DCT
inversa
Memria de
+
quadro do
preditor
Bit- Imagem
stream Decodif. por + recuperada
Dequan- DCT
Buffer comprimento
tizador inversa
varivel
+
Liga / desliga
filt
Preditor de
compensao
Filtro de movimento
e memria de
quadro
Vetores de movimento
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.
Compr esso e Codificao de Imagens 213
kbps. A taxas de dados to baixas necessrio manter o mais baixo possvel o overhead na
informao transmitida.
Dentre as caractersticas do H.263, destacamos:
baixa complexidade (e custo);
interoperabilidade e/ou coexistncia com outros padres de comunicao visual (e.g.,
H.261);
robustez quanto a erros introduzidos pelos canais de comunicao;
flexibilidade para extenses futuras como operao a taxas de dados mais elevadas;
parmetros de qualidade de servios tais como resoluo de imagem, atraso de sinal, taxa de
quadros, qualidade de cores etc.;
a exemplo do H.261, a codificao um processo hbrido de predio de movimento
interframe com codificao DCT do erro de predio;
estrutura do GOB mais simples que no H.261;
o uso da compensao de movimento opcional no codificador;
diversos parmetros podem ser variados para controlar a taxa de dados: processamento do
sinal de vdeo prioritrio codificao do sinal da fonte, escala do quantizador, seleo de
modos e taxa de quadros. O decodificador pode informar as escolhas feitas quanto a
resoluo temporal x resoluo espacial por meios externos (protocolo H.245);
quatro mtodos de codificao avanados: vetor de movimento irrestrito, predio avanada,
quadros P-B e codificao aritmtica baseada em sintaxe;
o codificador pode operar com cinco formatos de imagem: sub-QCIF, QCIF, CIF, 4CIF E
16CIF. Os decodificadores tm que operar, no mnimo, com sub-QCIF e QCIF. Para os
codificadores somente um dos formatos, sub-QCIF ou QCIF, obrigatrio.
Leitura complementar
Outros detalhes sobre o H.263 podem ser vistos em [Rijske 1996] e [Herman 1996].
6.6.5 MPEG
O comit MPEG (Moving Pictures Experts Group) foi estabelecido pelo ISO e o IEC em 1988
com o objetivo de desenvolver padres de codificao de vdeo e udio associado para
armazenamento em mdia digital. O objetivo inicial do MPEG foi estabelecer padres para a
codificao de vdeo (e udio) a trs taxas de dados: 1,5, 10 e 40 Mbps, conhecidos como
MPEG-1, 2 e 3, respectivamente.
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
Decodificador Sinal
de vdeo de vdeo
Decodificador Sinal
de udio de udio
Bit-stream
de udio
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.
Compr esso e Codificao de Imagens 215
mais altas como a HDTV. O aperfeioamento mais significativo em relao ao MPEG-1, e que
essencial para a TV broadcast, foi a incluso da capacidade de codificao de vdeo
entrelaado. Dentre os exemplos de aplicao do MPEG-2, citamos os sistemas de TV a cabo, o
consrcio americano para HDTV e o DVD.
Devido generalidade do MPEG-2, que permite taxas de at 400 Gbps e imagens de at
16000 x 16000 pixels, um sistema de perfis (profiles) e nveis (levels) foi definido para colocar
limites prticos nos muitos parmetros de uma aplicao real. Um perfil um subconjunto da
sintaxe do bitstream. Por exemplo, a sintaxe permite operao escalonvel S/R (sinal/rudo) ou
espacial, mas os perfis main e simple no usam este recurso do MPEG-2. Um nvel, por sua vez,
restringe os parmetros dentro de uma sintaxe permitida.
Tempo
1 2 3 4 5 6 7 8 9
I B B B P B B B I
M: distncia entre
quadros ncora
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
216 Compr esso e Codificao de Imagens
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
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.
Compr esso e Codificao de Imagens 217
Erro de predio
Quadro previsto
-
Compensao
de movimento
28
16 6
M
28
16
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.
Compr esso e Codificao de Imagens 219
O estabelecimento deste padro proporcionar utilizao mais eficiente dos sistemas
multimdia atuais e abrir novas possibilidades de uso beneficiando aplicaes como bibliotecas
digitais, educao, medicina, entretenimento, etc. Espera-se que o padro esteja concludo at
julho de 2001.
Leitura complementar
Para uma viso abrangente e introdutria dos padres e tcnicas de compresso de imagens
estticas e vdeo, incluindo um maior detalhamento do MPEG-4, sugerimos [Kawano 1997].
Exerccios Propostos
1. Qual a diferena fundamental entre as tcnicas de compresso de imagens com perdas
(lossy) e sem perdas (lossless) do ponto de vista da explorao da redundncia?
2. Considere a imagem a seguir, representada por uma matriz 7 x 7, onde cada elemento da
matriz corresponde ao nvel de cinza normalizado do pixel correspondente, sendo 0 = preto, 1 =
branco. Pede-se:
a) Calcular as probabilidades de cada nvel de cinza e esboar seu histograma.
b) Calcular a entropia da fonte (em bits / pixel).
c) Codificar cada nvel de cinza utilizando Huffman, indicando as palavras-cdigo obtidas na
coluna apropriada.
d) Calcular o comprimento mdio das palavras-cdigo atribudas no passo (c) e a eficincia do
cdigo de Huffman utilizado.
e) Calcular a taxa de compresso obtida em relao utilizao de um cdigo de comprimento
fixo e igual a 3 bits e a redundncia relativa correspondente.
Smbolo Probabilidade
a 0.2
e 0.3
i 0.1
o 0.2
u 0.1
! 0.1
6. Uma imagem binarizada de 64 x 64 pixels foi codificada usando o cdigo WBS 1-D
utilizando blocos de quatro pixels. O cdigo WBS obtido para uma linha da imagem foi:
0110010000001000010010000000, onde 0 significa pixel preto. Pede-se:
a) Decodificar a linha.
b) Elaborar um procedimento WBS 1-D iterativo que comea buscando linhas totalmente
brancas (um bloco de 64 pixels) e reduz o tamanho dos blocos que contm um ou mais pixels
pretos metade, sucessivamente, at chegar a blocos de quatro pixels.
c) Usar o algoritmo elaborado no passo (b) para codificar a linha decodificada previamente. O
resultado deste item ocupa mais ou menos bits que o padro mencionado no enunciado? Por
que?
8. Por que os coeficientes resultantes do clculo da DCT direta no algoritmo JPEG, aps a
quantizao, so lidos em zig-zag?
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/front-
page.html"
Bit Plane Slicing
Descreve e exemplifica o processo de converter uma imagem monocromtica de 8 bits/pixel em
oito imagens binrias, cada qual correspondendo a um bit do byte original.
"http://www.deakin.edu.au/~agoodman/scc308/topic7.html"
Topic 7: File for mats and image compr ession
Captulo de tutorial on-line dedicado a formatos de arquivos de imagem e algumas tcnicas de
compresso utilizadas nestes formatos.
"http://www.engr.mun.ca/~john/btpc.html"
Binar y Tr ee Pr edictive Coding
Descrio completa e bem documentada de uma nova proposta de algoritmo de codificao de
imagens estticas, com vantagens em relao ao LZW e ao JPEG.
"http://act.by.net/act.html"
Ar chive Compar ison Test (A.C.T.)
Comparativo de desempenho de programas de compresso de dados para diversas plataformas.
Atualizado periodicamente.
"http://www.internz.com/compression-pointers.html"
Compr ession Pointer s
Lista de links interessantes e teis na rea de compresso de dados e imagens.
"http://drogo.cselt.stet.it/mpeg/"
The Moving Pictur e Exper ts Gr oup (MPEG) Home Page
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
222 Compr esso e Codificao de Imagens
Bibliografia
[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.
[Barnsley e Sloan 1988] Barnsley, M.F. e Sloan, A.D., "A better way to compress
images", Byte, Janeiro 1988, 215-223.
[Huffman 1952] Huffman, D.A., "A Method for the Construction of Minimum
Redundancy Codes", Proc. IRE, 40, 10, 1098-1101.
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.
[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.
[Rioul e Vetterli 1991] Rioul, O. e Vetterli, M., "Wavelets and Signal Processing",
IEEE Signal Processing Magazine, Outubro 1991, 14-38.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
224 Compr esso e Codificao de Imagens
[Wallace 1991] Wallace, G., "The JPEG still picture compression standard",
Communications of the ACM, 34, 30-44.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
Captulo 7
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
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.
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].
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.
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.
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 B
G B
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.
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
Feixe
Laser Modulador
Espelho Rotativo
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.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.
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 no-
linear, morfologia matemtica binria e em nveis de cinza, pseudocolorizao, entre outras.
O PC_IMAGE foi desenvolvido para o MS-Windows a partir da biblioteca de funes
C_IMAGES. Rotinas para aplicaes especiais podem ser desenvolvidas utilizando-se a
biblioteca C_IMAGES e chamadas em uma janela do PC_IMAGE.
Uma verso demonstrativa do PC_IMAGE est disponvel na Internet, no endereo
"http://www.demon.co.uk/ffaltd/ffaftp.html". Maiores informaes sobre o
software podem ser obtidas no endereo
"http://www.demon.co.uk/ffaltd/pcimage.html". O endereo da Foster Findlay
Associates "http://www.demon.co.uk/ffaltd/index.html".
SITIM
O extinto Sistema de Tratamento de Imagens (SITIM), da empresa Engespao, contava com
uma biblioteca de software desenvolvida pelo Instituto Nacional de Pesquisas Espaciais (INPE).
Dirigia-se a aplicaes em sistemas geogrficos de informaes, sensoriamento remoto e
microscopia.
Dentro de cada aplicao especfica, eram possveis operaes lgicas e aritmticas,
deteo de bordas, realce, filtragem, segmentao, extrao de caractersticas, classificao
supervisionada e no supervisionada, etc.
Algumas poucas informaes histricas sobre o SITIM podem ser encontradas na
Internet, na pgina do Laboratrio de Tratamento de Imagens Digitais do INPE, cujo endereo
"http://www.ltid.inpe.br/html/desc_2.html".
TIMWIN
1
Apesar de ter sido escrito em 1989 para os padres da poca (PC-XT com 640 kB de RAM, sem disco
rgido, monitor CGA monocromtico, etc.), o LATIM possui "importncia histrica" por ter permitido
viabilizar as aulas da disciplina de "Processamento de Imagens" do curso de Engenharia Industrial
Eltrica do CEFET-PR quando os nicos recursos computacionais disponveis eram exatamente estes.
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".
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.
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.
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.
2
O curioso termo postcardware foi cunhado pelo prprio autor do programa, para enfatizar ao usurio
que a 'taxa' cobrada para a regularizao do software o envio de um carto postal.
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".
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
"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
[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
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.
246 For matos de Ar quivos de Imagens
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.
248 For matos de Ar quivos de Imagens
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.
250 For matos de Ar quivos de Imagens
MSP
Nome: Microsoft Paint.
Proprietrio: Microsoft Corporation.
Tipo de Arquivo: Bitmap.
Caractersticas: Suporta apenas bitmaps monocromticos (preto e branco). Utiliza a
tcnica de compresso RLE.
Plataformas: PC.
Aplicaes: Artes grficas e editorao eletrnica.
Vantagens: um formato compacto.
Desvantagens: muito limitado e pouco suportado.
PBM
Nome: Portable Bitmap Utilities.
Proprietrio: Jef Poskanzer (autor do aplicativo PBM Utilities).
Tipo de Arquivo: Bitmap.
Caractersticas: Possui trs subformatos: Portable Bitmap (para bitmaps
monocromticos), Portable Gray Map (para bitmaps em tons de cinza) e
Portable Pixel Map (para bitmaps em cores). Cada subformato pode
assumir duas variantes: codificao binria e codificao em cdigo
ASCII.
Plataformas: Estaes de trabalho UNIX e PC.
Aplicaes: Converso de formatos de arquivos de imagem.
Vantagens: Esse formato simples de ser escrito e lido, atravs de codificao por
texto.
Desvantagens: Resulta em arquivos muito grandes para servir como formato de
armazenamento.
As verses binrias suportam apenas cores com at 8 bits. basicamente
suportado apenas em UNIX.
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.
252 For matos de Ar quivos de Imagens
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.
254 For matos de Ar quivos de Imagens
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
256 For matos de Ar quivos de Imagens
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
258 For matos de Ar quivos de Imagens
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
260 For matos de Ar quivos de Imagens
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.
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
264 Roteir os de Labor atr io de Pr ocessamento de Imagens
um erro como uma diviso por zero, por exemplo, o resultado do tipo NaN (no-nmero - not-
a-number).
O formato de apresentao dos dados pelo MATLAB determinado pelo comando
for mat <tipo>: for mat long apresenta os nmeros reais com 15 dgitos; for mat long e
apresenta os nmeros reais com 15 dgitos em notao cientfica; for mat shor t apresenta os
nmeros reais com 5 dgitos (formato padro do MATLAB); e for mat shor t e apresenta os
nmeros reais com 5 dgitos em notao cientfica.
O MATLAB suporta extensamente representaes grficas. A limpeza da janela grfica
realizada pelo comando clg e para se traar um grfico linear em coordenadas cartesianas,
utilizado o comando plot. O comando hold ou hold on mantm o grfico corrente na janela
grfica (geralmente utilizado para a superposio de grficos). Pode-se tambm fazer uso do
comando gr id para se desenhar uma grade reticulada no grfico em questo. Os comandos
xlabel e ylabel so usados para definir os rtulos dos eixos x e y, respectivamente. O ttulo de
um grfico definido a partir do comando title e os seus eixos a partir do comando axis.
Existem ainda alguns outros comandos e funes de uso geral. O comando clock
permite a obteno do ano, ms, dia, hora, minuto e segundo do sistema, na forma de um vetor
contendo valores decimais. A obteno somente da data possvel atravs do comando date. A
funo computer retorna o tipo de computador no qual o MATLAB est sendo executado,
sendo til para programas (scripts) que devam ser executados de maneira distinta em diferentes
plataformas.
Para sair do ambiente do MATLAB, utiliza-se o comando exit ou o comando quit.
Alguns dos principais operadores e caracteres especiais do MATLAB so dados abaixo:
Operadores matriciais:
+ Adio
- Subtrao
* Multiplicao
^ Potenciao
' Transposta conjugada
Operadores relacionais:
< Menor que
<= Menor ou igual a
> Maior que
>= Maior ou igual a
== Igual
~= Diferente
Operadores lgicos:
& AND
| OR
~ NOT
Caracteres especiais:
[e] Formao de vetores e matrizes
(e) Determinao da precedncia de operadores em expresses lgicas e aritmticas
, Separao de subscritos e argumentos de funes
; Encerramento de linhas e supresso da impresso de resultados
: Subscrio de conjuntos e gerao de vetores ordenados
! Execuo de comandos do sistema operacional
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
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]
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.
266 Roteir os de Labor atr io de Pr ocessamento de Imagens
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)
Principais Funes
abs valor absoluto ou mdulo de um nmero complexo.
angle ngulo de fase de um nmero completo.
atan arco tangente
conj conjugado complexo.
conv convoluo.
corrcoef coeficiente de correlao entre duas matrizes.
cos cosseno.
cosh cosseno hiperblico.
cov covarincia.
deconv deconvoluo.
det determinante de uma matriz.
diag matriz diagonal.
eig autovalores e autovetores de uma matriz.
exp exponenciao na base natural (e).
expm exponenciao de matriz.
eye matriz identidade.
filter implementao de filtro digital.
imag parte imaginria de um nmero complexo.
inv matriz inversa.
length comprimento de um vetor.
log logaritmo na base natural (e).
logm logaritmo de matriz.
log10 logaritmo na base 10.
max valor mximo de um vetor ou matriz*.
mean valor mdio de um vetor.
median valor da mediana de um vetor.
min valor mnimo de um vetor ou matriz*.
ones matriz cujos elementos possuem todos valor 1.
prod produto de elementos de matrizes.
rand gerao de nmeros e matrizes com valores aleatrios.
rank posto de uma matriz.
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 267
real parte real de um nmero complexo.
rem resto de diviso.
sign funo sinal.
sin seno.
sinh seno hiperblico.
size dimenses de uma matriz (linhas e colunas).
sqrt raiz quadrada.
sqrtm raiz quadrada de uma matriz.
std desvio padro.
sum soma dos elementos de um vetor ou matriz*.
tan tangente.
tanh tangente hiperblica.
trace trao de uma matriz.
zeros matriz cujos elementos possuem todos valor 0.
* as funes max, min e sum quando utilizadas com matrizes, retornam um vetor linha
contendo os resultados das operaes individuais em cada coluna da matriz.
Utilitrios:
getimage obtm dados da imagem a partir dos eixos.
isbw verdadeiro para imagens em preto e branco.
isgray verdadeiro para imagens em nveis de cinza.
isind verdadeiro para imagens indexadas.
Operaes em cores:
brighten clareia ou escurece mapa de cores (biblioteca do MATLAB).
cmunique encontra cores de mapas distintos e imagem correspondente.
cmpermute permuta posies de mapas de cores.
cmgamma correo Gamma de mapas de cores.
cmgamdef tabela de correo Gamma pr-definida.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
268 Roteir os de Labor atr io de Pr ocessamento de Imagens
dither dithering pelo mtodo de Floyd-Steinberg.
hsv2rgb converte valores HSV para espao de cores RGB (biblioteca do MATLAB).
imadjust ajusta e amplia intensidade de imagem.
imapprox aproxima imagem indexada para image com menor quantidade de cores.
ntsc2rgb converte valores NTSC para o espao de cores RGB.
rgb2gray converte valores RGB para cinza.
rgb2hsv converte valores RGB para o espao de cores HSV(biblioteca do MATLAB).
rgb2ntsc converte valores RGB para o espao de cores NTSC.
rgbplot desenha componentes do mapa de cores RGB (biblioteca do MATLAB).
Operaes geomtricas:
imcrop recorta imagem.
imresize redimensiona imagem.
imrotate roda imagem.
truesize redimensiona figura de modo que a imagem possua o tamanho real.
imzoom ampliao e reduo de uma imagem ou desenho 2-D
Melhoramento e anlise:
brighten clareia ou escurece mapa de cores (biblioteca do MATLAB).
grayslice mapeamento por densidade (intensidade).
histeq equalizao de histograma.
imadjust ajusta e amplia intensidade de imagem.
imapprox aproxima imagem indexada para image com menor quantidade de cores.
imhist histograma de imagens.
impixel cor de um pixel.
improfile modelo de intensidade.
interp2 interpolao bidimensional de dados (biblioteca do MATLAB).
Estatstica:
mean2 mdia de uma matriz.
corr2 coeficiente de correlao bidimensional.
std2 desvio padro bidimensional.
Operaes morfolgicas:
bwarea rea de objetos em imagem binria.
dilate dilatao (espessamento) de imagem binria.
erode eroso (afinamento) de imagem binria.
edge extrao de bordas.
bweuler nmero de Euler.
bwmorph operadores morfolgicos.
bwperim permetro de objetos em imagem binria.
Resposta em freqncia:
freqspace espaamento de freqncia para respostas em freqncia 2-D.
freqz2 resposta em freqncia bidimensional.
Filtragem:
colfilt filtragem no-linear local por colunas.
conv2 convoluo bidimensional (biblioteca do MATLAB).
filter2 filtragem bidimensional (biblioteca do MATLAB).
medfilt2 filtro da mediana bidimensional.
mfilter2 filtro mascarado.
nlfilter filtragem no-linear local.
wiener2 filtro adaptativo de Wiener 2-D.
Processamento em blocos:
bestblk melhor tamanho de bloco para processamento em blocos.
blkproc processa uma imagem em blocos.
col2im reordena blocos de colunas distintas ou deslizantes para formar imagem.
colfilt filtragem no-linear local por colunas.
im2col reordena blocos distintos ou deslizantes para formar colunas.
Transformadas:
dct2 transformada do cosseno discreto bidimensional.
fft2 transformada rpida de Fourier bidimensional (biblioteca do MATLAB).
fftshift move componente de ordem zero para o centro (biblioteca do MATLAB).
idct2 transformada do cosseno discreto bidimensional inversa.
ifft2 transformada rpida de Fourier 2-D inversa (biblioteca do MATLAB).
radon transformada de Radon.
Converses:
dither dithering pelo mtodo de Floyd-Steinberg.
gray2ind converte imagem em nveis de cinza para imagem indexada.
hsv2rgb converte valores HSV para espao de cores RGB (biblioteca do MATLAB).
im2bw converte imagem para preto e branco por limiarizao.
imslice obtm/coloca slices de imagem em um deck de imagens.
ind2gray converte imagem indexada para imagem em nveis de cinza.
ind2rgb converte imagem indexada para imagem RGB.
mat2gray converte matriz para imagem em nveis de cinza.
ntsc2rgb converte valores NTSC para o espao de cores RGB.
rgb2gray converte valores RGB para cinza.
rgb2hsv converte valores RGB para o espao de cores HSV(biblioteca do MATLAB).
rgb2ind converte imagem RGB para imagem indexada.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
270 Roteir os de Labor atr io de Pr ocessamento de Imagens
rgb2ntsc converte valores RGB para o espao de cores NTSC.
Apresentao:
colorbar apresenta barra de cores (escala de cores).
colormap define ou obtm a tabela de consulta de cores (biblioteca do MATLAB).
gray mapa de cores linear de nveis de cinza (biblioteca do MATLAB).
hsv,hot,jet mapas de cores. Digite help color para outros (biblioteca do MATLAB).
image apresenta imagem indexada (biblioteca do MATLAB).
imagesc ajusta dados e apresenta como imagem (biblioteca do MATLAB).
imcontour contorno da imagem.
immovie faz um filme de um deck de imagens.
imshow apresenta todos os tipos de imagens.
montage apresenta um deck de imagens como uma montagem retangular.
subimage apresenta mltiplas imagens.
warp realiza warp da imagem sobre uma superfcie.
Demonstraes:
imdemo demonstrao geral de processamento de imagens.
dctdemo demonstrao de compresso de imagens atravs da DCT 2-D.
firdemo demonstrao de filtragem FIR 2-D.
nlfdemo demonstrao de filtragem no-linear 2-D.
Funes privativas:
cumsum3d soma cumulativa em matriz 3-D acomodada em matriz 2-D.
dct transformada do cosseno discreto 1-D.
dctmtx2 matriz de transformao DCT 2-D unitria.
ditherc arquivo MEX para dithering.
elem3d posies de elementos de matriz 3-D acomodada em matriz 2-D.
getline rastreio de movimento do mouse com linha elstica.
getpts rastreio de movimento do mouse com pontos visveis.
getrect rastreio de movimento do mouse com retngulo elstico.
gif comprime dados em formato GIF.
hdfreadc arquivo MEX para ler arquivos HDF.
hdfpeekc arquivo MEX para listar contedo de arquivos HDF.
hdfwc arquivo MEX para escrever arquivos HDF.
idct transformada do cosseno discreto 1-D inversa.
im2gray converte imagens para nveis de cinza.
imhistc arquivo MEX para clculo de histograma de imagens.
ndx3d ndice de matriz 3-D acomodada em matriz 2-D.
rgb2im converte imagens RGB para imagens indexadas ou em nveis de cinza.
rle comprime dados pelo mtodo RLE.
size3d tamanho da matriz 2-D para acomodar matriz 3-D.
tiff comprime dados em formato TIFF RLE.
ungif descomprime dados em formato GIF.
unrle descomprime dados pelo mtodo RLE.
untiff descomprime dados em formato TIFF RLE.
vmquant arquivo M de interface para o arquivo MEX para quantizao de cor.
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 271
vmquantc arquivo MEX para quantizao de cor.
waitbar apresenta barra de progresso.
Arquivos MAT:
bwmorph.mat tabelas de consulta para a funo bwmorph.m.
forest.mat foto digitalizada: Carmanah Old Growth Forest.
mri.mat imagens de ressonncia magntica da cabea de um homem.
trees.mat imagem digitalizada: "Trees with a view" Susan Cohen.
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.
272 Roteir os de Labor atr io de Pr ocessamento de Imagens
Prtica 1
Objetivos:
1. Conhecer os aspectos bsicos da ferramenta de trabalho para estas prticas.
2. Conhecer os tipos de imagens com que trabalha o programa.
3. Familiarizar-se com os sistemas de coordenadas existentes.
4. Conhecer as tcnicas de exibio de imagens disponveis no MATLAB.
Resumo da teoria:
A toolbox do MATLAB permite trabalhar com 4 tipos de imagens:
imagens indexadas
imagens de intensidade
imagens binarizadas e
imagens RGB.
As imagens indexadas requerem duas matrizes: uma delas tem as dimenses da imagem
e cada ponto desta matriz especifica um ndice que serve para pesquisar em uma segunda matriz,
que contm o mapa de cores, quais so os componentes R (Vermelho - Red), G (Verde - Green)
e B (Azul - Blue) de cada pixel.
As imagens de intensidade contm toda a informao sobre a imagem em uma nica
matriz. Cada elemento desta matriz representa o nvel de intensidade do pixel, em uma faixa
normalizada de 0 (preto) a 1 (branco).
Imagens binarizadas so um caso particular de imagem de intensidade, no qual cada
pixel somente pode assumir o valor 0 (preto) ou 1 (branco).
Imagens RGB so compostas por trs matrizes separadas, cada qual contendo os valores
dos componentes R, G e B (normalizados em uma faixa de 0 a 1) de cada pixel.
O MATLAB tambm permite trabalhar com colees de imagens relacionadas entre si,
denominadas Image Decks. Cada imagem dentro de um Image Deck chamada Image Slice.
Todas as imagens em um deck devem ter o mesmo tamanho.
O MATLAB oferece vrias funes para converter entre duas formas de representao
de imagens. Desta forma, pode-se transformar uma imagem de um certo formato em qualquer
outro, assim como tambm possvel transformar uma matriz qualquer em uma imagem de
intensidade. Estas funes esto resumidas a seguir:
Par a conver ter ... Em... Use...
Imagem indexada Imagem binarizada roicolor, roipoly, im2bw
Imagem indexada Imagem de intensidade ind2gray
Imagem indexada Imagem RGB ind2rgb
Imagem de intensidade Imagem binarizada edge, im2bw, roicolor, roipoly
Imagem de intensidade Imagem indexada grayslice, gray2ind
Imagem de intensidade Imagem RGB a matriz original de intensidade para todos
os 3 componentes R, G e B
Imagem RGB Imagem indexada rgb2ind
Imagem RGB Imagem de intensidade rgb2gray
Imagem RGB Imagem binarizada im2bw
Imagem binarizada Imagem indexada gray2ind
Matriz Imagem de intensidade mat2gray
Deck Imagem (subdeck) imslice
Alm disso, o programa permite importar e exportar imagens nos formatos: GIF, TIFF,
HDF, BMP, XWD ou PCX.
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.
]1 1 2 1 3
1 1 2 3 1
2 2 3 2 2
1 3 2 1 1_
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]
1
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.
274 Roteir os de Labor atr io de Pr ocessamento de Imagens
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)
BN = ]0 0 1 0 0; ...
0 1 1 1 0; ...
1 1 1 1 1; ...
0 1 1 1 0; ...
0 0 1 0 0_
imshow(BN,2)
]R,G,B_ = ind2rgb(X,map);
imshow(R,G,B)
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.
276 Roteir os de Labor atr io de Pr ocessamento de Imagens
Prtica 2
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.
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):
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.
278 Roteir os de Labor atr io de Pr ocessamento de Imagens
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')
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.
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.
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:
16. Examinar atentamente os resultados, maximizando a janela que contm as seis imagens
e concluir a respeito.
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.
280 Roteir os de Labor atr io de Pr ocessamento de Imagens
Prtica 3
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.
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.
clear all
load trees
Y=imcrop(X,[71,107,92,95]);
subplot(2,1,1), imshow(X,map)
subplot(2,1,2), imshow(Y,map)
5. Outra opo para definir a rea de cropping especific-la usando o mouse. Para faz-
lo, basta chamar imcrop sem argumentos, mover o mouse sobre a imagem (que j deve estar
disponvel em outra janela), pressionar o boto esquerdo para definir o canto superior esquerdo
e arrastar atravs da imagem o mouse at o canto inferior direito. Ao soltar o boto do mouse,
aparecer, no lugar da imagem original, a imagem j cortada. A seqncia :
clg
imshow(X,map)
imcrop
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.
282 Roteir os de Labor atr io de Pr ocessamento de Imagens
whos
figure
imshow(Z,map)
W=imresize(X, [100, 200]);
whos
figure
imshow(W,map)
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).
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)
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 trees
v1 = impixel(X,map,21,151)
x1 = [2 3 4 5 7]
y1 = [7 8 9 10 12]
v2 = impixel(X,map,x1,y1)
Pergunta-se:
a. Quais so as dimenses e o contedo das variveis v1 e v2?
b. Qual o significado de cada linha da matriz v2 e como estas linhas esto
relacionadas s variveis x1 e y1?
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
284 Roteir os de Labor atr io de Pr ocessamento de Imagens
Prtica 4
Objetivos:
1. Obter e interpretar o histograma de uma imagem.
2. Conhecer o efeito da aplicao de funes de transformao de intensidade a imagens.
3. Aprimorar o contraste de uma imagem atravs da equalizao de seu histograma.
4. Destacar pixels de interesse em uma imagem monocromtica atravs de tcnicas de
pseudocolorizao.
5. Adequar os valores de nveis de cinza de uma imagem, de tal maneira que se situem dentro
de uma faixa de valores de interesse.
Resumo da teoria:
Histogr ama de uma imagem
O histograma de uma imagem um grfico que mostra a quantidade (ou o percentual) de pixels
correspondentes a cada nvel de cinza em uma imagem. A funo imhist mostra o histograma
de uma imagem.
Tr ansfor maes de intensidade
Os pixels de uma imagem podem ser submetidos a uma funo de transformao ponto-a-ponto,
da forma y = 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.
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)
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)
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)
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)
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)
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
Objetivos:
1. Verificar o funcionamento de filtros passa-baixas utilizando as tcnicas de filtragem pela
mdia, mediana e mdia de mltiplas imagens.
2. Verificar o funcionamento de filtros passa-altas no domnio espacial.
3. Verificar o funcionamento de filtros de realce utilizando a tcnica de unsharp masking.
4. Verificar o funcionamento de filtros passa-altas high-boost.
Resumo da teoria:
Uma das aplicaes mas comuns das tcnicas de processamento de imagens est nas reas de
remoo de rudos e aprimoramento da qualidade de uma imagem. Nesta prtica abordaremos
trs tcnicas de remoo de rudo, que equivalem a filtros passa-baixa, que so:
Filtr agem pela mdia: nesta tcnica, o pixel central de uma janela (normalmente 3 x 3)
substitudo pela mdia dos valores de intensidade de seus 8 vizinhos.
Filtr agem pela mediana: nesta tcnica, o pixel central de uma janela (normalmente 3 x 3)
substitudo pela mediana dos valores de intensidade de seus 8 vizinhos.
Filtr agem pela mdia de mltiplas imagens: nesta tcnica, assumindo-se que existem n
verses ruidosas de uma mesma imagem e que o rudo aleatrio e descorrelacionado,
calcula-se a mdia das vrias imagens ruidosas.
Esta prtica tambm apresenta quatro formas de filtragem passa-altas no domnio
espacial, que so:
Realce pela funo emboss: nesta tcnica, utilizando mscaras para deteo de bordas,
obtm-se um efeito de baixo relevo sobre a imagem original.
Realce utilizando mscar as r ecomendadas na liter atur a: neste caso, executamos a
convoluo de uma imagem com uma mscara projetada para realar os componentes de alta
freqncia da imagem original.
Realce utilizando a tcnica de unsharp masking: nesta tcnica, subtrai-se de uma imagem
uma verso suavizada dela, que se pode obter, por exemplo, calculando a mdia dos 4-
vizinhos de um pixel.
Realce por filtr agem high-boost: equivale a um filtro passa-altas, porm com maior
preservao da informao de baixa freqncia da imagem.
Procedimento:
1. Iniciar o MATLAB.
h = [ 1 1 1
1 1 1
1 1 1_ / 9
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 Roteir os de Labor atr io de Pr ocessamento de Imagens
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)
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)
% 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)
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)
% 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 L1(i,j)=0; end, end, end
for i=1:lin, for j=1:col, if L1(i,j)>N L1(i,j)=N; end, end, end
L1 = L1/N;
L2=filter2(m2,K);
[lin, col] = size(L2);
for i=1:lin, for j=1:col, if L2(i,j)<0 L2(i,j)=0; end, end, end
for i=1:lin, for j=1:col, if L2(i,j)>N L2(i,j)=N; end, end, end
L2 = L2/N;
L3=filter2(m3,K);
[lin, col] = size(L3);
for i=1:lin, for j=1:col, if L3(i,j)<0 L3(i,j)=0; end, end, end
for i=1:lin, for j=1:col, if L3(i,j)>N L3(i,j)=N; end, end, end
L3 = L3/N;
subplot(2,2,1), imshow(J,256)
subplot(2,2,2), imshow(L1,256)
subplot(2,2,3), imshow(L2,256)
subplot(2,2,4), imshow(L3,256)
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
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.
BN = zeros(32);
BN(9:24,9:24) = ones(16);
F = fftshift(fft2(BN));
imshow(BN,2)
figure
colormap(jet(64)),imagesc(log(1 + abs(F))); colorbar
figure
mesh(log(1 + abs(F));
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
Y = imrotate(I, 45);
G = fftshift(fft2(Y));
figure
imshow(Y,256)
figure
colormap(jet(64)),imagesc(log(1 + abs(G))); colorbar
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)
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)
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
294 Roteir os de Labor atr io de Pr ocessamento de Imagens
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.
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)
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.
E = dilate(BW,'fatten');
subplot(2,2,4), imshow(~E,2)
5
Devido conveno utilizada no captulo 5 ser oposta utilizada pelo MATLAB, as imagens
binarizadas devem ser invertidas quando de sua exibio.
6
O nmero de Euler de uma imagem binria obtido calculando-se a diferena entre o nmeros de
componentes conectados na imagem e o nmero de orifcios (holes) nela presentes.
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)
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);
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)
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)
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)
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);
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)
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
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)
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)
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.
298 Roteir os de Labor atr io de Pr ocessamento de Imagens
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.
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.
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.
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.
MARQUES FILHO, Og; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro:
Brasport, 1999. ISBN 8574520098.
300 Glossr io
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.
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.
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.
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.
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.
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.
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.
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.
Monocr omtico - termo utilizado para descrever imagens em branco e preto ou em nveis de
cinza.
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
NTSC - Comit Nacional de Padres de Televiso dos EUA (National Televison Standards
Commitee). Termo utilizado para descrever o sistema de televiso em cores americano.
PAL - Linha de Fase Alternante (Phase-Alternating Line). Termo utilizado para descrever o
sistema de televiso em cores europeu e brasileiro.
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.
Quadr o (Frame) - termo utilizado para descrever uma imagem, normalmente no contexto de
conjunto: uma imagem dentro de uma seqncia.
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.
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.
Saticon - tubo de cmera vcuo, utilizado para aquisio de imagens pela varredura de uma
tela fotossensvel atravs de um feixe de eltrons.
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.
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.
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.
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)
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.