Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Afiltragemespacialconsistenoprocessamentodavizinhana,ouseja,clculoslinearesso
realizadosnospixelsdavizinhanadeumpixelcentral(x,y)eosresultadosdesseprocesso
soaplicadosaopixelcentral.
Asoperaeslinearesdeinteresseconsistemnamultiplicaodecadapixeldavizinhanapor
umcoeficienteenasomadessesresultadosparaobterumarespostaacadapontocentral
(x,y).
EmMATLABtodoesseprocessopodeserfeitocomousodafuno
g=imfilter(f,w,filtering_mode,boundary_options,sizeoptions)
onde:
faimagemdeentrada
wamscara
gaimagemfiltrada,nasada
filterng_modeacorrelao1 (corr)ouconvoluo2 (conv)
boundary_optionstratadoproblemadeborderpadding(preenchimentodeborda)
size_optionspodeserfull,queretornaaimagempreenchidacomoresposta,ousame,
queretornaumaimagemdomesmotamanhodef.
Afuno
g=imfilter(f,w,replicate)
utilizadaparaimplementarumafiltragemlinearpadro.
AImageProcessingToolboxdoMATLABjtrazalgunsfiltrospadres,quepodemserobtidos
atravsdafuno
w=fspecial(type,parameters)
1
Acorrelaooprocessodafiltragempropriamentedito,comamscarawnaposiooriginal,ouseja,
0.
2
Aconvoluo,naverdade,omesmoprocessoqueacorrelao,pormcomamscarawtransladada
de180,ouseja,invertida.
1
ondetypeumdostiposdefiltrosaseguir:
Tipo DescrioeSintaxe
average fspecial(average,[rc]).recsoasdimensesdofiltroaserutilizado,
sendoqueumniconmerocorresponderaumamscaraquadrada.
disk fspecial(disk,r).Umamscaramdiacircularderaiopadro5.
gaussian fspecial(gaussian,[rc],sig).UmfiltroGaussiano,cujospadresso
3x3para[rc]e0,5parasig.
laplacian fspecial(laplacian,alpha).UmfiltroLaplaciano3x3comalphano
intervalo[01]epadro0,5.
log fspecial(log,[rc],sig).aLaplacianadeumaGaussiana,com
padres5x5e0,5.
motion fspecial(motion,len,theta).Ofiltroaproximaaimagemdeumesboo
demovimentolinear,ondelenonmerodepixelsmovimentadose
thetaadireodomovimento.Ospadresparalenethetaso9e0.
prewitt fspecial(prewitt).UmfiltrodePrewitt3x3,wv,queaproximaaimagem
dogradientevertical.
sobel fspecial(sobel).UmfiltrodeSobel3x3,sv,queaproximaaimagemdo
gradientevertical.
unsharp fspecial(unsharp,alpha).Umfiltrodenitidez.Oparmetroalpha
controlaaformaevarianointervalo[01],opadro0,2.
TABELA1
Ofiltrolinearmedianosimilaraofiltroaverage(mdio),noentanto,aoinvsdefazera
operaodamdiadosvaloresdavizinhana,essefiltrofazamedianadessesvalorese
computaelesaopixelcentral.
Paraaplicaressefiltropodeserusadaafuno:
g=medfilt2(A,[mn])
onde:
2
Aaimagemaserfiltrada
[mn]amatrizquedeterminaasdimensesdofiltro,ouseja,quantosertomadoda
vizinhanaparaosclculos.
Podesetambmusarafuno,jcomosvalorespadrespara[mn]iguaisa3x3
escrevendose
g=medfilt2(A)
Essefiltronolinearrespondebaseadonaordenaoedospixelscontidosnavizinhanae
entosubstituindoovalordopixelcentralcomovalordeterminadopeloresultadode
classificao.
Elepodeserobtidoatravsdousodafuno
g=ordfilt2(f,order,domain)
onde
gaimagemdesada
faimagemdeentrada
orderaordemdonmeroquedesejamosretirardepartedamatrizfecolocarna
matrizg
domainumamatrizcom0se1s,ondeos1srepresentamosnmerosquesero
usadosnaordenao.
Exemplo1)
Considereamatriz
I=[1245;
5351;
0352;
2 1 7 7 ];
J = ordfilt2(I,3, ones(2,2));
Usandoodomainones(2,2)obtemosobloco[1253].Ordenandooobtemos[1235].Como
aordemqueescolhemos3,oterceiromenornmeroseroescolhidoparapreenchera
posio(1,1)damatizJ,quenessecaso3.Assimobtemosamatrizresultante
3
J=[3???;
????;
????;
? ? ? ? ];
Oprocessoserepetiratquetodaamatrizestejapreenchida.
4
PROCESSAMENTO MORFOLGICO DE IMAGEM
Osprocessosmorfolgicosaplicadossimagensbaseiamsenamodificaodaestruturada
imagemoriginal,muitasvezesparaaremooderudos(comoocasodousodaerosoeda
dilataoconjuntamente).AsoperaesmaisconhecidassoaErosoeaDilataodeuma
imagem.
2.1) Dilatao
Adilataoumaoperaoquecresceumaimagembinriaatravsdaaplicaodeuma
espciedefiltro,chamadodeelementoestrutural(structuringelement,se).NoMATLAB,
podemosimplementaressafunoutilizandoaseguintesintaxe
A2=imdilate(A,se)
onde:
Aaimagemquedesejasedilatar
seoelementoestruturalquedesejaseaplicarimagem.
Parageraroelementoestruturalseusaseafuno
se=strel(shape,parameters)
onde:
shapeumastringespecificandooformatodesejado
parametersumalistadeparmetrosqueespecificaroasinformaessobreo
formato(shape)daestrutura,comootamanho.
AImageProcessingToolbox(IPT)doMATLABnostrsumasriedeelementosestruturaisque
podemserusados.Algunsdelesestolistadosnatabelaabaixo.
5
Sintaxe Descrio
se=strel(disk,R) Geraumaestruturaplananaformadeum
discoderaioR.
se=strel(line,LEN,DEG) Geraumaestruturaplananaformadeuma
linha,ondeLENespecificaalarguradalinha
eDEGonguloemrelaoorigem.
se=strel(octagon,R) Geraumaestruturaplananaformadeum
octgono,ondeRespecificaadistnciado
centrodooctgonoatumdeseuslados.
se=strel(pair,OFFSET) Geraumaestruturaplanacontendodois
membros.Ummembroestlocalizadona
origem,enquantoaposiodooutro
especificadapelovetorOFFSETdedois
inteiros.
se=strel(periodicline,P,V) Geraumaestruturaplanacontendo2*P+1
elementos.Umdoselementosseposiciona
naorigem,enquantoosoutrosso
especificadospelovetorVdedoisinteiros
querepresentamaslinhaseascolunas.
se=strel(rectangle,MN) Geraumaestruturaplanaretangular.MeN
especificamasdimensesdesseretngulo,
ondeMonmerodelinhaseNode
colunas.
se=strel(square,W) Geraumaestruturaplanaquadrada,ondeW
especificaalarguradoquadrado.
se=strel(arbitrary,NHOOD) Geraumaestruturadeformatoarbitrrio.
se=strel(NHOOD) NHOODumamatrizde0se1sque
especificaoformato.
Asegundaformaumasimplificaoda
primeira.
TABELA2
3
Porplana,deveseentenderqueesseelementoestruturaltemalturazero,ouseja,elesestcontidoem
umadimenso.Essadenominaosservequandosetrabalhacomimagensdeduasdimensesem
escaladecinza.
6
2.2) Eroso
Aerosoumaoperaoqueencolheaimagem.Assimcomonadilatao,amaneirade
controlaresseencolhimentocomousodeelementosestruturais.NoMATLABpodemos
implementarumaerosoatravsdousodafuno
A2=imerode(A,se)
onde:
Aaimagemquedesejasedilatar
seoelementoestruturalquedesejaseaplicarimagem.
Bemcomonadilatao,osformatosparaseestoindicadosnaTABELA2.
Comumentenecessriosefazerusodasduastcnicasdeprocessamentomorfolgico.Para
isso,existemduasnovasoperaes,aabertura(Opening)eofechamento(Closing).Sero
apresentadastambmasoperaesdeacertoouerro(Hitormiss),astabelasdepesquisa
(Lookuptables)eumusomaisdetalhadodafunobwmorph.
2.3.1) Opening
AoperaodeaberturadeumaimagemrealizadaatravsdeumaerosodeumaimagemA
porumaB(ondeBumelementoestrutural)seguidadeumadilataodoresultadoporB.
Aaberturanosdarumaimagememaciada,ondetodasasligaesecontornosfinosso
erodidos.
Essaoperaopodeserobtidaatravsdousodafuno
C=imopen(A,se)
onde:
Caimagemquesergeradaapsaabertura
Aaimagemdeentrada
seoelementoestruturalaserusado.
7
2.3.2) Closing
Aoperaodefechamentodeumaimagemrealizadaatravsdeumadilataodeuma
imagemAporumaB(elementoestrutural)seguidadeumaerosodoresultadoporB.
Ofechamentonosdarumaimagememaciada,assimcomonaabertura,porm,no
fechamento,osespaosabertosdasimagensserodilatados,epequenosburacosna
imagemseropreenchidos.
Essaoperaopodeserobtidaatravsdousodafuno:
C=imclose(A,se)
onde:
Caimagemquesergeradaapsofechamento
Aaimagemdeentrada
seoelementoestruturalaserusado.
Atransformadahitormisscapazdeidentificarasconfiguraesespecficasdospixis,tais
comoisolarpixelsdeprimeiroplano,oupixelsquesoospontosdeextremidadedos
segmentosdelinha(detecodebordas),ouseja,umaoperaoparaaidentificaode
forma.Paraisso,elausaumpardeelementosestruturais,B1eB2,ondeB2ocomplemento
deB1.
NoMATLAB,podemosimplementaressafunodaseguintemaneira
C=bwhitmiss(A,B1,B2)
onde:
Coresultadodaoperao
B1oelementoestrutural
B2osegundoelementoestrutural,complementodeB2.
8
2.3.4) Lookup Tables
Quandooselementosestruturaisdatransformadahitormisssomuitopequenos,uma
maneiramaisrpidadecomputaratransformadausandoumaLookupTable(LUT).
Umatabeladepesquisaumvetorcoluna,emquecadaelementorepresentaovaloraser
retornadoparaumapossvelcombinaodepixelsnumavizinhana.
Paraumavizinhanade3x3,porexemplo,existem512(29)possveiscombinaesdepixels,
logo,aLUTumvetorde512elementos.
AfunousadaparacriarumaLUT
lut=makelut(fun,n)
Comoafunofuncomplexa,notrabalharemoselanestaseo.
UmaaplicaomaistilnousodasLookupTablesadetecodebordasdasimagens,ou
seja,aidentificaodospixelsdeextremidade.Parataltarefa,vamosusaroalgortimo
endpoints.m,mostradoaseguir:
functiong=endpoints(f)
%ENDPOINTSComputesendpointsofabinaryimage.
%G=ENDPOINTS(F)computestheendpointsofthebinaryimageF
%andreturnstheminthebinaryimageG.
%Copyright20022009R.C.Gonzalez,R.E.Woods,andS.L.Eddins
%FromthebookDigitalImageProcessingUsingMATLAB,2nded.,
%GatesmarkPublishing,2009.
%
%Bookwebsite:http://www.imageprocessingplace.com
%Publisherwebsite:http://www.gatesmark.com/DIPUM2e.htm
persistentlut
ifisempty(lut)
lut=makelut(@endpoint_fcn,3)
end
g=applylut(f,lut)
%%
functionis_end_point=endpoint_fcn(nhood)
%Determinesifapixelisanendpoint.
%IS_END_POINT=ENDPOINT_FCN(NHOOD)acceptsa3by3binary
%neighborhood,NHOOD,andreturnsa1ifthecenterelementisan
%endpointotherwiseitreturnsa0.
9
interval1=[010111111]
interval2=[111111111]
%Usebwhitmisstoseeiftheinputneighborhoodmatcheseither
%interval1orinterval2,oranyoftheir90degreerotations.
fork=1:4
%rot90(A,k)rotatesthematrixAby90degreesktimes.
C=bwhitmiss(nhood,rot90(interval1,k))
D=bwhitmiss(nhood,rot90(interval2,k))
if(C(2,2)==1)||(D(2,2)==1)
%Pixelneighborhoodmatchesoneoftheendpoint
%configurations,soreturntrue.
is_end_point=true
return
end
end
%Pixelneighborhooddidnotmatchanyoftheendpoint
%configurations,soreturnfalse.
is_end_point=false
AfunodaIPTbwmorphimplementaumavariedadedeoperaesbaseadasnacombinao
dedilataes,eroseseoperaescomlookuptables.Asintaxedessafuno
g=bwmorph(f,operation,n)
onde:
operationumastringespecificandoaoperaodesejada
numinteiroespecificandoonmerodevezesqueaoperaodeveserrepetida.
AsoperaescontidasnaIPTestolistadasnatabelaabaixo:
10
Operao Descrio
bothat OperaoBottomHatqueusaum
elementoestrutural3x3.Aoperaoremove
pequenoselementosedetalhesdaimagem
queestiveremcercadoscomelementos
maisescuros.
bridge Conectapxelsseparadosporlacunasde
pxelnico.
clean Removepxelsisoladosnoprimeiroplano.
close Operaodefechamentocomumelemento
estrutural3x3.
diag Preenchepixelsisoladosdoprimeiroplano
conectados.
dilate Operaodedilataocomumelemento
estrutural3x3.
erode Operaodeerosocomumelemento
estrutural3x3.
fill Preencheburacosdepxelnico.Usase
imfillparaburacosmaiores.
hbreak Removepxelsdoprimeiroplanoconectados
emH.
majority Fazumpxelpserdoprimeiroplanoseele
tiverumavizinhanade,pelomenos,5pxels
doprimeiroplano.Casocontrrio,elese
tornarumpxeldobackground.
open Operaodeaberturacomumelemento
estrutural3x3.
remove Removepxelsinteriores(pixelsdoprimeiro
planoquenotemvizinhosnobackground).
shrink Transformaobjetossemburacosempontos
eobjetoscomburacosemanis.
skel Fazoesqueletodeumaimagem.
spur Removepxelsisolados,ouseja,no
concatenados.
11
thicken Engrossaaimagemsemjuntarassuas
partesdesconexas.
thin Afinaasimagenssemburacosparalinhas
finasconectadas.Objetoscomburacosse
tornamanisfinos.
tophat OperaoTopHatusandoumelemento
estruturalde3x3.Aoperaoremove
pequenoselementosedetalhesdaimagem
queestiveremcercadoscomelementos
maisbrilhantes..
TABELA3
12