ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA Laboratorio de Procesamiento Digital de Imgenes PRIMERA PRCTICA PRESENTADO POR: APELLIDOS Y NOMBRES CUI FIRMA MONTALICO CALDERN, OCAR !""##!#$ %%%%%%%%%%% AREQUIPA PERU 2008 _______________________________________________________________________________ Procesamiento digital de imgenes " Primera practica EPIE LABORATORIO DE PROCESAMIENTO DIGITAL DE IMGENES I. OBJETIVOS II. PROCEDIMIENTO 1. LEER Y MOSTRAR UNA IMAGEN. Clear Clc J=imread('kids.tif'); %leer imajen imshow(J,256) %mostrar imajen Con que tipos de imagines trabaja matlab? Que es una imagen indexada? La propiedad ms bsica de una imagen es su modo. Hay tres modos posibles: RGB, escala de grises, e indexado. RGB .-son las iniciales en ingls de rojo, verde y aul, e indica !ue cada punto de la imagen es representado por un nivel de "rojo#, un nivel de "verde#, y un nivel de "aul#. $ado !ue todos los colores distinguibles por los seres %umanos se puede representar por una combinaci&n de estos colores, las imgenes RGB son a todo color. 'ada canal de color tiene ()* niveles de intensidad posibles. +ara ms detalles. imagen de escala de grises . cada punto es representado por un valor de brillo, !ue va desde el , -negro. %asta el ()) -blanco., con valores intermedios !ue representan di/erentes niveles de gris. El modo indexado .0 %a sido inventado por Compuserve en los inicios de la 1eb para crear pe!ue2os arc%ivos de imgenes a color, para !ue pudieran ser transmitidos /cilmente. G34 -Grap%ic 3nterc%ange 4ormat. /ue el primer /ormato indexado. 5l mtodo consiste en dar c&digos a cada p6xel y adjuntar al arc%ivo una tabla con el color correspondiente a cada c&digo. Los p6xeles _______________________________________________________________________________ Procesamiento digital de imgenes $ Primera practica EPIE con el mismo c&digo comparten el mismo color. Imgenes indexadas: [I,MAP] La matri 3 contiene la imagen indexada y la matri 78+ la paleta de colores RGB asociada. 9i la imagen es de :,,x:,,x()* colores, la matri 3 es de :,,x:,, con rango de valores en ;:,,<()*= y la matri 78+ es de ()*x> con rango de valores en ;,<:=. 5n el caso de imgenes en niveles de gris, la paleta de colores i de la paleta esta el i0esimo nivel de gris.
2. COMPROBAR UNA IMAGEN EN MEMORIA. hos !ame "i#e $%tes Class J &''()*+ *2,2'' -int+ arra% .rand total is *2,2'' elements -sin/ *2,2'' 0%tes Explique cada respuesta del matlab?(i.e. name,size,bytes y class ?ame 3ndica el nombre del arreglo !ue almacena a la imagen. 9ie 3ndica las dimensiones de la imagen. Bytes 3ndica el n@mero total de bytes usados en la imagen. 'lass 5s la clase numrica de almacenamiento usada para guardar una imagen en 78AL8B. Las posibles clases !ue 78AL8B utilia son !"#$8, !"#$1% y &'!()*. +. DESARROLLAR UNA ACTUALI,ACIN DE -ISTOGRAMAS. imhist(J) 0 50 100 150 200 250 0 500 1000 1500 2000 2500 3000 3500 _______________________________________________________________________________ Procesamiento digital de imgenes ! Primera practica EPIE histe1(J) %2ara es2arsir el ran/o intensidades r=histe1(J); fi/-re (*);imshow(r,256); fi/-re(2) ; imhist(r) _______________________________________________________________________________ Procesamiento digital de imgenes # Primera practica EPIE 0 50 100 150 200 250 0 500 1000 1500 2000 2500 3000 3500 Que es el !istograma de una imagen ? de"ina y ejempli"ique# contraste. %istograma es la representaci&n gr/ica de las /recuencias relativas con las !ue aparecen los distintos colores en una determinada imagen ,con una simple mirada puede proporcionar una idea muy aproximada de la distribuci&n de niveles de gris, el contraste !ue presenta la imagen , 5l %istograma de una imagen digital con L niveles de gris en el rango ;,, L0:= es una /unci&n discreta de la /orma: h(rk ! nk " # donde: rk es el B0simo nivel de gris nk es el n@mero de p6xeles en la imagen con el nivel de gris rk # es el n@mero total de p6xels de la imagen k ! $, %, &, ..., L-% niveles de gris Las intensidades o niveles de gris estn representadas a lo largo del e'e x y el n@mero de ocurrencias para cada intensidad se representan en el e'e (. $ebe remarcarse !ue la /recuencia de aparici&n de cada nivel de gris en el %istograma, se nuestra siempre en /orma relativa debido al %ec%o !ue el valor absoluto puede variar bastante en /unci&n del tama2o de la imagen, as6 como tambin puede variar el mximo valor a representar. Los valores de los niveles , y ()) no se %an tenido en cuenta a la %ora de realiar el escalado en la representaci&n, debido a !ue estos son /recuentemente demasiado amplios, con lo cual no se obtendr6a una buena representaci&n para el resto de niveles. $e esta manera, en el caso de !ue excedan el mximo de ocurrencias a representar, dic%a barra se ver de color rojo. La "orma del %istograma proporciona in/ormaciones importantes como la intensidad media y la dispersi$n de los valores de nivel de gris, siendo esta @ltima, la medida de contraste de la imagen. 'uanto mayor es la dispersi&n a lo largo del eje de los niveles de gris, mayor es el contraste de la imagen y es entonces cuando el sistema visual %umano consigue una mxima respuesta en su apreciaci&n de la imagen. 8 continuaci&n tenemos el siguiente ejemplos para observar los %istogramas correspondientes a las di/erentes imgenes. 5n el %istograma de la radiogra)*a podemos ver como la probabilidad de los niveles de gris cercanos al negro es muy elevada con respecto al resto, de a!u6 podemos deducir !ue el %istograma corresponde con una imagen oscura y con poco contraste. _______________________________________________________________________________ Procesamiento digital de imgenes & Primera practica EPIE 5n el caso contrario al anterior, tenemos un %istograma con altas probabilidades de niveles de gris cercanos al blanco - imagen "grua# ., de lo !ue deducimos !ue corresponde a una imagen clara y con poco contraste. 5n el %istograma de "airplane# podemos ver !ue tiene una /orma estrec%a, con los valores de probabilidad altos concentrados en unos pocos niveles de gris, lo !ue se traduce en una imagen con un bajo contraste. _______________________________________________________________________________ Procesamiento digital de imgenes ' Primera practica EPIE 5n el %istograma de "lenna# podemos observar como la probabilidad de ocurrencia de cada uno de los niveles de gris est mejor repartida a lo largo de todos ellos, correspondiendo con una imagen de alto contraste. .. REALCE DE IMGENES/ ECUALI,ACION DE -ISTOGRAMAS. load clown ; 3=ind2/ra%(4,ma2); % Con(ert an inde)ed image to an intensit* image s-02lot(2,*,*),imhist(3,)2); s-02lot(2,*,2),imshow(3,)2); 0 0.2 0.4 0.6 0.8 1 0 2000 4000 6000 _______________________________________________________________________________ Procesamiento digital de imgenes + Primera practica EPIE Explique cada uno de los comandos para representar el numero de pixeles y la intensidad de cada sub inter%alo load clo&n # 'arga todas las variables de un arc%ivo, en este caso del arc%ivo con nombre cloCn I0"#&21234567839:/ 'onvierte la imagen D con mapa de color 78+ a una imagen de intensidad 3, esta /unci&n remueve el mati y la in/ormaci&n de saturaci&n mientras retiene la luminiscencia ;!(9)'$527171:7"8<";$5I7+2:/ Gra/ica en una sub0ventana el %istograma de la imagen 3, con >( sub0intervalo, en un intervalo de , a :, en cada subintervalo se representa el n@mero de pixeles cuya intensidad cae dentro del mismo ;!(9)'$527172:7"8;<'=5I7+2:/ Gra/ica en una sub0ventana la imagen cargada en 3 representada en dos dimensiones, en esta imagen se tiene una resoluci&n de >( escalas de grises representado en el %istogramaE los p6xeles /orma la /igura Ejercicio# aplicar esta t'cnica a la imagen obtenida anteriormente para los casos de () y * subinter%alos. +omparar las im,genes e !istogramas resultantes !aciendo uso de los comandos subplot, im!ist e ims!o&, y comentar el resultado. 5n cada caso se %a ecualiado las imgenes para poder apreciar load clown 3=ind2/ra%(4,ma2); s-02lot(2,2,*),imhist(3,)2); s-02lot(2,2,2),imshow(3,)2); s-02lot(2,2,)),imhist(3,&); s-02lot(2,2,&),imshow(3,&); 0 0.5 1 0 2000 4000 6000 0 0.5 1 0 1 2 3 4 x 10 4 _______________________________________________________________________________ Procesamiento digital de imgenes , Primera practica EPIE >. RESTAURACIN DE IMGENES. Que tipo de ruido se puede a-adir a una imagen en matlab? Realice ejemplos gr,"icos de cada no de ellos poisson: 5=imnoise(3,'2oisson'); s-02lot(*,2,*),imshow(3);title('ima/en ori/inal'), s-02lot(*,2,2);imshow(5),title('ima/en r-ido 2oisson')
imagen original imagen ruido poisson gaussian: se caracteria por tener un espectro de energ6a constante para todas las /recuencias. 'uando se presenta este problema, el valor exacto de cual!uier p6xel es di/erente cada ve !ue se captura la misma imagen. 5ste e/ecto, suma o resta un determinado valor al nivel de gris real y es independiente de los valores !ue toma la imagen. 5=imnoise(3,'/a-ssian'); s-02lot(*,2,*),imshow(3);title('ima/en ori/inal'), s-02lot(*,2,2);imshow(5),title('ima/en r-ido /a-ssian') imagen original imagen ruido gaussian localvar: Ruido blanco Gaussiano de Falor medio cero con una intensidad dependiente de la variana _______________________________________________________________________________ Procesamiento digital de imgenes - Primera practica EPIE sal G pepper: ruido de p6xeles prendido y apagado 5=imnoise(3,'salt 6 2e22er'); s-02lot(*,2,*),imshow(3);title('ima/en ori/inal'), s-02lot(*,2,2);imshow(5),title('ima/en r-ido sal % 2i') imagen original imagen ruido sal y pi specBle: ruido multiplicativo 5=imnoise(3,'s2eckle','.2); s-02lot(*,2,*),imshow(3);title('ima/en ori/inal'), s-02lot(*,2,2);imshow(5),title('ima/en r-ido s2eck') imagen original imagen ruido speck %. FILTRADO LINEAL 7d=#eros(**,**); 7d(&8+,&8+)=ones(5,5); h=fwind*(7d,hammin/(**)); 9f*,f2:=fre1s2ace(9** **:); 9(,%:=mesh/rid(f*,f2); colorma2(jet(6&)) s-02lot(*,2,*),s-rf((,%,7d),a(is(9; * * ;* * ' *.2:); s-02lot(*,2,2),fre1#2(h,9)2 )2:),a(is(9;* * ;* * ' *.2:) ; _______________________________________________________________________________ Procesamiento digital de imgenes . Primera practica EPIE s-rf((,%,h) -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.5 0 0.5 1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 explicar la realizaci$n del "iltro, y el en%entanado utilizado# 9e crea una matri de Hd de dimensi&n ::x:: con valor cero Remplaar con unos las posiciones H al I Hd J , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , : : : : : , , , , , , : : : : : , , , , , , : : : : : , , , , , , : : : : : , , , , , , : : : : : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , luego se utilia la /unci&n /Cind: la cual crea un /iltro 43R -respuesta de impulso /inita. bidimensional, utiliando el enventanado de una dimensi&n, en este caso el de Hamming !ue devuelve la ventana de Hamming simtrica en una matri de :: puntos. Hamming-::.: genero una vector columna ::x : , los coe/icientes de la ventana de %amming es seg@n la ecuaci&n : _______________________________________________________________________________ Procesamiento digital de imgenes $" Primera practica EPIE ,.,I,, ,.:*KL ,.>LKL ,.*I(: ,.L:(: :.,,,, ,.L:(: ,.*I(: ,.>LKL ,.,I,, 4Cind:: trabaja con ventanas en una dimensi&n para /iltro 43R para generar un ventana simtrica de dos dimensiones 4re!space :$eterminar la /recuencia de espaciamiento de respuesta de /recuencia 9f*,f2:=fre1s2ace(5) f* = ;'.+''' ;'.&''' ' '.&''' '.+''' f2 = ;'.+''' ;'.&''' ' '.&''' '.+''' 7es%grid: realia la combinaci&n d e los dos vectores 9f*,f2:=fre1s2ace(**,< mesh/rid<); /: J 0,.I,,, 0,.H,,, , ,.H,,, ,.I,,, 0,.I,,, 0,.H,,, , ,.H,,, ,.I,,, 0,.I,,, 0,.H,,, , ,.H,,, ,.I,,, 0,.I,,, 0,.H,,, , ,.H,,, ,.I,,, 0,.I,,, 0,.H,,, , ,.H,,, ,.I,,, /( J 0,.I,,, 0,.I,,, 0,.I,,, 0,.I,,, 0,.I,,, 0,.H,,, 0,.H,,, 0,.H,,, 0,.H,,, 0,.H,,, , , , , , ,.H,,, ,.H,,, ,.H,,, ,.H,,, ,.H,,, ,.I,,, ,.I,,, ,.I,,, ,.I,,, ,.I,,, 4re!( : respuesta en /recuencia en dos dimensiones /re!(-%,n:,n(. : $evuelve H, respuesta de /recuencia de %, y la /recuencia de los vectores /: -n: de longitud. y /( -n( de longitud.. H es una de dos dimensiones /iltro 43R, en la /orma de una molcula computacional. 4: y /( son devueltos como normaliaron las /recuencias en el rango de 0:,, a :,,, donde :,, corresponde a la mitad de la /recuencia de muestreo, o radianes /ilter(-%,i.E da el resultado de la convolucion del /iltro -%. 3 la entrada !ue es la imagen-i. _______________________________________________________________________________ Procesamiento digital de imgenes $$ Primera practica EPIE Ejercicio# ap+i,ar e+ )i+-ro dise.ado (ha,iendo uso de +a )un,i/n )i+-er& a +a se.a+ degradada ( ,omparar +as imgenes origina+, degradada ( res-aurada rea+i,e +os ,omen-arios ,orrespondien-es. load clown; i=ind2/ra%(4,ma2); 7d=#eros(**,**); 7d(&8+,&8+)=ones(5,5); h=fwind*(7d,hammin/(**)); % creamos el filtro lineal r=imnoise(i,'2oisson'); ==filter2(h,r); %filtro al ima/en con r-ido 3=filter2(h,i); %filtro al ima/en ori/inal s-02lot(2,2,*);imshow(i);title('ima/en ori/inal') s-02lot(2,2,2);imshow(3);title('filter ima/en ori/inal') s-02lot(2,2,));imshow(r);title('ima/en con r-ido >?3""?!') s-02lot(2,2,&);imshow(=);title('filtro ima/en con r-ido') % s-02lot(fila ;col-mna;@A) ?. ESCRIBIR UNA IMAJEN imwrite(J2,'kids2.2n/'); que par,metros se puede cambiar con el comando im&rite? 9e pueden modi/icar los siguientes parmetros 5n el /ormato H$4: 'ompresi&n _______________________________________________________________________________ Procesamiento digital de imgenes $! Primera practica EPIE 'alidad 7odo de escritura
5n el /ormato M+5G 'alidad 'omentario 7odo Aama2o de bit 5n el /ormato A344 5spacio de color 'ompresion $escripcion Resolucion 7odo de escritura 5n el /ormato +?G 8utor $escripcion 'opyrig%t 4ec%a de creacion 9oC/tCare $escargo de responsibilidad 8dvertancia Recurso 'omentario _______________________________________________________________________________ Procesamiento digital de imgenes $# Primera practica EPIE Aipo de entrelaado Aama2o de bit Aranparencia 4ondo Gama 'romaticidades Resolucion D Resolucion N Resolucion de unidad 8lp%a Bits mas signi/icativos 5n el /ormato R89 Aipo 8lp%a 5n los /ormatos +B7, +G7, and ++7 'odi/icacion Falor maximo 8. COMPROBAR EL CONTENIDO DEL ARC-IVO ESCRITO imfinfo('kids.tif') ans = Bilename8<C8DEi/oF-GHoDtool0o(Dima/esDimdemosDkids. tif' BileFodCate8 ''&;Cec;2''' *)85,85+' Bile"i#e8 I5*62 Bormat8 'tif' BormatEersion8 9: idth8 )*+ 7ei/ht8 &'' $itCe2th8 + ColorJ%2e8 'inde(ed' Bormat"i/nat-re8 9,) ,) &2 ': $%te?rder8 'little;endian' !ew"-0fileJ%2e8 ' $its>er"am2le8 + Com2ression8 '>ack$its' >hotometric3nter2retation8 '=.$ >alette' "tri2?ffsets8 9*6(* do-0le: "am2les>er>i(el8 * =ows>er"tri28 25 "tri2$%teCo-nts8 9*6(* do-0le: 4=esol-tion8 ,2 K=esol-tion8 ,2 =esol-tionLnit8 '3nch' Colorma28 9256() do-0le: >lanarConfi/-ration8 'Ch-nk%' Jileidth8 9: JileMen/th8 9: Jile?ffsets8 9: _______________________________________________________________________________ Procesamiento digital de imgenes $& Primera practica EPIE Jile$%teCo-nts8 9: ?rientation8 * Bill?rder8 * .ra%=es2onseLnit8 '.'*'' Fa("am2leEal-e8 255 Fin"am2leEal-e8 ' Jhresholdin/8 * exp+i,ar ,ada una de +as respues-as de im)in)o( .m"in"o/ ?os devuelve in/ormaci&n acerca del arc%ivo gra/ico especi/icado /ilename# 'arcter !ue contiene el nombre del arc%ivo /ile0od1ate# 'arcter !ue contiene la modi/icaci&n de la /ec%a del arc%ivo /ile2ize# On entero !ue indica el tama2o del arc%ivo en bytes /ormat# On carcter !ue contiene el /ormato del arc%ive /ormat3ersion# On carcter o numero la versi&n del /ormato del arc%ivo 4nc!o# On entero !ue indica el anc%o de la imagen en pixels 5eig!t# On entero !ue indica la altura de la imagen en pixels 6ama-o de bit# On entero !ue indica el n@mero de bits por p6xel +olor 6ype# On entero !ue indica el tipo de imagen como PtruecolorP para un color verdadero RGB. PgrayscaleP para la intensidad de una escala de grises o PindexedP, para una imagen indexada _______________________________________________________________________________ Procesamiento digital de imgenes $' Primera practica EPIE _______________________________________________________________________________ Procesamiento digital de imgenes $+ Primera practica EPIE 'on 0ue -ipos de imagines -ra1a'a ma-+a12 La propiedad ms bsica de una imagen es su modo. Hay tres modos posibles: RGB, escala de grises, e indexado. RGB son las iniciales en ingls de rojo, verde y aul, e indica !ue cada punto de la imagen es representado por un nivel de "rojo#, un nivel de "verde#, y un nivel de "aul#. $ado !ue todos los colores distinguibles por los seres %umanos se puede representar por una combinaci&n de estos colores, las imgenes RGB son a todo color. 'ada canal de color tiene ()* niveles de intensidad posibles. +ara ms detalles. 5n una imagen de escala de grises, cada punto es representado por un valor de brillo, !ue va desde el , -negro. %asta el ()) -blanco., con valores intermedios !ue representan di/erentes niveles de gris. 5l modo indexado %a sido inventado por 'ompuserve en los inicios de la 1eb para crear pe!ue2os arc%ivos de imgenes a color, para !ue pudieran ser transmitidos /cilmente. G34 -Grap%ic 3nterc%ange 4ormat. /ue el primer /ormato indexado. 5l mtodo consiste en dar c&digos a cada p6xel y adjuntar al arc%ivo una tabla con el color correspondiente a cada c&digo. Los p6xeles con el mismo c&digo comparten el mismo color. +uedee ver la paleta de una imagen abierta una imagen G34 empleando el dilogo $ilogos Q +aleta indexada. 8dems le permite editar y modi/icar cada color.
%ttp:RRdocs.gimp.orgResRgimp0images0in.%tml 3ue es una imagen indexada2 5stimado usuario: 5s l&gico !ue con las imgenes indexadas no se te permita modi/icarlas, simplemente tienes !ue cambiarles el modo para poder comenar a trabajar con ellas. 8bre la imagen en p%otos%op, vete a modo y te saldr indexado. 'mbialo a RGB o '7NS -el primero es el ms aconsejable para trabajar con /iltros., a%ora ya puedes trabajar con tu imagen. Abr una foto en photoshop y queria duplicar una capa pero no me deja. En la foto aparece la palabra "INDEXADO". ue si!nifica esto y como puedo solucionarlo para poder trabajar con la foto" Ima!en inde#ada. Esta es una forma pr$ctica de representar im$!enes en color. %na ima!en inde#ada almacena una ima!en como dos matrices. &a primera matri' tiene el mismo tama(o que la ima!en y un n)mero para cada p*#el. &a se!unda matri' se denomina mapa de color y su tama(o puede diferir del de la ima!en. &os n)meros de la primera matri' son una instrucci+n de qu, color usar se!)n el mapa de color. As* que todas las im$!enes inde#adas tienen un mapa de color asociado del que no te puedes salir- de hecho si intentas pintar con un color ./0 que tu elijas aleatoriamente- autom$ticamente el pro!rama te pintar$ con el color m$s cercano pero que est, dentro del mapa de color de la ima!en. 1e debe sonar lo de mapa de color 2eb- ese es el m$s conocido. Aipos de imgenes -seg@n tipo de de dato de sus elementos. 5l tipo de dato matri, !ue contendr una imagen puede ser de varios tipos -seg@n el tipo de dato de cada pixel.: @ &'!()* $oble precisi&n, n@meros en punto /lotante !ue var6an en un rango aproximado de 0:,>,I a :,>,I -I bytes por elmento. T !"#$8 5nteros de I bits en el rango de ;,,())= -: byte por _______________________________________________________________________________ Procesamiento digital de imgenes $, Primera practica EPIE elemento. @ !"#$1% 5nteros de :* bits en el rango de ;,, *))>)= -( bytes por elemento. @ !"#$+2 5nteros de >( bits en el rango de ;,, H(LHL*K(L)= -H bytes por elemento. @ "#$8 5nteros de I bits en el rango de ;0:(I, :(K= -: byte por elemento. A'2 "01/+18 A'2 B01/+18 20&'!()*545"7B:: C D =0)'151E2:
;5"7B:01F)'151E2: C 303E1C
*#& *#& A"1!2*52:7"8;<'=5;: *00/2>>C =00.1F)'151E*:C A"1!2*5+:79)'$5*7=: _______________________________________________________________________________ Procesamiento digital de imgenes $- Primera practica EPIE _______________________________________________________________________________ Procesamiento digital de imgenes $. Primera practica EPIE */imread012ids3ti4156 4ig7re0$5,ims8o90*5 a/$6 4or i/$:#$- 4or ;/$:#$- r0a5/do7ble0*0i,;55 6 < 9/log0$=r5
s0i,;5/$>log0$=r0a55 6 a/a=$6
end end 4ig7re0!5,ims8o90s5 4ig7re0#5 , ?lot0r,s5 5l tratamiento de imgenes ms empleado y conocido, es el tratamiento espacial tambin conocido como con%oluci$n. Las convoluciones discretas son muy usadas en el procesado de imagen para el suaviado de imgenes, el a/ilado de imgenes, detecci&n de bordes, y otros e/ectos. 7ediante este proceso se calcula el valor de un determinado punto en /unci&n de su valor y del valor de los puntos !ue le rodean, aplicando una simple operaci&n matemtica en /unci&n de la cual se obtendr un valor resultante para el punto en cuesti&n. La operaci&n de la convoluci&n puede representarse como la siguiente operaci&n: g(x,( ! )(x,( a(x,( donde a(x,y es la /unci&n respuesta al impulso del /iltro a aplicar -o m,scara de con%oluci$n., "(x,y es la imagen de entrada y g(x,y es la imagen /iltrada. Las expresiones matemticas para el caso bidimensional son las siguientes: continuo discreto _______________________________________________________________________________ Procesamiento digital de imgenes !" Primera practica EPIE La suma de los pesos en la mscara de convoluci&n a/ecta a la intensidad general de la imagen resultante. 7uc%as mscaras de convoluci&n tienen coe/icientes !ue suman un total de : -como los /iltros paso bajo usados en el suaviado de imagen.. 5s este caso, la imagen convolucionada tendr la misma intensidad media !ue la imagen original. 8lgunas mscaras de convoluci&n -como las usadas en detecci&n de bordes. tienen coe/icientes positivos y negativos y suman un total de ,, en esta situaci&n se generarn valores de p6xeles negativos. 5n caso de !ue nos salgamos del rango impuesto para la imagen "(x,y, bien por!ue necesitemos utiliar mscaras cuya suma de valores sea mayor !ue la unidad o por!ue utilicemos mscaras con coe/icientes negativos, debemos normaliar el resultado aplicando la /unci&n ms adecuada en cada caso. 5xiste una gran variedad de mscaras !ue realian di/erentes acciones sobre una imagen. Las %ay !ue suavian los bordes, otras !ue limpian la imagen, otras !ue la oscurecen, etc. Las mscaras, como operadores lineales ms utiliados, suelen ser de los de paso bajo, paso alto y detecci&n de bordes. +or ejemplo, mediante la siguiente matri no se realia ning@n cambio a la imagen: , , , , : , , , , 5l tama2o de la mscara podr6a ser arbitrario, e incluso no restringido a matrices cuadradas, por lo !ue se podr6a utiliar per/ectamente matrices rectangulares. +ero nos limitaremos a !ue la mayor6a de los procesados utilicen mscaras cuadradas de tama2o >x>, ya !ue para comprender su /uncionamiento son las mscaras ms simples. Ona cosa !ue se aprende con rapide es !ue cuando la mscara de convoluci&n aumenta de tama2o, la carga computacional aumenta exponencialmente. La primera cuesti&n al implementar una /unci&n de convoluci&n es como tratar los bordes de la imagen. 'uando la ventana de convoluci&n se centra en el primer p6xel de una imagen en -,,,., la ventana desliante sobresale de la imagen en el borde superior y en el i!uierdo. UVu valores de la imagen deben ser multiplicados por esos coe/icientes de convoluci&n !ue sobresalen de los bordesW _______________________________________________________________________________ Procesamiento digital de imgenes !$ Primera practica EPIE Hay varias maneras para solucionar este problema. La primera soluci&n es tratar las celdas vac6as en la ventana de convoluci&n como ceros. 5sto se conoce como ero0padding. 5s /cil de realiar pero no es una buena idea si los bordes de la imagen resultante son tan importantes como el resto de la imagen. La siguiente soluci&n es empear la convoluci&n en la primera posici&n donde la ventana no sobresalga de la imagen. 9i la mscara de convoluci&n es de tama2o >x>, se empear6a convolucionando con el p6xel en -:,:. en ve del p6xel en -,,,.. 5ste mtodo es sencillo de implementar. 5n la imagen de salida, los bordes convolucionados son copiados para crear una imagen con el mismo tama2o !ue la imagen de entrada. Xtros mtodos ampl6an la imagen antes de convolucionarla. Ona /orma de %acerlo es duplicar los bordes. Osando una mscara >x>, se copiar6an la /ilas superior e in/erior, as6 como las columnas i!uierda y derec%a. 5l otro mtodo es "envolver# la imagen, es decir, considerar como p6xel contiguo al del borde i!uierdo, el p6xel del borde derec%o y viceversa, as6 como con los del borde superior e in/erior. 9i se !uiere convolucionar una imagen ()*x()* con una mscara de convoluci&n de >x>, la primera ventana de convoluci&n opera con los p6xeles en las posiciones !ue se ven en la siguiente /igura. 5ste @ltimo mtodo %a sido el empleado en la implementaci&n de la aplicaci&n. _______________________________________________________________________________ Procesamiento digital de imgenes !!