Escolar Documentos
Profissional Documentos
Cultura Documentos
Afinamento de Imagens Digitais Thinning of Digital Images
Afinamento de Imagens Digitais Thinning of Digital Images
CURITIBA
2005
AGRADECIMENTOS
Em primeiro lugar a Cristo que esteve conosco em todos os momentos (naqueles de
cansao, naqueles de muita energia, na desiluso quando o algoritmo no funcionava - e na
alegria); pela sua graa (atravs da qual foi possvel terminar em tempo hbil este estudo).
Ao nosso orientador Prof. Dr. Hlio Pedrini que, aps algumas conversas, nos incentivou a
dar continuidade ao processo de estudo e sanou vrias das dvidas que surgiram nas
implementaes e conceitos dos algoritmos.
Aos nossos familiares e amigos, que demonstraram pacincia em vrios momentos.
SUMRIO
1. INTRODUO...................................................................................................................8
1 PROBLEMA........................................................................................................................9
1.2 OBJETIVOS.....................................................................................................................9
1.3 ORGANIZAO DO TRABALHO.................................................................................10
2. CONCEITOS PRELIMINARES .......................................................................................11
2.1 COMPONENTES CONEXOS..................................................................................................11
2.2 VIZINHANA DE PIXELS........................................................................................................12
2.2.1 Vizinhana-4......................................................................................................................12
2.2.2 Vizinhana-8......................................................................................................................12
2.2.4 Outras vizinhanas............................................................................................................12
2.3 CLCULO DA DISTNCIA ENTRE PIXELS............................................................................13
2.3.1 Mtrica Euclidiana.............................................................................................................13
2.3.2 Mtrica Cityblock...............................................................................................................14
2.3.2 Mtrica Chessboard..........................................................................................................15
2.4 TIPOS DE ALGORITMOS DE AFINAMENTO.........................................................................16
2.4.1 Algoritmos Seqenciais.....................................................................................................17
2.3.2 Algoritmos Paralelos..........................................................................................................18
3. PRINCIPAIS MTODOS DE ESQUELETIZAO (OU AFINAMENTO)....................................20
3.1) Mtodo de Stentiford...........................................................................................................20
3.2) Mtodo de Zhang-Suen.......................................................................................................21
3.3) Mtodo de Holt....................................................................................................................22
3.4) Mtodo de Morfologia Matemtica......................................................................................23
3.5) Mtodo da Poda (Pruning)..................................................................................................24
3.6) Mtodo MB..........................................................................................................................24
4. RESULTADOS EXPERIMENTAIS..................................................................................26
4.1 CONJUNTO DE IMAGENS......................................................................................................26
4.2 PLATAFORMA HARDWARE E SOFTWARE..........................................................................27
4.3 GRFICOS E IMAGENS GERADAS COM O SOFTWARE.....................................................28
4.3.1 Aplicao do Mtodo Zhang-Suen....................................................................................28
4.3.2 Combinao dos Mtodos Zhang-Suen e Mscaras de Holt (staircase removal).............30
4.3.3 Aplicao do Mtodo de Stentiford....................................................................................31
4.3.4 Combinao dos Mtodos de Stentiford e Mscaras de Holt (staircase removal).............33
4.3.5 Aplicao do Mtodo da Morfologia Matemtica...............................................................35
4.3.6 Aplicao do Mtodo MB...................................................................................................37
4.3.7 Combinao dos Mtodos MB e Mscaras de Holt (staircase removal)............................40
4.3.8 Combinao dos Mtodos MB e Stentiford.......................................................................41
4.3.9 Combinao dos Mtodos Morfologia Matemtica e Poda ...............................................42
5. CONCLUSES................................................................................................................44
APENDICE A.......................................................................................................................47
A.1 IMAGEM BINRIA..................................................................................................................47
A.1.1 Formato PBM...................................................................................................................47
A.1.2 Especificao dos formatos PBM.....................................................................................47
NDICE DE ILUSTRAES
Figura 1.1 - Exemplo de afinamento da letra A ......................................................................... 8
Figura 2.1 - Conectividade entre pixels
11
Figura 2.2 - Pixels vizinhos 12
Figura 2.3 - Exemplos de vizinhanas
13
Figura 2.4 - Voxel
13
Figura 2.5 - Efeito da Transformada Euclidiana
14
Figura 2.6 - Distncia Cityblock
15
Figura 2.7 - Distncia Chessboard 16
Figura 2.8 - Afinamentos baseados em MAT
18
Figura 2.9 - Nomenclatura usual dos pixels 19
Figura 2.10 - Preservao da topologia
19
Figura 2.11 - Genealogia do afinamento
19
Figura 3.1 - Exemplo simples de afinamento da letra T
20
Figura 3.3 - Problemas Gerais de Afinamento
21
Figura 3.7 - Mscaras do Mtodo MB
25
Figura 4.1 - Amostra para afinamento 1
26
Figura 4.2 - Amostra para afinamento 2
27
Figura 4.3 - Amostra para Afinamento 3
27
Figura 4.4 - Zhang-Suen afina amostra 2 28
Figura 4.5 - Zhang-Suen Morfologia dos Objetos 29
Figura 4.6 - Zhang-Suen ocorrncia de Tailing
29
Figura 4.7 - Zhang-Suen Falha ao Afinar Algumas Linhas 29
Figura 4.8 - Zhang-Suen com Staircase
30
Figura 4.9- Zhang-Suen e Holt Verificao 1
31
Figura 4.10 - Comparao da Combinao Holt/Zhang-Suen com Zhang-Suen 31
Figura 4.11 - Stentiford Verificao 1
32
Figura 4.12 - Stentiford e a Ocorrncia de Staircase
32
Figura 4.13 - Comparao: Stentiford, Holt e Zhang-Suen 33
Figura 4.14 - Staircase Removal: Comparao Geral
33
Figura 4.15 - Problemas Gerais de Morfologia e Tailing 33
Figura 4.16 - Stentiford e Mscaras de Holt: Verificao 1 34
Figura 4.17 - Stentiford combinado com Holt: Ocorrncia de Necking
34
Figura 4.18 - Stentiford combinado com Holt: uma nova ocorrncia de Necking 35
Figura 4.19 - Aplicao da Morfologia Matemtica: ocorrncia de Tailing e ramificaes
35
Figura 4.20 - Aplicao da Morfologia Matemtica: ocorrncia ramificaes
36
Figura 4.21 - Ocorrncia de ramificaes aps a aplicao da Morfologia Matemtica 36
Figura 4.22 - Comparao entre Stentiford e Morfologia Matemtica
36
Figura 4.23 - Casos extremos de ramificaes
37
Figura 4.24 - Mtodo MB Verificao 1
37
Figura 4.25 - Mtodo MB Verificao 2
38
Figura 4.26 - Problemas com ngulos de 90 com o mtodo MB 38
Figura 4.27 - Incoerncia no afinamento com MB 39
Figura 4.28 - Ilustrao das linhas afinadas em 90 com MB
39
Figura 4.29 - Melhor performance utilizando o mtodo MB
39
Figura 4.30 - Rudos em algumas linhas afinadas 40
Figura 4.31 - Efeito colateral ao combinar MB e Mscaras de Holt
40
Figura 4.32 - Verificao do efeito colateral 41
Figura 4.33 - Combinao dos mtodos MB e Stentiford: Verificao 1 41
Figura 4.34 - MB e Stentiford sem problemas de largura de dois pixels 42
Figura 4.35 - Combinao dos mtodos de Morfologia Matemtica e Poda
42
Figura 4.36 - Morfologia Matemtica e Poda: maior preciso
43
Figura 4.37 - Morfologia Matemtica e Poda eliminao de boa parte das ramificaes
43
Figura 5.1 - Exemplo de uma Pr-Classificao para um complemento deste estudo 44
Figura A.1 - Exemplo do formato PBM em ASCII 48
LISTA DE TABELAS
Tabela 2.1 - Ditncia entre Pixels ................................................................................ ..........17
1. INTRODUO
Desde os primrdios do surgimento da tecnologia dos computadores, foi possvel fazer com
que estas mquinas fossem empregadas no reconhecimento de padres nas mais variadas
reas. Paralelamente a esse fato, havia tambm a necessidade de reduzir o volume de
informaes a serem processadas para o reconhecimento de padres. Os primeiros experimentos
em compresso de dados foram realizados nos anos 50, e utilizavam padres de caracteres
alfanumricos.
O afinamento (ou esqueletizao) uma importante etapa de pr-processamento para
vrios tipos de algoritmos que realizam alguma anlise de imagens. De um modo geral, este
processo envolve a remoo dos pixels dos objetos que formam uma imagem, at que cada um
destes objetos seja representado por uma linha simples, com largura de um nico pixel. O
conjunto de linhas que formado ao final do processamento chamado de esqueleto da imagem.
Durante os anos 50, a criao de muitos algoritmos para compresso de dados utilizando
afinamento fez com que surgisse uma grande variedade de padres para diferentes propsitos.
No incio dos anos 60, rapidamente encontrou-se uma aplicao para a tcnica do afinamento no
campo da biomedicina: tendo como objetivo contar e medir as clulas brancas do sangue, o
algoritmo Shrink foi utilizado para identificar clulas anormais (Preston 1961). Muitas outras
aplicaes nesta rea passaram a existir, desde a anlise de cromossomos, anlise de imagens
de raio-X (Preston e Duff 1979), e de artrias coronrias (Nguyen e Sklansky 1986). Em outras
reas podemos encontrar o afinamento sendo utilizado no processamento de sistemas de
reconhecimento de retina, classificao de impresses digitais (Moayer e Fu 1975), anlise visual
de peas industrializadas (Mundy e Joynson 1977), confeco de placas de circuito impresso (Ye
e Danielsson 1988) e muitas outras aplicaes.
Desta maneira j se pode ter uma idia de como vasta a utilizao do processo de
afinamento de imagens, j que a reduo que ocorre na quantidade de dados a serem
processados ao se afinar uma imagem facilita a anlise desta. Ao se aplicar este processo, por
exemplo, em caracteres alfanumricos, os padres utilizados para a anlise se aproximam muito
da concepo humana e permitem uma anlise estrutural simples com uma representao
apropriada para os algoritmos de reconhecimento. Como exemplo podemos citar uma imagem
que contm uma letra de nosso alfabeto, representada na figura 1.1 (a):
Figura 1.1 Exemplo de afinamento da uma imagem de um caractere de nosso alfabeto. O esqueleto de uma imagem
considerado um grafo (ou ainda uma representao das partes essenciais) da imagem original.
Aps passar por um processo de afinamento, teremos como resultado o esqueleto desta
imagem, figura 1.1 (b), o qual considerado um grafo entre a descrio abstrata desta letra e a
representao fsica deste caractere. Ao obtermos o esqueleto de uma imagem, poderemos
eliminar distores no contorno e ao mesmo tempo mantendo suas propriedades geomtricas e
topolgicas. Em termos mais prticos, pode-se dizer que os esqueletos fazem com que a imagem
fique mais ntida (para que os algoritmos possam analis-la), em especial quando necessrio
extrair algumas caractersticas crticas desta imagem (como, por exemplo, pontos de conexes
entre objetos diferentes). Naturalmente, para que um algoritmo de afinamento seja realmente
eficiente, ele precisa compactar os dados da imagem retendo as caractersticas significativas do
padro e eliminar os rudos sem introduzir distores.
Rosenfeld (Rosenfeld e Pfaltz 1966) classifica os algoritmos de afinamento em dois grupos:
paralelos e seqenciais. No primeiro grupo, a deciso de remover ou no um pixel na iterao
atual baseada somente no resultado da iterao (passo) anterior, tornando este tipo de
algoritmo apropriado para um hardware com mais de um processador. No segundo grupo, para
que um pixel seja processado, leva-se em conta o resultado do passo anterior e tambm do
passo atual. Sem dvida alguma, a resoluo que a imagem possui incrementa tempo e
complexidade significativos aos algoritmos, j que todos os pixels dela so examinados a cada
iterao.
Para que possamos utilizar todas as caractersticas anteriormente citadas e produzir
algoritmos simples e rpidos, h vrios desafios. Vrios artigos foram publicados discutindo os
mais variados aspectos deste assunto, mas mesmo assim pode-se notar que ainda estamos
carentes de uma viso mais elucidativa. Existem alguns artigos nesta rea que tm este fim:
(Tamura 1978, Milditch 1983, Davies 1981). A inteno aqui no se resume somente a
desenvolver um mtodo que contenha as principais caractersticas desejveis, mas tambm
coletar dados (provenientes de testes empricos e comparaes tericas) sobre os principais
algoritmos de afinamento. Tudo isso ser discutido tendo em vista um conjunto consistente de
informaes.
PROBLEMA
A existncia de vrios mtodos de afinamento faz com que a escolha de um destes (como
parte do processamento de uma imagem digital) se torne uma tarefa confusa. Isso se deve ao
fato de que diferentes mtodos afetam diferentes caractersticas da imagem, podendo, por
exemplo, causar perda da forma ou da conectividade dos objetos. Assim sendo, a escolha do
mtodo depender, em especial, da aplicao-fim atravs da qual poderemos saber qual das
caractersticas dos objetos afinados a mais desejada.
1.2 OBJETIVOS
Como j citado anteriormente, vrios estudos e novos mtodos so publicados a cada ano
sobre este assunto, mas ainda preciso uma viso mais elucidativa sobre os resultados obtidos
com cada um dos algoritmos mais conhecidos nesta rea.
A idia inicial aqui, utilizar o mesmo conjunto de imagens e realizar testes concisos e
coerentes, com diversos mtodos de afinamento, buscando assim, destacar as caractersticas
mais marcantes que cada esqueleto resultante apresentar. Desta maneira, ser possvel expor
isto de forma comparativa.
2. CONCEITOS PRELIMINARES
Durante o decorrer deste trabalho, vrios conceitos precisaram ser estudados e adaptados
s necessidades do projeto. Abaixo esto listados estes conceitos para facilitar o entendimento
global do estudo.
Figura 2.1: (a) Conectividade entre pixels neste caso se enquadra para ambas as vizinhanas. (b) os pixels X e Y
somente estaro conectados no caso de considerarmos uma vizinhana 8. (c) neste ltimo caso, temos vrios pixels
isolados uns dos outros mas, mesmo assim, cada um deles um componente conexo.
10
De uma forma resumida, os pixels p2, p3, ... , p9 formam a vizinhana-8 do pixel p1 e so
coletivamente denotados por N(p). Dizemos que eles so os 8-adjacentes a p1. Os pixels p2, p4, p6
e p8 formam a vizinhana-4 de p1 e so os 4-adjacentes a p1. O nmero de pixels pretos em N(p)
denotado por b(p).
Assim, podemos conceituar as vizinhanas como segue abaixo:
2.2.1 Vizinhana-4
A vizinhana 4 de um pixel pi engloba os seus dois vizinhos horizontais e os dois vizinhos
verticais. No caso de um pixel p1 possuir as coordenadas (x , y) , ento seus dois vizinhos
horizontais sero os pixels de coordenadas (x + 1, y) e (x 1, y). Verticalmente teremos os pixels
que possuem as seguintes coordenadas: (x, y + 1) e (x, y - 1). Esta ser a vizinhana 4 do pixel
p1, a qual pode ser observada na figura 2.3 (a).
2.2.2 Vizinhana-8
Neste caso, alm dos dois vizinhos horizontais e dois verticais, estaro envolvidos tambm
os quatro vizinhos diagonais do pixel. Assim sendo, no caso de um pixel p1 possuir as
coordenadas (x, y) ento sua vizinhana 8 engloba todos os pixels indicados na vizinhana 4 mais
os pixels com as seguintes coordenadas: (x-1, y-1), (x-1, y+1), (x+1, y-1) e (x+1, y+1). Isso pode
ser observado na figura 2.3 (b).
11
Figura 2.3: (a) Constiuio da vizinhana 4 do pixel p1. (b) constituio da vizinhana 8 do pixel p1. (c) observando esta
a figura podemos notar que ao considerarmos a vizinhana 6 para o voxel de coordenadas (x, y ,z), teremos como vizinhos os voxels de coordenadas: (x - 1, y, z), (x + 1, y, z), (x, y - 1, z), (x, y+1, z), (x, y, z - 1) e (x, y, z + 1). (d) vizinhana 18 de um voxel (e) vizinhana 26 de um voxel.
Figura 2.4: Ilustrao do conceito de voxel de imagens tridimensionais. Pode-se interpretar este conceito como sendo
um pixel com trs dimenses (representadas pelos eixos x, y e z ), e dependendo do tipo de vizinhana que se deseja,
seus vizinhos sero outros voxels que possuem uma mesma face e/ou aresta em comum.
D (p,q) >= 0
(D (p,q) = 0, somente se p=q)
D (p,q) = D (q,p)
D (p,r) <= D (p,q) + D (q,r)
12
onde: p = (p1, p2, ..., pn) e q = (q1, q2, ..., qn) so pontos do espao n-dimensional.
Note que utilizando esta definio, possvel utilizar esta transformada em objetos que se
encontram no mundo contnuo e tambm no mundo discreto (objetos volumtricos). Alguns
problemas surgem ao utilizar este tipo de transformada, comeando pela complexidade de sua
implementao e pelo esforo computacional necessrio para execut-la. A figura 2.5 (a) exibe
uma imagem na qual foi aplicada a transformada de distncia euclediana, e na figura 2.5 (b)
temos o resultado desta operao, onde a cor de cada pixel relativo a sua distncia Euclidiana
borda do objeto.
Figura 2.5: (a) Ilustrao da transformada Euclidiana, onde a cor de cada pixel ser alterada de acordo com a distncia
calculada pela frmula vista anteriormente. (b) resultado da transformada sobre a figura em questo. Note que quanto
mais prximo dos pixels da borda, mais escuros ficaram os pixels analisados.
onde: p = (p1, p2, ..., pn) e q = (q1, q2, ..., qn) so pontos do espao n-dimensional.
Quando o campo de aplicao desta mtrica o discreto, ela possui uma interpretao
interessante: considerando uma imagem no plano cartesiano de duas dimenses, assume-se que
para sair de um ponto p e ir para um ponto q, somente pode-se utilizar as direes dos eixos
principais do sistema de coordenadas no qual o objeto est inscrito (ou seja, vizinhana-4).
Assim sendo, se um pixel p possuir 8 vizinhos, a mtrica cityblock determina que a
distncia de p at q (quando q pertence vizinhana-4 do pixel p) igual a distncia (p,q) = 1.
Caso q pertena a alguma das diagonais da vizinhana de p, ento teremos que distncia p,q =
2. Temos ainda que para calcular a distncia entre dois pixels quaisquer, basta encontrar um
caminho entre eles e contar o nmero de pixels percorridos entre a origem e o destino. Na figura
2.6 (a), podemos verificar que os pixels destacados formam a vizinhana-4 de p. Pode-se
visualizar ainda as direes nas quais permitido realizar a contagem de distncia entre dois
pixels, note que neste caso, distncia (p,q) = 5. Na figura 2.6 (b) exibido tambm o resultado do
cityblock aplicado sobre a figura 2.5 (a).
13
Figura 2.6: (a) Destaque para a vizinhana-4 de p , verificao da contagem da distncia entre p e q , a qual igual a
5 e tambm verificao das direes que podem ser utilizadas para realizar a contagem da distncia. (b) resultado da
aplicao da mtrica cityblock imagem 2.5 (a)
No caso de um voxel, podemos notar pelas figuras 2.3 (c), (d) e (e) que este pode ter at
mesmo 26 outros voxels adjacentes, mas somente aqueles que so parte de sua vizinhana-6
que tm distncia 1 (nota-se que neste caso a contagem da distncia feita usando esta
vizinhana).
onde: p = (p1, p2, ..., pn) e q = (q1, q2, ..., qn) so pontos do espao n-dimensional.
Assim como na cityblock, a mtrica chessboard tem como objetivo substituir a euclidiana e
por este motivo est voltada para as aplicaes discretas. Aqui, considerando uma imagem no
plano cartesiano de duas dimenses, assume-se que para sair de um ponto p e ir para um ponto
q, pode-se utilizar todas as direes nos eixos do sistema de coordenadas no qual o objeto est
inscrito (ou seja: vizinhana-8).
Ento, considerando um pixel p, a mtrica chessboard determina que a distncia de p at
q (quando q pertence vizinhana-8 do pixel p) igual a distncia (p,q) = 1. Temos ainda que
para calcular a distncias entre dois pixels quaisquer, basta encontrar um caminho entre eles e
contar o nmero de pixels percorridos entre a origem e o destino.
14
Figura 2.7: (a) Em destaque a vizinhana-8 de p, vale notar que todos os pixels que fazem parte dela tem distncia 1
de p. A distncia aqui considera as diagonais, sendo que distncia (p,q) = 3. (b) resultado obtido ao aplicar a mtrica
chessboard sobre a imagem 2.5 (a)
Logo acima, na figura 2.7 (a), podemos verificar as direes nas pode-se realizar a
contagem de distncia entre dois pixels, note que neste caso distncia (p,q) = 3. Pode-se ainda
visualizar em destaque a vizinhana-8 de p. Na figura 2.7 (b) exibido o resultado do chessboard
aplicado sobre a figura 2.5 (a).
15
16
Figura 2.8: Resultados esperados para um algoritmo de afinamento, baseados na tcnica MAT e utilizando-se a
distncia euclidiana. A linha pontilhada representa o esqueleto do objeto.
Este tipo de algoritmo tem um custo alto, j que preciso realizar o clculo da distncia pi
at pn. Note que este clculo feito para todos os pi em relao a todos os pn, ou seja, so
realizados os clculos das seguintes distncias:
DISTNCIAS
Pi
Pn
p1
P1
P1
p2
P1
P1
pm
p1
P2
P2
P2
pm
p1
pn
pn
pn
pm
Tabela 2.1: Distncias entre pixels pi a pn.
17
1984), onde uma sub-iterao exclui os pixels de contorno norte e leste, e a outra exclui os
restantes, por exemplo. Outra abordagem de algoritmos que utilizam dois sub-ciclos foi criada
para processar imagens mapeadas em forma de sub-reas (subfields), semelhantes a um
tabuleiro de damas. Recentemente, algoritmos com uma sub-iterao foram implementados, mas
estes invariavelmente utilizam uma grande quantidade de informaes para preservar a
conectividade dos objetos (Lam et al, 1992).
Figura 2.9 Nomenclatura usual dos pixels em relao p1 (o pixel central), onde cada pixel da vizinhana-4
chamado conforme sua posio: p2 o pixel Leste, p4 o Norte, p6 o Oeste e p8 o Sul.
Figura 2.10 (a) e (b) Condies para preservao da topologia. Os pixels indicados por x ou y podem ter valor 1 ou
0.
18
Figura 3.1 (a) Representao do objeto original (b) visualizao do esqueleto do objeto de (a).
19
X
X
X
1
0
0
X
X
X M1
X
0
X
X
1
X
X
1
X M2
X
X
X
1
1
0
X
X
X M3
X
1
X
X
1
X
X
0
X M4
Figura 3.3 Aqui, podemos observar os problemas que normalmente ocorrem com os algoritmos de afinamento de
imagens: (a) Necking: onde a interseco de duas linhas, ao ser afinada, produz um segmento relativamente longo, o
qual no pertence imagem real. (b) Tailing: risco do surgimento de um segmento que no pertence imagem ao
afinar linhas que se cruzam e com ngulo muito pequeno entre elas. (c) Line Fuzz: um pixel qualquer conectado
borda da imagem pode produzir um segmento estranho, que no deveria pertencer ao esqueleto.
20
ser aplicadas. Se e somente se as quatro regras forem satisfeitas, o pixel poder ser eliminado.
As quatro regras asseguram que:
a) se o pixel em questo for eliminado no far com que diferentes regies ligadas por ele
passem a ficar separadas (manuteno da conectividade);
b) a eliminao de pixels sempre ocorrer nas bordas do objeto (evita eroso excessiva).
A idia bsica do mtodo Zhang-Suen decidir se um determinado pixel ser eliminado
realizando uma verificao em seus oito vizinhos (vizinhana 8). Antes da descrio do algoritmo,
preciso introduzir duas novas definies:
1) Definio de N(p):
N(p) o nmero de vizinhos no nulos de p, ou seja N(p) = p2 + p3 + p4 + p5 + p6 + p7 + p8 +
p9
2) Definio de S(p):
S(p) o nmero de transies de branco para preto (0-1) na seqncia ordenada: p2, p3, p4,
p5, p6, p7 p8, p9 e p2. Ou seja, nos pixels que circundam p1.
Existem dois passos para decidir se o pixel deve ou no ser removido, e estes esto descritos
abaixo:
PASSO 1: aqui, o pixel somente pode ser removido se satisfizer as seguintes condies:
a) N(p) maior ou igual a dois e menor ou igual a seis (esta condio verifica se existem ao
menos dois pixels vizinhos pretos ao pixel p1, e no mais do que seis. Esta condio procura
remover sucessivamente pixels da borda do objeto, ao invs de suas partes internas);
b) S(p) igual a 1 (esta condio verifica se o nmero de conectividade do pixel p1 igual a 1.
Esta condio assegura que um pixel a ser removido pertence a apenas um nico objeto);
c) A operao p2 * p4 * p6 resulta em zero ( esta condio verifica se ao menos um dos pixels
vizinhos p2, p4 ou p6 fundo (branco) da imagem);
d) A operao p4 * p6 * p8 resulta em zero (esta condio verifica se ao menos um dos pixels
p4, p6 ou p8 fundo da imagem).
PASSO 2: aqui, um pixel p1 eliminado se todas as condies abaixo forem satisfeitas:
a) N(p) maior ou igual a dois e menor ou igual a seis;
b) S(p) igual a 1;
c) A operao p2 * p4 * p8 resulta em zero;
d) A operao p2 * p6 * p8 resulta em zero.
Se um ponto satisfizer todas as condies (de a at d), ele deve ser marcado para ser
removido. No entanto, o ponto no deve ser efetivamente eliminado at que todos os pontos em
cada passo tenham sido processados. Uma vez que o PASSO 1 tenha sido aplicado a todos os
pontos, aqueles que tiverem sido marcados para remoo recebero o valor 0 (fundo). Em
seguida, o PASSO 2 deve ser aplicado aos pontos resultantes exatamente da mesma maneira
que o PASSO 1. Esse procedimento deve ser repetido at que no hajam mais pontos a serem
apagados, produzindo o esqueleto do objeto.
21
durante o afinamento de uma imagem. Este efeito indesejado pois prejudica a morfologia do
esqueleto da imagem. Uma das fases do mtodo implementado por Holt (1987) chamada de
staircase removal e elimina este problema atravs da aplicao de quatro mscaras sobre o
esqueleto de imagem. Este tratamento vantajoso pois pode ser aplicado a qualquer esqueleto
(resultante de qualquer mtodo) desde que este possua casos de staircase.
Esta fase se trata de um processo relativamente simples, onde o pixel central das
mscaras mostradas a seguir ser eliminado caso qualquer um dos pixels indicados por X tiver
valor 0 (zero) assim sendo, no causar problemas no formato ou na conectividade do objeto.
0
1
X
1
1
X
X
X
0
X
X
0
1
1
X
0
1
X
0
X
X
X
1
1
X
1
0
X
1
0
X
1
1
0
X
X
Figura 3.4 Mscaras do mtodo de Holt as quais implementam o staircase removal. Estas mscaras so aplicadas
aps um pr-processamento feito na imagem, no qual a imagem afinada e aps isso estas mscaras so aplicadas
para retirar os pixels excedentes.
Existe ainda um operador para esqueletizao, no usado aqui, pois este operador
implica apenas na aplicao sucessiva do operador de eroso, at que reste apenas o esqueleto
da imagem. Logo abaixo est o algoritmo de morfologia matemtica:
1) Antes de tudo, uma srie de oito elementos estruturantes percorrer a imagem no sentido
convencional, ou seja, da esquerda para direita, de cima para baixo. Os elementos so
apresentados a seguir:
0
X
1
M1
1
X
0
M5
0
1
1
1
1
0
0
X
1
1
X
0
X
1
X
M2
0
1
1
0
0
X
1
1
1
M3
X
1
X
0
0
0
X
1
X
M4
1
1
0
X
0
0
X
0
0
M6
1
1
0
X
1
X
0
0
0
M7
X
1
X
1
1
1
0
0
X
M8
0
1
1
X
1
X
22
(a)
1
1
1
1
(b)
0
(c)
0
(d)
Na figura 3.6 (a) a mscara somente encontra a borda do objeto analisado e exclui
qualquer pixel que pertena ao foreground que no possua no mnimo um vizinho pertencente ao
background. Note que a deteco da borda, leva em conta a vizinhana-8. Na figura 3.6 (b),
temos o mesmo caso da anterior, mas com vizinhana-4. Finalmente, na figura 3.6 (c) e (d) temos
os elementos utilizados para realizar a Poda. Em cada iterao, cada um destes elementos deve
ser utilizado em todas as rotaes que sejam mltiplos de 90.
Normalmente a Poda responsvel por apenas algumas iteraes extra para conseguir
eliminar as ramificaes
3.6) Mtodo MB
Este mtodo foi desenvolvido por Manzera et al (1999) e consiste em aplicar trs
mscaras sobre todos os pixels de valor igual a 1 (pretos) da imagem. Aps isso, basta eliminar
aqueles que satisfizerem as condies especificadas. Durante os testes foi possvel notar que nos
esqueletos resultantes houve a preservao da conectividade dos objetos, os quais apresentaram
robustez e baixo nvel de rudo.
Abaixo apresentamos as mscaras do algoritmo, bem como a maneira de aplica-las
imagem:
23
Figura 3.7 Padro das mscaras do algoritmo MB - elas devem ser aplicadas sobre o pixel nesta forma (normal) e
aps isso devem ser rotacionadas em todos os ngulos mltiplos de 90.
24
4. RESULTADOS EXPERIMENTAIS
Este captulo apresenta os experimentos realizados atravs dos mtodos de afinamento
descritos no captulo 3, bem como uma comparao de seus resultados em imagens sintticas e
reais.
25
26
Figura 4.4 Afinamento realizado utilizando-se o mtodo Zhang-Suen sobre a figura 4.2. Neste resultado pode-se
observar algumas desformidades no esqueleto de alguns dos objetos, como por exemplo o desaparecimento da linha
central da letra E ou ainda a linha reta que surgiu do lado direito da letra X.
27
Figura 4.5 Exemplo de problemas que podem ocorrer na morfologia dos objetos com o mtodo de Zhang-Suen
(a) objeto extrado da figura 4.2 (b) esqueleto, do objeto, extrado da figura 4.3.
Figura 4.6 (a), (b) e (c) Exemplos do problema da insero de uma linha reta no esqueleto dos objetos com o
mtodo de Zhang-Suen. O afinamento de linhas que se cruzam pode causar o surgimento deste efeito colateral
indesejado. (a) e (b) so o resultado do afinamento da figura 4.2 e (c) o resultado do afinamento da figura 4.1.
Figura 4.7 Fragmentos da figura 4.1 e seu afinamento por Zhang-Suen. (a) o losango original (b) afinamento do
losango, possvel notar que deveriam existir duas linhas representando este objeto: uma horizontal e outra
vertical (c) e (d) temos respectivamente os objetos e seus afinamentos. possvel verificar a falha indicada na
figura, onde a parte superior do objeto 1 foi excluda por completo e agora este objeto se assemelha a um
nmero 7.
Finalmente, ao aplicarmos este mtodo sobre a figura 4.3, possvel observar que o
afinamento foi realizado de uma forma satisfatria e que apesar do esqueleto do objeto 4
apresentar um aspecto distorcido, o maior problema aqui foi a ocorrncia da staircase. Isto pode
ser visto na figura 4.8:
28
Figura 4.8 O staircase acabou sendo o problema mais ntido desta vez no resultado de Zhang-Suen
29
Figura 4.10 A ao das mscaras de Holt pode ser vista ao se comparar este esqueleto com o das figuras 4.5 e 4.6
(a). Ambos os fragmentos (original e esqueleto) foram extrados das figuras 4.2 e 4.9 respectivamente.
30
Figura 4.11 Resultado do afinamento realizado pelo mtodo de Stentiford na figura 4.2
Aqui tivemos tambm mais um problema para afinar as partes arredondadas, onde ocorre
o surgimento uma linha reta para represent-las, como pode ser visto na figura 4.12 (a). No
entanto, isso tudo no representa uma perda muito significativa quando comparado s vantagens
deste algoritmo, o qual mais rpido que os anteriores. possvel verificar na figura 4.12 (b) e (c)
a deficincia denominada Line Fuzz, onde qualquer pixel que esteja conectado borda do objeto
que est sendo afinado, pode criar um segmento que ser considerado como pertencente ao
esqueleto. Estes segmentos surgem em forma de ramificaes, as quais esto indicadas nesta
figura. Apesar de tudo, temos uma boa morfologia dos esqueletos.
Figura 4.12 (a) Segmentos da figura 4.11 - aqui uma exemplificao do problema de staircase que o afinamento de
Stentiford causa no esqueleto (b) e (c) segmentos da figura 4.1 e seus respectivos afinamentos utilizando o mtodo de
Stentiford - mostra-se certa deficincia de afinamento, j que no esqueleto surgem segmentos indesejados e que no
fazem parte do objeto.
31
Figura 4.13 Fragmentos da figura 4.2 (a) afinamento por Stentiford (b) afinamento por Holt (c) afinamento por ZhangSuen at aqui, a melhor morfologia apresentada na maioria dos objetos foi a do mtodo de Stentiford, apesar de
inserir escadas ao afinar partes as arredondadas dos objetos.
Figura 4.14 - (a) Objeto original, extrado da figura 4.2 (b) afinado por Zhang-Suen (c) afinado por Holt (d) afinado por
Stentiford aqui, temos apresentado o problema da staircase . Nota-se que em (c) este problema foi tratado.
Analisando a figura 4.15 (a), (b) e (c), pode-se notar as dificuldades ao afinar: os crculos
da imagem cujo esqueleto foi sempre uma pequena cruz, a ocorrncia da staircase e de
segmentos retos que no pertencem ao esqueleto e a perda da morfologia do objeto 0. Apesar
disso, no geral foi possvel manter uma boa forma dos objetos.
Figura 4.15 (a) O afinamento dos crculos resultou em uma pequena cruz (b) Ao afinar alguns objetos, ocorreu o
aparecimento de alguns segmentos de retas que no pertencem ao esqueleto, bem como a staircase (c) Perda da
morfologia ao afinar o objeto 0.
32
melhora significativa da morfologia dos objetos, como pode ser observado na figura 4.16, a qual
o resultado desta mescla de mtodos sobre a figura 4.2:
Figura 4.16 - Resultado da aplicao do mtodo de Stentiford seguido das mscaras de Holt figura 4.2
Pode-se observar um certo problema no afinamento desta imagem no que diz respeito
letra B (vide figura 4.16) a qual perdeu um pouco de sua morfologia e agora se assemelha a um
nmero 8, ou seja, pode-se notar assim que em caso do objeto possuir muitos degraus um
aps o outro e em direes opostas, as mscaras de Holt podem comprometer o seu formato.
Outro problema que aparece (vide destaques da figura 4.17) o line fuzz (j comentado
anteriormente).
Figura 4.17 Combinao dos mtodos de Stentiford e Holt: fragmento da figura 4.1 afinada
Na figura 4.18, fica visvel que, aplicando Stentiford+Holt agora na figura 4.3, mais uma
vez foi possvel resolver o problema da staircase, mas alguns problemas persistem no esqueleto
como por exemplo: os segmentos extra que aparecem conectados ao esqueleto e que no
representam parte alguma da figura original.
33
Figura 4.18 (a) e (b) Demonstrao dos problemas de segmentos de retas que apareceram conectados ao
esqueleto.
Figura 4.19 - Resultado da aplicao do mtodo da morfologia em trs objetos distintos da figura 4.2. Em (a), temos os
objetos originais e em (b) seu esqueleto.
34
Figura 4.20 (a) Fragmento extrado da figura 4.2 (b) pequenos traos a mais no esqueleto da imagem, este o efeito
colateral de se utilizar o afinamento baseado em Morfologia Matemtica
Figura 4.21 Resultado da aplicao da Morfologia sobre alguns objetos da figura 4.1.
Figura 4.22 (a) Objeto original, extrados da figura 4.2 (b) esqueleto aps a aplicao do mtodo de Stentiford (c)
esqueleto aps aplicao do mtodo de Morfologia Matemtica - apesar dos defeitos, os resultados da Morfologia
Matemtica conservam melhor a forma da imagem, ou seja, criam um esqueleto melhor.
35
Na figura 4.23 (a) e (b) pode-se verificar nos esqueletos dos objetos o aparecimento de
ramificaes que no fazem parte da imagem e que no a representam. O caso mais crtico
aconteceu com esqueleto do objeto J, o qual acabou recebendo em um dos pontos vrias subramificaes. Como j mencionado anteriormente, mesmo assim a melhor morfologia dos objetos
foi deste algoritmo.
Figura 4.23 - (a) e (b) Ramificaes que aparecem nos esqueletos ao utilizarmos este mtodo
36
Figura 4.26 Afinamento com MB resultou em problemas de afinamento, em especial quando existe a juno em 90
de duas linhas (conforme indicado na figura)
37
Figura 4.27 (a)Polgono original (b) afinamento usando o mtodo MB - pequena incoerncia no resultado do
afinamento do polgono: somente uma linha reta vertical passou a represent-lo, no entanto deveria haver uma linha
horizontal a cruzando.
Figura 4.28 (a) Segmento da figura 4.1 (b) o mesmo segmento da figura 4.1 afinado com o mtodo MB. Aqui temos o
efeito colateral inerente ao mtodo MB quando este afina linhas que se cruzam formando um ngulo de
aproximadamente 90, neste caso ento o esqueleto dos segmentos de reta prximos ao encontro passam a ter dois
pixels de largura.
Ainda possvel destacar a boa atuao deste mtodo ao afinar os objetos abaixo
mostrados. Note que, diferentemente de Stentiford, aqui foi possvel obter um esqueleto sem
ramificaes em sua extenso, assim sendo, os objetos ficaram melhor representados.
Figura 4.29 Desempenho deste mtodo ao afinar objetos sem deixar as ramificaes indesejadas que aparecem no
Stentiford
Como pode-se notar na figura 4.30 (a) e (b), o segmento central do esqueleto do objeto
H possui um pouco de rudo e os esqueletos de alguns dos objetos (como J) ficaram com
alguns segmentos de reta que no fazem parte do objeto. Na letra (c), podemos ainda observar
que a letra T ficou com sua parte superior distorcida.
38
Figura 4.30 (a) Rudos na parte central do esqueleto do objeto H (b) Segmentos de reta no pertencentes
imagem original (c) parte superior do esqueleto do objeto T com incoerncia.
Como sempre, a largura de dois pixels em alguns pontos dos esqueletos inerente ao
algoritmo, isto pode tambm ser observado na figura 4.30 (a) e (b). Apesar disso, note que a
morfologia dos objetos foi mantida e que j possvel realizar um reconhecimento dos objetos
sem maiores problemas com a aplicao de mscaras.
Nos demais casos, o algoritmo reagiu bem e produziu esqueletos sem deformaes no
que diz respeito morfologia dos objetos, com poucos rudos e com uma boa qualidade.
Figura 4.31 Mtodo de afinamento MB seguido das mscaras de staircase removal de Holt aplicados figura 4.24
Na figura 4.32 (a) e (b), podemos observar melhor o efeito descrito anteriormente. Note
que todos os segmentos do esqueleto que esto na forma de dente-de-serra (ou zigue-zague)
possuam uma largura de dois pixels anteriormente. Este efeito abaixo mostrado, e que foi gerado
pela lgica da staircase removal, possui uma soluo relativamente simples: basta aplicar
algumas mscaras as quais eliminam os pixels em diagonais e repe pixels em linha reta.
39
Figura 4.32 - (a) e (b) Segmentos da imagem 4.31, a qual foi afinada utilizando-se esta mesma mescla de mtodos
(afinamento com o mtodo MB seguido da aplicao das mscaras de Holt). Note que em ambos os casos, os objetos
sofreram uma transformao interessante, porm indesejada.
Figura 4.33 Afinamento da figura 4.2 utilizando-se o mtodo MB seguido de Stentiford: isso vem sanar a maioria dos
problemas enfrentados at agora em Stentiford, mas permanece um deles: o staircase
40
Figura 4.34 (a) e (b) em ambas as figuras, esquerda est o afinamento por MB2 e direita a combinao do MB2
com Stentiford. possvel notar claramente a largura de dois pixels esquerda de (a) e (b), com como o refinamento
disto direita.
Figura 4.35 (a), (b) e (c) Afinamento da figura 4.2, esquerda de cada figura temos somente com o mtodo da
Morfologia e direita temos este mesmo afinamento utilizando o ps-processamento da Poda.
41
Figura 4.36 Afinamento da imagem 4.1 utilizando a mescla destes mtodos (a) imagem afinada somente com a
Morfologia (b) utilizando a mescla dos mtodos.
Figura 4.37 (a) e (b) Aparecem na seqncia a imagem original, o afinamento por Morfologia e o afinamento de
Morfologia seguido por Poda
42
5. CONCLUSES
O processamento de imagens o estudo da representao e manipulao de informaes
pitorescas. Este processo realizado em computadores digitais, os quais manipulam imagens,
representando-as em forma de arrays ou matrizes de valores discretos. Os avanos na tecnologia
dos computadores tm facilitado cada vez mais a utilizao deste tipo de processamento e
anlise em reas nas quais seria impossvel anteriormente devido sua alta complexidade, custo
computacional, resoluo de vdeo e eficincia dos algoritmos dentre outros fatores. Podemos
citar algumas destas novas reas: diagnsticos mdicos, controle de qualidade industrial, viso
robtica, astronomia, veculos inteligentes / sistemas de auto-estradas computadorizadas.
Muitas tcnicas complexas foram desenvolvidas e novos objetivos, que antes no eram
tangveis, podem agora ser alcanados. As novas mquinas passaram a utilizar mais
eficientemente as tcnicas matemticas para solucionar problemas complexos, os mtodos de
convoluo passaram a ser mais rpidos atravs da aplicao das Transformadas de Fourrier.
Com este estudo foi possvel observar que as melhores solues para o afinamento so
obtidas na verdade com a mescla (ou combinao) de mtodos j existentes, j que assim, um
pode compensar as deficincias do outro. As melhores solues foram obtidas com os seguintes
combinaes de mtodos:
- Stentiford seguido das Mscaras de Holt
- Morfologia Matemtica seguido do Pruning
- MB seguido de Stentiford
Para o complemento deste estudo sugerimos a implementao de um Afinamento
Seletivo, ou seja, define-se uma classificao prvia de tipos de objetos a serem afinados e os
respectivos mtodos a serem utilizados para este afinamento, por exemplo:
- TIPO 1:
Objetos que possuem at 4 cantos quadriculados e nenhuma parte arredondada
Afinamento por Zhang-Suen
- TIPO 2:
Objetos que possuem at 4 cantos quadriculados e 4 partes arredondadas
Afinamento por Stentiford e Holt
- TIPO 3:
Objetos com mais de 5 cantos quadriculados e/ou mais de 5 partes arredondadas
Afinamento por MB e Stentiford
Atravs da aplicao de mscaras sobre a imagem realiza-se uma classificao de todos
os objetos a serem afinados (estes objetos sero enquadrados em um dos tipos exemplificados
acima). Aps esta etapa, basta aplicar o mtodo de afinamento pr-definido para um daqueles
tipos. Como exemplo, podemos extrair alguns objetos da figura 4.1 e sua classificao seria como
a mostrada na figura 5.1:
Figura 5.1 Exemplo de uma pr-classificao para alguns dos objetos da figura 4.1. Note que em (a) temos um
objeto do TIPO 3, em (b) temos dois objetos do TIPO 1 e em (c) um objeto do TIPO 2.
43
REFERNCIAS BIBLIOGRFICAS
Chauhan, M. S., Hindi Character Recognition, Department of Computer Science & Engineering
Indyan Inst. of Technology Kanpur, 2001
Davies E.R., Plummer A.P.N. , Thinning Algorithms: A Critique and a New Methodology, Pattern
Recogn. , vol 14, n 1, pp 53-63, 1981.
Gonzalez R. and Woods R., Digital Image Processing, Second Edition, Prentice-Hall, 2002.
Hilditch C. J., Comparison of a Thinning Algorithm in a Parallelprocessor, Image Vision Comput,
vol 1, n 3, pp 115-132, 1983.
Holt, C. M. et al, An Improved Parallel Thinning Algorithm, Communications of the ACM, vol. 30,
n 2, pp 156-160, 1987
Lam L. et al, Thinning Methodologies A Comprehensive Survey, IEEE Trans. On Patt. Analisys
and Mach. Intell., vol 4, n 9, september, 1992.
Manzera A. et al, Ultra-fast Skeleton Based on Isotropic Fully Parallel Algorithm, Proc. Of
Discrete Geometry for Compuiter Imagery, 1999.
Moayer B. and Fu K.S., A Sintactic Approach to Fingerprint Pattern Recognition,
Recogn., vol 7 pp. 1-23, 1975.
Pattern
Mundy J. L. and Joynson R. E., Automatic Visual Inspection Using Syntatic Analisys in Proc. Int.
Conf. Patt. Recogn. Image Processing, pp144-147, 1977.
Niblack C.W. et al, Generating Skeletons and Centerlines from the Distance Transform,
Graphical Models and Image Processing. 54, 5, 420-437, 1992
Nguyen T. V. and Sklansky J., A Fast Skeleton-Finder for Coronary Arteries in Proc. 8th Int. Conf.
Patt. Recogn. (Paris, France), pp 481 483, 1986.
Peixoto A, e Velho L., Transformadas de Distncia , PUC Rio. Inf.. MCC 35/00, 2000
Preston K., The Cellscan System A Leucocyte Pattern Analyzer, In Proc. West Join Comput.
Conf. (Los Angeles C. A), pp 173-183, 1961
Preston K. and Duff M.J.B., Basies of Cellular Logic With Some Applications in Medical Image
Processing, Proc IEEE, vol 67 n 5 , pp 826-857, 1979
Rosenfeld A. and Davis L.S., A Note for Thinning , IEEE Trans Syst. Man. Cybern., vol 25, pp
226-228, 1976
Rosenfeld A. and Pfaltz J.L., Sequential Operations in a Digital Picture Processing, J. ACM 13,
4 , pp 471-494, October, 1966.
Stefanelli R. and Rosenfeld A., Some Parallel Thinning Algorithms for Digital Images, J. ACM,
vol. 18 , n 2, pp 225-264, 1971
Stentiford F.W.M. and Mortimer R.G., New heuristics for thinning binary handprinted characters
for OCR., IEEE TRANS. SYS. MAN AND CYBER. Vol. SMC-13, no. 1, pp. 81-84, 1983.
Tamura H., A Comparison of Line Thinning Algoritms From a Digital Geometry Viewpoint, in
Proc. 4th Int. Conf. Patt. Recogn. (Kyoto Japan), pp 715-719, 1978.
Ye Q. Z. and Danielsson P. E., Inspection of Printed Circuit Boards by Connectivity Preserving
44
Shirinking, IEEE Trans. Pattern Anal. Mach. Intell. , vol 10, n 5, pp 737-742, 1988.
Zhang T.Y. and Suen C.Y., A Fast Parallel Algorithm for Thinning Digital Patterns, Comm.
ACM. ,vol 27, n 3, pp 236-239, 1984.
45
APENDICE A
A.1 IMAGEM BINRIA
O conceito bsico de imagem binria diz que esta uma coleo de valores discretos um
ou zero (os quais significam respectivamente preto ou branco). Esta coleo melhor
representada por uma matriz A , onde cada clula Ai,j possui apenas um nico valor discreto.
Neste tipo de imagem, os pixels que fazem parte dos objetos so representados pelo valor 1
(preto) e os pixels que compem o fundo da imagem so os que possuem o valor zero (branco) .
Por isso, estes formatos so muitas vezes todos designados (erroneamente), por PPM.
Este espao pode ser constitudo por qualquer nmero de caracteres em branco, fim de linha ou tabulao. Alguns
softwares de interpretao podem no suportar caracteres de tabulao.
46
i) Corpo da imagem: so os valores de cada um dos pixels da imagem. O nmero total de pixels
dado pela altura da imagem vezes a sua largura, para os tipos PBM e PGM. Nos tipos PPM
temos trs vezes este nmero, j que cada pixel representado pelas trs componentes R(red),
G(green) e B(blue) da respectiva cor.
Os programas que realizam a exibio do arquivo de imagem, fazem a leitura (ou
varredura) deste comeando da esquerda para a direita e de cima para baixo, linha a linha. Na
figura A.1 (a), possvel verificar como o formato de um arquivo (em ASCII) de uma imagem
PBM e, na figura A.1 (b) podemos verificar (em uma escala ampliada) como esta imagem fica ao
ser exibida em um programa de visualizao de imagens.
Observando a figura A.1 (a), pode-se notar na primeira linha que o magic number tem o
valor P1, indicando o tipo PBM. Na segunda linha, pode-se observar que a largura (8) e a altura
(10) da imagem so dadas em notao decimal e separadas por um espao em branco (o qual
pode ser substitudo por marcas de tabulao ou marcas de fim de linha). As partes restantes do
arquivo mostram o valor de cada pixel do corpo da imagem, sendo que cada valor 1 (um) indica
um pixel da cor preta, os quais fazem parte dos objetos, e cada valor 0 (zero) indica um pixel da
cor branca, ou seja, do fundo da imagem.
Figura A.1 (a) imagem em formato ASCII, sendo magic number = P1 (indicando o tipo PBM), largura = 8 e altura = 10
(ambas indicadas em notao decimal e equivalendo ao nmero de pixels). Na terceira linha, tem incio a
representao do corpo da imagem, onde o valor um indica um pixel preto (que faz parte de um objeto) e o valor zero
indica um pixel branco (que faz parte do fundo da imagem).
Um caractere (byte) por cada componente RGB do pixel, restringindo assim o valor mximo dos tons de cinza e das
componentes de cor a 255.
47
-- Para as variantes ASCII dos trs tipos de formato, aplicam-se ainda as seguintes regras:
possvel realizar a insero de qualquer comentrio em qualquer parte do arquivo. Para isto,
basta fazer a indicao do incio do comentrio utilizando o caractere #, assim todo o texto,
incluindo este caractere at a indicao de fim de linha ser reconhecido como parte do
comentrio;
Existe uma limitao no tamanho mximo de cada linha, a qual no deve possuir mais de 70
caracteres 4.
Esta limitao deriva da especificao inicial visando a transmisso de imagens por e-mail.
48