Documente Academic
Documente Profesional
Documente Cultură
Imgenes
1997 - 2015
Procesamiento de Imgenes
Pgina 1
http://www.gnu.org/licenses/licenses.es.html#FDL
http://www.gnu.org/copyleft/fdl.html
Biografa
Guido Eduardo Ochoa Moreno es ingeniero Electrnico y Master en Ciencias
Mencin en Ingeniera Electrnica de la Escuela Politcnica del Ejrcito, ingeniero
Industrial de la Escuela Politcnica Nacional y mster en Alta Gerencia en el IAEN.
Profesor a tiempo parcial de la Universidad Catlica del Ecuador de la Facultad de
Ingeniera en la Escuela de Sistemas. Especialista en el desarrollo de grandes sistemas
de informacin. Las reas de inters e investigacin son el reconocimiento de
patrones, procesamiento de seales, procesamiento de imgenes, sistemas expertos,
algoritmos genticos, redes neuronales, telemtica, y herramientas matemticas
como la transformada de Fourier y Wavelets. Consultor internacional en Sistemas de
Informacin y desarrollo de sistemas basados en herramientas de software libre GNU
como Linux, postgreSQL, groovy, grails, java y python.
Procesamiento de Imgenes
Pgina 2
ndice de contenido
Introduccin...............................................................6
Procesamiento de Imgenes.......................................6
Repaso de Matemticas.............................................7
2.1 Funciones Pares e Impares....................................8
2.2 Funciones peridicas.............................................9
2.3 Series de Fourier.................................................11
2.4 Serie Compleja de Fourier..................................15
2.4.1 Prctica de Octave.......................................16
2.5 La Transformada de Fourier...............................17
2.6 La transformada de Fourier Discreta..................19
2.7 Secuencias...........................................................20
2.7.1 Operaciones con Secuencias........................21
2.7.2 La Convolucin...........................................22
2.7.3 Rango de la Convolucin.............................23
2.7.4 Filtrado mediante la Convolucin................24
2.8 Problemas...........................................................26
Introduccin a Imgenes..........................................29
3.1 Elementos de percepcin visual..........................30
3.2 Modelo simple de una imagen.............................30
3.3 Digitalizacin de imgenes (Muestreo y Cuantizacin)..........................................................................32
3.3.1 Resolucin de una imagen...........................34
3.3.2 Cuantizacin no uniforme...........................34
3.4. Relaciones bsicas entre pixeles.........................34
3.4.1 Vecindad de un pxel...................................34
3.4.2 Conectividad................................................35
3.4.3 Medida de distancia.....................................35
3.4.4 Operaciones Aritmticas y Lgicas.............36
3.4.4.1 Operaciones Aritmticas......................37
3.4.4.2 Operaciones Lgicas............................37
3.4.4.3 Reconocimiento simple con AND y
XOR.................................................................38
3.5 Geometra de imgenes.......................................39
3.5.1 Traslacin o Desplazamiento.......................40
3.5.2 Escalamiento...............................................41
3.5.3 Rotacin......................................................42
3.6 Funciones sobre imgenes...................................45
3.6.1 Uso de las funciones de imgenes para hacer
reconocimiento.....................................................48
3.7 Problemas...........................................................50
Mejoramiento de Imgenes......................................54
4.1 Mejoramiento de Imgenes.................................55
4.2 Mejoramiento por procesamiento de punto (pixel)
..................................................................................55
4.2.1 Negativo de una imagen...............................55
4.2.2 Aclarar u Oscurecer imgenes.....................56
4.2.3 Contraste Stretching....................................57
4.2.4 Cambio del nmero de niveles de gris de una
imagen..................................................................58
4.2.5 Ajuste de rango dinmico............................58
4.2.6 Mejoramiento por Histograma.....................59
4.2.7 Mejoramiento Local....................................60
4.2.8 Mejoramiento por Sustraccin de imgenes 60
4.2.9 Mejoramiento por el Promedio de imgenes
.............................................................................61
4.3 Filtrado Espectral................................................61
4.4 Filtrado Espacial.................................................64
Procesamiento de Imgenes
Pgina 3
Frecuencia (Hz)
Energa (J)
Rayos gamma
< 10x1012m
> 30,0x1018Hz
> 20x1015 J
Rayos X
< 10x109m
> 30,0x1015Hz
> 20x1018 J
< 200x109m
> 1,5x1015Hz
> 993x1021 J
< 380x109m
> 7,89x1014Hz
> 523x1021 J
Luz Visible
< 780x109m
> 384x1012Hz
> 255x1021 J
< 2,5x106m
> 120x1012Hz
> 79x1021 J
< 50x106m
> 6,00x1012Hz
> 4x1021 J
< 1x103m
> 300x109Hz
> 200x1024 J
< 102m
> 3x108Hz 1
> 2x1024 J
<1m
> 300x106Hz
> 19,8x1026 J
< 10 m
> 30x106Hz
> 19,8x1028 J
< 180 m
> 1,7x106Hz
> 11,22x1028 J
< 650 m
> 650x103Hz
> 42,9x1029 J
< 10x103m
> 30x103Hz
> 19,8x1030 J
> 10x103m
< 30 kx103Hz
< 19,8x1030 J
Segn la IEEE se consideran las microondas como la radiacin de frecuencias superiores a los 109Hz o
longitudes de onda menores que 3x102 m.
Procesamiento de Imgenes
Guido Ochoa Moreno
Pgina 4
CAPITULO 1
Introduccin
Procesamiento de Imgenes
El procesamiento de imgenes es un conjunto de tcnicas con el objetivo de mejorar la
apariencia visual de las imgenes para un observador humano, incluyendo su impresin,
transmisin y preparacin para la medicin de las caractersticas y estructuras que presentan
las mismas. El procesamiento de imgenes es una tecnologa prctica para:
Clasificacin
Extraccin de caractersticas
Reconocimiento de patrones
Proyeccin
Anlisis de seales multiescala.
Procesamiento de Imgenes
Pgina 5
CAPITULO 2
Repaso de Matemticas
Procesamiento de Imgenes
Pgina 6
(1)
Para demostrar la paridad de una funcin (si es par o impar) es necesario hacerlo en todo el
dominio de la funcin y no solamente para determinados valores. El ejemplo ms comn de
funcin par es el cos (x) as como de una impar es el sen (x). En general una funcin impar se
vera como la graficada a continuacin donde: f (Xa) = -f (-Xa)
(2)
La funcin sen(x) cumple con sen(x) = -sen (-x) para todos los valores de x por lo tanto es
impar.
La paridad de una funcin se ve tambin como su simetra respecto del eje y, es decir, que si
se hace rotar la parte de la funcin correspondiente al eje x positivo sobre el eje y, esta
coincide perfectamente sobre la parte negativa del eje, y viceversa.
Para las funciones impares, la simetra aparece si primero la rotamos sobre el eje x la seccin
de x > 0 o la seccin x < 0.
Procesamiento de Imgenes
Pgina 7
La funcin sen (x) es repetitiva cada 2 , 4 ,....etc. Su perodo es 2 por ser el valor
mnimo.
Las funciones sen(nx) o cos(nx), con n entero positivo, tienen un perodo de 2 /n
La funcin f(x) tal como se define a continuacin:
1
,
T
entonces, frecuencias grandes es sinnimo de perodos pequeos. Desde el punto de vista de
energa, una funcin con ms frecuencia tiene ms energa que una de menor frecuencia.
Si una seal f(x) es peridica, con perodo T, se dice que posee una frecuencia
f=
Las funciones no continuas como la mostrada en la figura anterior se definen los tramos, as,
esta quedara definida como f(x) = cos(x) para el intervalo de -Xa a Xa (en la grfica Xa =
/2), y cero caso contrario. Para completar la definicin de f(x) se seala que se trata de una
seal peridica dando el valor del perodo T.
A continuacin se dan algunos ejemplos de funciones peridicas.
f(x) = {x, 0<x<2 , T=2
f(x) = {1, 0<x< ; -1,- <x<0, T=2
f(x) = {|sen x|
f(x) = { sen(x), 0 < x < ; 0 c.c. T = 2 .
f(x) = {|x|, 0 < x < 1; T = 2.
f(x) = {| x + 1 |, - 1 < x < 1; T = 2.
Procesamiento de Imgenes
Pgina 8
Pgina 9
Procesamiento de Imgenes
Pgina 10
f (x)=
1
L
an =
1
bn =
L
L=
a n cos ( n L x )
+ b n sen
n=1
( n L x )
(3)
f ( x ) cos ( n L x )
dx
(4)
dx
(5)
L
L
f ( x ) sen( n L x )
L
T
2
f ( x) = 0,
3,
5< x <0
0< x<5 ; T =10
Para obtener la serie debemos encontrar los valores de a0, an y bn, y reemplazarlos en la frmula
propuesta por Fourier de f(x).
Lo primero que debemos hacer es halla el valor de L, que es la mitad del perodo por lo tanto es igual a
5. Con el valor de L, usamos (3) para hallar an :
5
a n=
1
nx
f (x ) cos (
)dx
5 5
5
esta integral puede ser separada en los dos intervalos de f(x), de -5 a 0, y de 0 a 5, de modo
que la integral queda como:
0
a n=
1
1
n x
0 dx + 3 cos(
)dx
5 5
50
5
an =
an =
3
5
cos(
0
(6)
5
n x
3 5
n x
3 5
)dx =
sen(
) =
sen (n ) 0
5
5 n
5 0
5 n
3
sen(n ) = 0 , puesto que sen (n)=0 para valores de n enteros.
n
Procesamiento de Imgenes
Pgina 11
Hallado el valor de an = 0, debemos hallar de a0, para ello recurrimos nuevamente a (6),
porque no se puede reemplazar n = 0 en el valor de an (debido a que incurriramos en una
indeterminacin). Reemplazando n = 0 en (6) obtenemos:
5
a 0=
3
cos (0)dx = 35 dx = 3
50
0
Igualmente,
b n=
3(1 cos n )
n
b n=
3
(1 cos( n ))
n
3
(1 1) = 0 ; n impar
n
f ( x)=
b n=
3
6
(1+ 1) =
; n par
n
n
3
6
x 1
3 x 1
5 x
+ sen (
)+ sen (
)+ sen (
)+...
2
5
3
5
5
5
a0
3
se conoce como valor promedio de la funcin o componente
=
2
2
continua (cc) de la funcin, en este caso el valor promedio de f(x) es 3/2.
El trmino de
El que an haya resultado cero no es una coincidencia, si miramos la forma de funcin f(x),
notaremos que si se le resta el valor hallado para la componente continua, f(x) sera una
funcin impar, con partes positivas y negativas iguales descrita por:
f ( x) = 3/ 2,
3/2,
5< x <0
0< x <5 ; T =10
El valor de a0 solamente cambia el nivel de f(x), no su forma, y vemos que la forma impar de
f(x) es representada por la suma de sinusoides impares. Podemos concluir entonces que una
funcin par se descompondr en una suma de cosenos, mientras que una impar en una suma
de senos. Dicho de otra forma, la expresin en series de Fourier de funciones pares tiene
bn=0, mientras que las impares an=0. En resumen, las funciones pares tienen componentes
pares y las impares componentes impares. No hay que considerar el nivel de la funcin para
determinar su tipo de paridad .
Si graficamos las componentes de la funcin se puede observar que existe una aproximacin a
la funcin original. La grfica a continuacin no incluye la componente continua que sera
una recta horizontal trazada en y = 3/2 = 1.5.
Procesamiento de Imgenes
Pgina 12
Nota:
Deber: Graficar a escala en papel milimetrado las tres primeras componentes de las serie de
Fourier.
Procesamiento de Imgenes
Pgina 13
= cos + j sen
e j = cos j sen
cos =
+ e
2
y,
sen =
e
2j
cn e
n x
L
(8)
n=0
Donde cn es el coeficiente que reemplaza a an y bn. La sumatoria puede ahora empezar en cero
ya que la componente continua que no depende de senos ni cosenos estara expresada con c 0
puesto que e0 es igual a 1.
3
6
x 1
3 x 1
5 x
+ sen(
)+ sen (
)+ sen (
)+...
2
5
3
5
5
5
Sentencia 1: crea en x un vector que inicia en 0, acaba en 10, con incrementos de 0.1 en 0.1.
x = [0:0.1:10]
Sentencia 2: se asigna al vector y los valores de la primera componente
y = 6/pi*sin((pi*x)/5);
Sentencia 3: visualiza la primera componente
plot(x,y);
Sentencia 4: el uso de hold permite graficar manteniendo el grfico anterior
hold;
Sentencia 5: ponemos en y la suma de las dos primeras componentes.
y = 6/pi*sin((pi*x)/5) + 2/pi*sin((3*pi*x)/5);
Sentencia 6: visualiza la suma de primera y segunda componentes
Procesamiento de Imgenes
Pgina 14
plot(x,y);
Sentencia 7: armamos en y las tres primeras componentes y el valor constante.
y = 6/pi*sin((pi*x)/5) + 2/pi*sin((3*pi*x)/5) + 6/pi*sin((5*pi*x)/5) / 5 + 1.5;
Sentencia 8: visualiza la suma de las tres componentes
plot(x,y);
Se deja como ejercicio obtener en y la suma de las 8 primeras componentes. El resultado debe ser el
mismo mostrado en la ilustracin 9, reproducida a continuacin:
Donde
F( u) =
f ( x)
e2 j x u dx
(9)
f (x) =
A,
0,
T
T
< x <
2
2
cc
Procesamiento de Imgenes
Pgina 15
T /2
F(u) =
f ( x)
2 j x u
F(u) =
dx
F(u) = A
F( u) =
A e2 j x u dx
T / 2
1
e2 j x u
j2u
T/2
T / 2
A
[ e j T u e j Tu ] = A
j 2u
u
e j Tue j Tu
A
=
sen( T u)
2j
u
F( u) = AT
sen (x )
x
(10)
Grfica de F(u):
Procesamiento de Imgenes
Pgina 16
Para un valor grande de T, la amplitud de F(u) sera mayor y tomara la apariencia de un pulso
muy angosto puesto que 1/T sera muy pequeo. En el lmite, cuando T tiende a infinito, F(u)
es la funcin delta de Dirc (x).
Cuando T aumenta, la frecuencia disminuye y cuando T disminuye la frecuencia aumenta.
Procesamiento de Imgenes
Pgina 17
x [n] e
k=
2 nk
N
(11)
2.7 Secuencias
La secuencia es una funcin que slo se halla definida en valores enteros de su variable
independiente n. La secuencia es una funcin real o compleja y usualmente es el resultado de
muestrear una funcin continua a intervalos regulares.
Sinnimo de secuencia es orden, si deseamos enviar un mensaje por tramos (intervalos), lo
que se enva es una secuencia. La secuencia se escribe como:
x[n] = (7, 7, 4, 5, 6, 2, 0, 5)
El orden en que aparecen los elementos de la secuencia define la misma, de modo que si se
cambia el orden se est cambiando de secuencia. Si al definir la secuencia no se especifica en
valor de n en el que esta inicia, se asume que es cero (0).
Procesamiento de Imgenes
Pgina 18
Ejemplo:
Sea: x[n] = (1, 0,-1, 3,2)
Hallar: y[n] = x[n] + 1.
El proceso de resolucin de y[n] se lo debe hacer para todos los valores de n, como x[n] tiene
valores diferentes de cero en el intervalo de 0 a 4, se resuelve y[n] para estos valores de n.
Obsrvese que para valores nulos de x[n] existen valores diferentes de cero de y[n].
La grfica a continuacin muestra la secuencia x[n] y la secuencia resultado y[n].
Procesamiento de Imgenes
Pgina 19
2.7.2 La Convolucin
Es una operacin de secuencias que resulta de la combinacin de las variaciones de dos
secuencias. Usualmente es la secuencia x[n] que se opera con otra h[n] para obtener un
resultado y[n]. En este esquema se dice que la secuencia y[n] es el resultado de x[n] al
aplicrsele el filtro h[n].
El smbolo que describe esta operacin es *. La convolucin de dos secuencias x[n] y h[n] se
define como:
x[k ]h[n k ]
Ejemplo: Hallar la convolucin de las secuencias x[n] = (1, 1, 2) con h[n] = (1,-1). Las dos
secuencias empiezan en n=0.
La resolucin de la sumatoria debe hacerse para valores en los que el producto h [n-k] sea
diferentes de cero, puesto que no tiene sentido sumar ceros. El rango de calculo se reduce al
de x[n], puesto que fuera de l el producto x[k] h [n-k] es siempre cero, en ese caso para
valores de k de 0 a 2, y para n de 0 a 3.
As:
n=0:
n=1:
n=2:
n=3:
Procesamiento de Imgenes
Pgina 20
Nx = N2 - N1 + 1
Nh = M2 - M1 + 1
Pgina 21
La forma de convolucin y
= x *h no depende del inicio x
ni de h , la forma es
siempre la misma, por lo que puede hacer los clculos como si las dos secuencias inician en 0
y el resultado se dibuja en la posicin que corresponda, es decir, desde la suma de los inicios,
hasta la suma de los finales de las dos secuencias
La figura 15 muestra la secuencia x[n] filtrada con la secuencia h[n] (pasa altos) el resultado
es las variaciones de x[n], as y[n] muestra que x[n] sufre una variacin de 1 en los puntos
n=0 y n=2, otra variacin de -2 en n=3, y finalmente una de 2 en n= 3. La primera y ltima
variacin se calcula respecto del valor de 0 que tiene la secuencia antes de n=0 y despus de
n=2, o sea, de n=3 en adelante.
Procesamiento de Imgenes
Pgina 22
Filtrar:
Filtrar:
1)
2)
2.8 Problemas
1. Grafique las siguientes funciones y demuestre si son pares o impares.
a) f(x) = {|sen x|
b) f(x) = {sen(x), 0 < x < ; 0 c.c. T = 2.
c) f(x) = { |x|, 0 < x < 1; T = 2.
d) f(x) = { 1, sen(x) > 0; -1, sen(x) < 0
e) f(x) = {x-1, 0 < x < 1; 0 cc. T = 2.
e) f(x) = {x2- 1, -1 < x < 1; 0 cc. T = 2.
Procesamiento de Imgenes
Pgina 23
f ( x) = 1, 0< x<1
0, cc
a) T=2
b) Halle la amplitud de las primeras tres componentes de la serie de Fourier:
y = 6/* {sen ( x/5) + 1/3 sen (3 x/5) + 1/5 sen (5 x/5) + }
c) En la serie anterior, calcule las tres frecuencias ms bajas, adems determine las
frecuencias que se conservaran si se eliminan las frecuencias superiores a 1 Hz.
4. Halle de la serie de Fourier de la funcin peridica f(x), T=4. Figura 1
Respuesta: a n=
2
n
sen(
) , a 0=0
n
2
b n=
1
(1cos (n ))
n
Pgina 24
8.
a)
b)
c)
9. Hallar la convolucin de x[n] = (1, 0, 2, 3, 4, 5), empieza en 1, con h[n] = (-1, 0, 1) empieza
en -2.
10.
Haga el seudocdigo para calcular la convolucin de una secuencia con el filtro pasa
altos h[n] = (1, -1).
13.
Haga el seudocdigo para calcular la convolucin de una secuencia con el filtro pasa
bajos h[n] dado el nmero de puntos de h[n].
Procesamiento de Imgenes
Pgina 25
CAPITULO 3
Introduccin a Imgenes
Newton, sir Isaac
(Woolsthorpe, Gran Bretaa, 1642-Londres, 1727) Fsico y matemtico ingls.
Fue hijo pstumo de un pequeo terrateniente fallecido
tres meses antes de su nacimiento, el cual se produjo de
forma prematura. Cuando acababa de cumplir los tres
aos, su madre contrajo segundas nupcias y lo dej al
cuidado de su abuela materna, lo cual le ocasion un
trauma emocional en el que ha querido verse, junto a su
condicin de prematuro, el origen del temperamento
neurtico e hipocondraco que caracteriz al Newton
maduro. Recibi su educacin primaria en la King's
School de Grantham y, tras mostrar su incapacidad para
ocuparse de la hacienda familiar, en 1661 fue enviado a
la Universidad de Cambridge. Eligi estudiar fsica y
matemticas, pero no parece que fuera un alumno
especialmente destacado. La peste lo oblig a abandonar
Cambridge en el verano de 1665, por lo que tuvo que
iniciar un perodo de descanso forzoso en el que sent las
bases de sus principales aportaciones cientficas, pues
fue entonces cuando concibi la idea de gravitacin universal tras preguntarse, al parecer, por
qu razn una manzana caa siempre perpendicularmente hacia el centro de la Tierra en lugar
de seguir otras trayectorias. Tambin redact un esbozo del futuro clculo de fluxiones y
acometi el estudio experimental de la descomposicin de la luz blanca mediante un prisma
de refraccin. De regreso en Cambridge, en 1667 fue elegido miembro del Trinity College y
dos aos despus sucedi a su maestro Isaac Barrow en la ctedra de matemticas. Sus
descubrimientos de ptica, que expuso en sus clases, le valieron ser elegido miembro de la
Royal Society en 1672, hecho que seal el inicio de su notoriedad, pero tambin el de una
serie de controversias acerca de la prioridad en dichos descubrimientos, en particular con
Robert Hooke; ello determin que demorara hasta 1704, tras la muerte de Hooke, la
publicacin de su tratado de ptica. En 1676 renunci a proseguir la polmica, y durante unos
aos se sumi en sus trabajos sobre el clculo diferencial y en su inters por la alquimia y los
estudios bblicos.
La correspondencia mantenida con Hooke a partir de 1679 parece que aviv su inters por la
dinmica, campo en el que se concentr en la demostracin terica de las leyes de los
movimientos planetarios enunciadas por Kepler. Cuando Edmond Halley lo visit en 1684,
comprob que Newton haba resuelto ya el problema y lo anim a hacer pblicos sus
resultados. La intervencin de Halley result decisiva en la publicacin de los Principia, la
obra cientfica ms influyente y significativa de su poca, que contiene la formulacin
matemtica de la ley de la gravitacin universal, interpretada como principio unificador del
movimiento; Halley se ocup de que el manuscrito fuese presentado ante la Royal Society,
que se encarg de la edicin, costeando l personalmente la impresin, terminada en julio de
1687. La obra contiene la demostracin del hecho experimental segn el cual una esfera
gravitatoria homognea ejerce una atraccin sobre los puntos exteriores a ella y se comporta
Procesamiento de Imgenes
Pgina 26
El ojo humano es capaz de diferenciar hasta 1010 niveles de luz, sin embargo, podemos
distinguir solamente 150 tonalidades de un mismo color, es decir, que somos capaces de ver
cerca de 66 millones de colores con sus respectivas tonalidades.
Pgina 27
(1)
Los factores que determinan los niveles de gris o el color de los pixeles son la Iluminacin
i(x,y) y la Reflectancia r(x,y), definidos como la cantidad de luz aplicada sobre el punto y la
capacidad de este de reflejar o absorber la luz recibida. A mayor reflectancia mayor es la luz
reflejada o lo que es lo mismo, menor es la luz absorbida.
Entonces una imagen ser: f(x,y) = i(x,y) r(x,y), o sea pixel por pixel, el resultado de la
iluminacin y la reflactancia .
Los valores permitidos para i y r son:
0 <= i(x,y) <
0 <= r(x,y) <= 1
(2)
Los valores posibles de niveles de gris de una imagen estarn entre Lmin y Lmax, se puede
graficar un rango de grises tal como se muestra a continuacin:
Ilustracin 2. Grfica del color en funcin de la energa aplicada (iluminacin), en niveles de gris.
f(x,y) =
f(0,0)
f(1,0)
.
.
f(M-1,0)
f(0,1) ....
f(1,1) ....
.
.
.
f(M-1,1).....
f(0,N-1)
f(1,N-1)
.
.
f(M-1,N-1)
(3)
El valor f (0,0) indica el tono de gris del pixel o pel ubicado en la posicin 0 en el eje x y 0
en el eje y.
Procesamiento de Imgenes
Pgina 28
Para graficar una imagen se usa un plano cartesiano x - y similar al utilizado en funciones
matemticas pero con el eje y con el sentido de crecimiento hacia abajo, tal como se muestra a
continuacin.
Para obtener una imagen desde una fuente real como por ejemplo una fotografa, se debe
realizar un proceso de digitalizacin:
El proceso de digitalizacin consiste en reemplazar una imagen real compuesta por un nmero
infinito de puntos, por una imagen cuyo nmero de pixeles es finito. El nmero de pixeles que
contiene una imagen define su tamao, y la forma de expresar estos pixeles darn mayor o
menor realismo a la imagen. La frmula (4) muestra una imagen cuyos valores de f(x, y)
deben poseer un dominio definido por la expresin f(x,y)= i(x,y) r(x,y). En general los valores
de f(x, y) son enteros de modo que:
f(x, y) Z+
(4)
Supongamos que se digitaliza una imagen mediante un scanner cuya resolucin es de 150 ppi.
Esta resolucin del scanner quiere decir que cada 1/150 de pulgada debe realizar lecturas de la
imagen y reemplazar estas lecturas por valores vlidos de pixeles en las posiciones
correspondientes. Cada valor de luz leda por el scanner debe ser reemplazado por un valor
vlido de pixel en una regin correspondiente a un cuadrado de 1/150 de pulgada de lado.
Procesamiento de Imgenes
Pgina 29
I n t e r v a lo d e m u e s tr e o
Lo sealado con lneas verticales se denomina intervalo de muestreo y para cada uno de ellos
de debe encontrar el valor que mejor representa a la imagen para definir el valor del pixel.
Si la imagen digitalizada debe ser binaria (dos niveles de gris) entonces se debe decidir si el
nivel de luz detectada es un blanco o un negro en cada intervalo de muestreo, y reemplazar
este valor por un 0 (negro) o un 1 (blanco).
Si existen ms niveles de gris, se hace una escala de grises desde 0 hasta el valor mximo de
luz detectada o referencial (L-1), y se determina el valor correspondiente a cada intervalo de
muestreo. El proceso de asociar un valor a cada muestra (dentro del intervalo de muestreo) se
denomina cuantizacin.
La cuantizacin siempre incurrir en un redondeo lo que se denomina error de cuantizacin y
se debe a que el valor a ser cuantizado no tiene un valor exacto durante todo el intervalo y que
adems este valor no es siempre un entero. El error debido al redondeo y promedio de la seal
en el intervalo de muestra tiende a minorar si es menor el salto de cuantizacin (intervalo de
entre los valores permisibles de los pixeles), as, este error es mayor si se trata de cuatro
niveles de gris (ya que el intervalo de valores entre el blanco y negro debe repartirse entre
cuatro regiones), que si se tratase de 256 niveles ya que la distancia entre niveles consecutivos
es menor.
La desventaja de realizar una digitalizacin en ms niveles de gris es el espacio necesario para
el almacenamiento de la imagen. Para imgenes binarias, se necesita de apenas un bit por cada
pixel, por ello a este tipo de imgenes se les denomina de 1 bit, similarmente las imgenes de
8 bits son aquellas de 256 niveles de gris.
Si se desea almacenar una imagen de N x M pixeles y cada pixel necesita de m bits para ser
almacenado, el tamao total necesario es de:
Tamao de la imagen = b = N M m bits
(5)
Como el nmero de bits para almacenar L niveles de gris es m = log2 (L), la misma frmula
anterior puede ser expresada en niveles de gris.
b = N M log2 (L)
(6)
Por ejemplo, una imagen de 128 x 128 pixeles con 64 niveles de gris requiere de 98304 bits
Procesamiento de Imgenes
Pgina 30
para su almacenamiento.
Otra clase de error que se incurre en el proceso de digitalizacin es el error de muestreo, y
consiste en el error que se comete al asignar un valor representativo en todo el intervalo de la
muestra, y aumenta si existen intervalos de muestra ms grandes. En resumen, el error de
muestreo es inversamente proporcional al nmero de puntos por unidad de superficie
(resolucin) que tenga la imagen.
Actualmente es muy popular la digitalizacin de imgenes en color. Para esto se usa el
scanner en color, el mismo que usa tres filtros: verde, rojo y azul, para digitalizar la imagen
como si se tratase de imgenes monocromticas (en tonos de gris). Puesto que un color se
puede representar en tres colores primarios que son rojos, verdes y azules, al obtener 256
niveles en cada color primario se logra escanear una imagen en 16 millones de colores.
Al utilizar filtros se obtienen niveles de rojo (filtro rojo), de verde, de azul dependiendo del
filtro que se aplique.
x
p
x
D
x
D
Hay tres tipos de vecindad, los pixeles marcados con x son la vecindad N4, los marcados
con D son la vecindad ND cuyas coordenadas son: (x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1,
Procesamiento de Imgenes
Pgina 31
3.4.2 Conectividad
Determina la zona o regin en la que pixeles del mismo tipo son vecinos. Conectividad y
vecindad prcticamente son conceptos equivalentes, as, hablar de N4, ND y N8 es vlido
tanto en conectividad como en vecindad.
Si un pixel q est conectado con el pixel p entonces q es parte de la vecindad de p sea
esta N4, ND o N8.
Hay un tratamiento diferente para imgenes binarias y no binarias.
Otra forma de ver la conectividad es el camino o isla, esta se aplica en imgenes binarias y
contiene a todos los 1 vecinos. En la imagen de la ilustracin 20 existen 3 caminos o tres
islas de 1. En imgenes binarias es posible tener islas compuestas por un slo pixel 1.
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
Para imgenes que no son binarias, los caminos o islas se asocian a pixeles del mismo nivel
de gris, pero se forman con un mnimo de dos pixeles.
1
3
7
3
2
1
4
5
3
1
1
7
4
1
1
6
5
2
0
2
4
7
5
3
3
7
0
0
7
7
1
2
La distancia entre los puntos p y q es siempre mayor o igual a cero, ser cero si los
puntos p y q son el mismo punto.
La distancia de p a q es la misma que de q a p: d(p, q) = d(p, q), y
La distancia de p a z respecto de las distancias a los otros puntos p y q, cumple con:
Procesamiento de Imgenes
Pgina 32
(desigualdad triangular)
(7)
(8)
(9)
La ilustracin a continuacin muestra las distancias D4 y D8 del pixel central, la distancia con
sigo mismo es 0.
D4:
4
3
2
3
4
3
2
1
2
3
2
1
0
1
2
3
2
1
2
3
4
3
2
3
4
D8:
2
2
2
2
2
2
1
1
1
2
2
1
0
1
2
2
1
1
1
2
2
2
2
2
2
Ilustracin 7. Distancias D4 y D8
Procesamiento de Imgenes
Pgina 33
Durante del desarrollo de las operaciones aritmticas, se pueden producir resultados que se
hallan fuera del rango permitido de niveles de gris. Por ejemplo, al sumar dos imgenes de 3
bits, cuyos pixeles posean un nivel de gris de 4 y 5, el resultado sera 9, pero este no es un
nivel permitido en 3 bits (el mximo posible es 7), por lo que el resultado de la suma de 4 y 5
es 7 por ser el mximo valor permitido de la escala de grises de este tipo de imgenes. As
mismo, si se obtuviesen resultados inferiores a CERO, el resultado debe ser CERO por ser
este el menor valor permitido. Este fenmeno se denomina Saturacin y puede producirse
como se ha ejemplificado tanto hacia arriba (valores mayores al mximo permitido) como
hacia abajo (valores negativos).
Para el caso especial de una divisin para CERO, se acuerda en imgenes que el resultado
particular de CERO dividido para CERO es CERO para eliminar la indeterminacin de valor,
en cualquier otro caso, el resultado es el valor mximo permitido de nivel de gris.
El uso ms comn de estas operaciones es:
Suma: reducir ruido (modificar la media).
Resta: se usa en medicina para remover el fondo de la imagen.
Multiplicacin y divisin: corregir los niveles de gris, pueden ser operaciones hechas
In Place, es decir, usa el mismo espacio de memoria.
Multiplicacin por un escalar: consiste en multiplicar una imagen por una constante
cercana a 1.0 que permite elevar o disminuir ligeramente los niveles de gris de la
imagen.
Pgina 34
AND:
OR:
Complemento:
XOR:
f(x, y) . g (x,y)
f(x,y) + g(x,y)
f(x,y)
0
1
0
0
0
1
1
1
1
1
0 f(x,y): 0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0 AND: 0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
C: 1
1
1
1
1
1
1
1
1
1
0 1
1 1
1 1
1 1
1 1
Ilustracin 8. Patrn: Imagen P, f(x, y): imagen a reconocer, C: coincidencias con el patrn: 1 coincide, 0 no
coincide.
Cabe recalcar que el AND no sirve para reconocimientos de imgenes; si se usa XOR en lugar
de AND, se tiene:
P: 0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0 f(x,y): 0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0 XOR: 0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
C: 1
1
1
1
1
1
1
1
1
1
0 1
1 1
1 1
1 1
1 1
Ilustracin 9. Patrn: Imagen P, f(x, y): imagen a reconocer, C: coincidencias con el patrn: 1 coincide, 0 no
coincide.
0
1
0
0
0
1
1
1
1
1
0 g(x,y) 1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1 XOR: 1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
C: 1
1
1
1
1
1
1
1
1
1
0 1
1 1
1 1
1 1
1 1
Ilustracin 10. Patrn: Imagen P, g(x,y): imagen a reconocer, C: coincidencias con el patrn: 1 coincide, 0 no
coincide.
En los dos casos, para XOR se observa que la matriz de coincidencias es simplemente el
Procesamiento de Imgenes
Pgina 35
mismo resultado del XOR, o su negativo. De manera que el uso del XOR no solo que permite
hacer el reconocimiento an cuando se trate del negativo del patrn sino que adems hace
mucho ms simple el determinar el grado de similitud existente entre el patrn y la imagen a
reconocer. El grado de similitud es la razn entre el nmero de pixeles coincidentes para el
nmero total de pixeles de patrn, en todos los casos analizados esta razn es 19/20.
En general si se usa XOR, el grado de exactitud es la divisin del mayor nmero de ceros o de
unos para el nmero total de puntos de la imagen. Lo cual mide la semejanza de f(x, y) al
positivo o negativo del patrn.
Existen otras operaciones que son un poco ms complejas, por ejemplo: Se desea emplazar un
pixel por el valor medio de la regin de pixeles vecina de dimensin 3 x 3.
Z5 = 1/9 (Z1+Z2+Z3+Z4+Z5+Z6+Z7+Z8+Z9)= 1/9 Zi
Z1
Z4
Z7
Z2
Z5
Z8
Z3
Z6
Z9
A modo de coeficientes:
Z5 = W1Z1 + W2Z2 + .. + W9Z9 = WiZi = Z'
W1 W2 W3
W4 W5 W6
W7 W8 W9
Procesamiento de Imgenes
Pgina 36
[ ][
x' = 1 0
y'
0 1
][ ]
X0 x
Y0 y
[ ][
][ ]
1 0
x'
y' = 0 1
1
0 0
o mejor expresado:
X0 x
Y0 y
1 1
(10)
[ ]
1 0
0 1
0 0
X0
Y0
1
Ejemplo:
x ' = x + X0
con valores de X0 = 3 y Y0 = 1, tenemos:
y ' = y +Y 0
0
x ' = x +3
y ' = y +1
3
(11)
6
Para el pixel de la posicin (x=0, y=0), tenemos la nueva posicin: (x' = 3, y' = 1), al aplicar
las frmulas de transformacin (11)
Procesamiento de Imgenes
Pgina 37
3.5.2 Escalamiento
Al escalar una imagen se cambia de tamao a la misma, esto significa que si la imagen
original posee dimensiones de N x M puntos, la imagen resultado tendr dimensiones de SxN
x SyM, donde Sx y Sy son los factores de escalamiento. La transformacin de escalamiento
expresada como: v = Tv, con Sx como el factor de escala en el eje x y Sy el del eje y, es:
(12)
Ejemplo: Sx = 2, Sy = 2
0
1
2
3
x = 2x
y = 2y
Si x = 0
Si x = 1
x = 0
x = 2
Si y = 0
Si y = 1
y = 0
y = 2
Procesamiento de Imgenes
Pgina 38
3.5.3 Rotacin
Rotar una imagen significa hacer girar la imagen sobre su punto de origen (pixel 0,0) un
ngulo . Debido a que el origen de la imagen est en su esquina superior izquierda (ver
ilustracin 18), y que el eje y crece hacia abajo, se complican los clculos para determinar la
matriz de transformacin, por ello, se usa una nueva representacin en la que el eje y crece
hacia arriba (ilustracin 28), que permite el clculo de esta matriz. Note que el ngulo girado
es -, y que el origen es el usado en un sistema de coordenadas cartesianas.
(13)
sen () = sen ()
Se debe llegar a la matriz de transformacin mostrada a continuacin.
cos sen 0
T = sen cos 0
0
0
1
x = cos ()
y = sen()
x ' = cos()
y ' = sen ()
cos sen 0
T = sen cos 0
0
0
1
Pgina 40
Los valores de x van desde 0 hasta N-1, de modo que el primer pixel (x = 0) se transforma en
N-1, as:
x ' = N1 x
y' = y
1 0
T= 0 1
0 0
N1
0
1
Para el reflejo con espejo vertical, producido con un espejo horizontal, el alumno debe hallar
la matriz de transformacin.
Pgina 41
1. Cardinalidad
(14)
card (f )=N 1 N 2
3
1
N 11 N 21
2. Suma de Pixeles
n1, n2
f (n1, n2 )
n1
(15)
n2
3. Media
Ejemplo:
3
1
media = ( f ) =
sumpix (f )
card(f )
(16)
3
1
4. Desviacin Estndar
2( f )
1
( f (n1 , n2 ) ( f )) 2
N 1 n1 n2
(17)
Ejemplo:
f (x, y)=
7 1
6 5
0 2
4
3
1
[[
] [
] ]
2
1
29
29
7
+ 1
+. . .
9
9
9
Existe un mtodo aproximado de obtener (f) que es 2/3 (promedio de la dispersin mxima).
As aplicando este mtodo podemos llegar a que
(f) = 2/3 {(|6 29/9| + |0 29/9| ) / 2} = 2.0, este valor es aproximado, el valor real es:
2.4381
5. Igual
1, f ( n1 , n 2 ) g (n1 , n2 )
igual ( f , g )
0, caso contrario.
Procesamiento de Imgenes
(18)
Pgina 42
Ejemplo:
f (x, y)= 7 1 4
6 5
0 2
g=
3
1
4 6
7 3
0 1
1 Igual (f, g) =
2
2
0 0
0 0
1 0
0
0
0
6. Entre
1, s f (n1 , n 2 ) t
entre ( f , s, t )
0, caso contrario.
Ejemplo:
f (x, y)= 7 1 4
6 5
0 2
g=
3
1
(19)
4 6
7 3
0 1
1 0
0 1
0 0
0 =
1
1
7. Truncado
f (n1 , n2 ), f (n1 , n2 ) t
trunc( f , t )
0, caso contrario
Ejemplo:
f (x, y)= 7 1 4 Trunc (f, 3)=
6 5
0 2
3
1
7 0
6 5
0 0
(20)
4
3
0
8. Umbral
1, f (n1 , n2 ) t
umbral ( f , t )
0, caso contrario.
(21)
Ejemplo:
f(x,y)=
7 1
6 5
0 2
1 0
1 1
0 0
1
1
0
9. Restriccin
f (n1 , n 2 ), g ( n1 , n2 ) 1
rest ( f , g )
0, g (n1 , n 2 ) 0, g es binaria
(22)
Ejemplo:
F (x, y)= 7 1 4
6 5
0 2
3
1
Procesamiento de Imgenes
3
0
Pgina 43
f (n , n
f , g
) g (n1 , n 2 )
n1 , n2
(23)
R f , g ( , )
f (n
n1 , n2 R
, n 2 ) g ( n1 , n 2 )
(24)
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
f(x,y) 1
1
1
0
0
1
4
1
1
1
5
6
5
5
7
0
1
1
1
2
f1: 1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
f2: 0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
Suponiendo que el patrn lo tenemos como una imagen binaria, y deseamos reconocer f(x, y)
que est en 3 bits. El proceso a seguir sera cambiar a binaria la imagen f(x, y) probablemente
aplicando la funcin umbral (f, 3) (el resultado se muestra en f2), y luego usando XOR para
hacer el reconocimiento. Tambin se puede usar la funcin igual para hacer el
reconocimiento. En cualquiera de los dos casos el resultado ser una matriz y no un valor que
de una medida de igualdad.
La siguiente expresin da una medida de igualdad (s) de P con respecto a f(x, y):
1
card ( P )
20
Otra forma sera aplicando la funcin entre, por ejemplo f1 de la ilustracin 29 muestra el
resultado de entre (f, 0,2), f2 de la misma ilustracin muestra entre (f, 4,7). La medida de
semejanza se obtiene con:
1
card ( P )
20
Esto para el primer rango de f(x, y) entre 0 y 2, lo mismo se debe hacer para el rango 4 a 7, y
promediar los resultados de semejanza obtenidos.
Procesamiento de Imgenes
Pgina 44
En general una expresin para evaluar la semejanza de una imagen f(x, y) con otra g(x, y) es:
(25)
Donde s y t definen los lmites de cada rango, debiendo aplicarse los rangos necesarios
conforme sea el caso.
Es importante notar que el primer paso a realizar en reconocimiento es comprobar la
dimensin de las imgenes, esto se puede hacer con la funcin cardinalidad aunque no es una
garanta de igualdad de tamao. Se necesitara otra funcin para el efecto. Se deja como
trabajo al estudiante definir funciones que garanticen la comprobacin del tamao de dos
imgenes.
Ejemplo:
f=
2 2 3
3 1 14
0 13 14
15 15 7
p=
15
15
9
10
0 1 2
1 2 13
3 15 14
14 13 7
14
15
8
9
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
Una vez aplicada la funcin Entre a las dos imgenes , se procede al clculo de Igual entre las
dos resultantes, as:
Igual [ Entre(f, 0, 3), Entre (p, 0, 3) ] =
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Sumpix { Igual [ Entre(f, 0, 3), Entre (p, 0, 3) ] } = 16, de modo que la relacin con la
Card(f) = Card(p) = 16 , nos resulta 1 o 100%.
Este proceso se repite para los 4 rangos y el resultado total es la media de los resultados
parciales.
Los 4 rangos son:
1.
2.
3.
4.
Procesamiento de Imgenes
Pgina 45
Los intervalos son cerrados, es decir, incluyen a los valores de inicio y final.
Para nuestro ejemplo la medida de semejanza de las imgenes f y p es:
demostracin queda como trabajo para el estudiante.
100%, su
Proceso de
Aproximacin para
Descubrir el patrn
De la imagen
3.7 Problemas
1. Una imagen puede ser representada como una matriz de puntos, esta matriz identifica a
cada pixel de la imagen. Los valores de f(x,y) pueden ser (seale los enunciados
verdaderos):
Procesamiento de Imgenes
Pgina 46
2. Explique cmo se puede obtener una imagen digitalizada en color en 16M de colores.
3. Explique cmo se puede obtener una imagen digitalizada en color en 4k de colores, y qu
espacio ocupara si posee 200x200 pixeles
4. El rango de variacin de f(x, y) es: (complete).
Desde _____ hasta ______________ (valores en niveles de gris)
Desde _____ hasta ______________ (valores en bits)
5. Como se minimiza el error de cuantizacin.
6. Cul es el espacio necesario para almacenar una imagen binaria de 100 x 120 pixeles.
7. Cul es el espacio necesario para almacenar una imagen de 100 niveles de gris cuyas
dimensiones son de 200 x 200 pixeles.
8. Cuantos bits por pixel se necesita para almacenar una imagen de 100 niveles de gris.
9. Cul sera la manera de obtener una imagen digitalizada en 64k de colores.
10.
11. Cul sera el efecto de usar cuantizacin no uniforme para obtener una imagen binaria. Es
posible esto, si s, indique como se realizara la cuantizacin.
12.
13.
En la imagen a continuacin seale con una D los pixeles vecinos ND y con una X
los pixeles de la vecindad N4.
Procesamiento de Imgenes
Pgina 47
14.
15.
16.
T:
18.
19.
Halle las funciones: restriccin, umbral (f, 2), u (f), <f, g>:
f:
1
0
2
3
3
2
1
3
g:
0
0
1
1
1
0
u(f):
<f,g>:
rest
umbral
20.
21.
1
1
1
1
7
6
10
12
7
11
1
2
10
11
12
2
15
11
2
2
1
1
1
1
0
0
0
0
8
8
10
12
6
11
0
1
10
11
12
1
15
11
3
3
Pgina 48
22.
F
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
Procesamiento de Imgenes
0
0
0
0
0
0
0
g:
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
Patrn:
1
0
1
0
0
1
0
1
1
0
1
0
Pgina 49
CAPITULO 4
Mejoramiento de Imgenes
Wiener, Norbert
(Columbia, EE UU, 1894-Estocolmo, 1964) Matemtico estadounidense.
Hijo de un profesor de lenguas eslavas emigrado a Harvard, fue un nio extremadamente
precoz que a la temprana edad de dieciocho aos obtuvo un doctorado de lgica matemtica
en Cambridge, Reino Unido, donde estudi con Bertrand Russell. Luego viaj a Alemania
para seguir estudiando en la Universidad de Gotinga. Tras fracasar en su intento de enrolarse
en el ejrcito y combatir en la Primera Guerra Mundial, en 1919 el Instituto Tecnolgico de
Massachussetts (MIT) le propuso organizar y estructurar un departamento de matemticas.
Cientfico de mltiples intereses, en la dcada de 1920 particip, junto con Banach, Helly y
Von Neumann, en el desarrollo de la teora de los espacios vectoriales; ms tarde, orientara
su atencin hacia las series y las transformadas de Fourier y la teora de nmeros. En los aos
cuarenta elabor los principios de la ciberntica, teora interdisciplinar centrada en el estudio
de las interrelaciones entre mquina y ser humano y que en la actualidad se encuadra dentro
del mbito ms general de la teora de control, el automatismo y la programacin de
computadoras. En 1947 public el ensayo Ciberntica o control y comunicacin en el animal
y en la mquina. Se interes por la filosofa y por la neurologa como reas del saber
fundamentales para la ciberntica. As pues, ms all de convertirse en ciencia, la ciberntica
abra un campo de reflexin interdisciplinar que aportaba distintos criterios a numerosas reas
de la tecnologa. En este sentido, en el avance de la construccin de autmatas y, sobre todo,
en el desarrollo de las computadoras, Norbert Wiener se erigi en uno de los grandes
precursores de la era digital con la que se inaugura el siglo XXI. (Diccionario de Biografas,
Ocano).
Procesamiento de Imgenes
Pgina 50
(1)
Convierte una imagen oscura en clara o viceversa. Este proceso cambia un pixel claro por uno
oscuro o al contrario de acuerdo a la escala de grises. La transformacin para obtener el
negativo es:
m =
s 2s1
0(L1)
=
= 1
r 2r 1
(L1)0
s 1s
s s
(L1)s
= 2
=
r 1r
r 2r
0r
Procesamiento de Imgenes
Pgina 51
s = ( L1) r (2)
(Nivel de gris resultante = valor mximo - valor original), lo que corresponde a la ecuacin de
la lnea recta mostrada en la ilustracin 1, donde:
s: nivel de gris resultante
r: nivel de gris original
L: es el nmero de niveles de gris.
Ejemplo: Hallar el negativo de f(x, y) y el mismo tiempo expresar la imagen en 3 bits
m =
07
7
=
150
15
m =
s 2s
r 2r
7
7s
=
15
r
s = 7
7
r
15
Procesamiento de Imgenes
Pgina 52
Pgina 53
Imagen resultado =
0 1 2
4 13 14
9 8 10
5 1 2
3
15
12
12
(3)
(4)
El valor de la constante C se calcula de tal manera que para el mximo valor de r (max(r))
se cubra toda la escala de s.
La funcin logartmica ms utilizada es el logaritmo natural (ln).
Procesamiento de Imgenes
Pgina 54
(5)
j 0
j 0
sk ( L 1) p(r j ) ( L 1)
Procesamiento de Imgenes
nj
n
L 1 k
n
n j 0 j
(6)
Pgina 55
(7)
5
7
8
3
1215
(8)
f(x, y) es la versin mejorada de g(x, y) que debera ser igual a f(x,y), sin embargo no siempre
f(x, y) es igual a f(x, y) debido a problemas de saturacin
Procesamiento de Imgenes
Pgina 56
(9)
g ( x , y ) f ( x , y ) ( x , y ) f ( x , y ) 0
(10)
de este modo, el promedio de las imgenes gn(x, y) tiende a ser la imagen f(x, y). Esto es
cierto si se posee un nmero infinito de imgenes g(x, y), sin embargo, para fines prcticos, es
suficiente con obtener de tres a cinco ejemplares.
Procesamiento de Imgenes
Pgina 57
Ilustracin 7. Zonas de localizacin de las frecuencias altas y bajas al realizar la FFT. Las regiones marcadas con
PA (Pasa Altos) corresponden a las frecuencias altas.
Al obtener la FFT (Transformada Rpida de Fourier) de una imagen se tiene una matriz de las
mismas dimensiones de la imagen en la que cada valor representa la magnitud de la
componente de frecuencia.
En la ilustracin 7 se aprecia las zonas que se deben conservar para realizar el filtrado de la
imagen. Las zonas marcadas con PA se deben conservar para hacer un filtrado Pasa Altos, es
decir, un filtro que elimine las frecuencias bajas y deje pasar las altas.
Por simplicidad, se trabaja con regiones rectangulares y con filtros del tipo Todo o Nada de
modo que la aplicacin del filtro se reduce a llenar con ceros la regin que se desea eliminar
con el filtro y conservar el resto de valores.
La grfica a continuacin muestra los filtros del tipo Todo o Nada para una dimensin:
Procesamiento de Imgenes
Pgina 58
Para el caso de imgenes, los filtros son en dos dimensiones, y en este caso existen dos
frecuencias de corte, una para cada eje:
El valor de las frecuencias de corte, usualmente se define a modo de porcentajes, de modo que
si fc = 1, pasa toda la imagen, si fc = 0, se elimina toda la imagen.
Las grficas a continuacin muestran el filtrado mediante pasa bajos.
La imagen derecha es el resultado de aplicar un filtro pasa bajos con fc = 0.07. (Se conserva
el 95% de los puntos de la FFT). El resultado de aplicar a la misma imagen, un filtro pasa
Procesamiento de Imgenes
Pgina 59
Para implementar los filtros usando el Octave, (Matlab y otros similares), se debe tomar en
cuenta que por cuestiones de algoritmos, la distribucin de los valores de altas y bajas
frecuencias es contraria a la teora, es decir, que las frecuencias bajas se halla ubicadas
cercanas en las esquinas y conforme nos alejamos de ellas aumenta la frecuencia.
Ilustracin 12. Modelo de aplicacin de un filtro como la convolucin de la imagen a filtrarse y el filtro f(x,y)
= f(x,y) * h(x,y).
Pgina 60
a
a
1
1
a
a
1
2
2
2
1
2
3
2
3
2
2
4
5
4
2
2
3
2
3
2
1
2
2
1
1
-1
2
-1
2
10
2
-1
2
-1
0.1
-.01
0.1
-.01
-10
-.01
0.1
-.01
0.1
La otra condicin es la de ser unitaria, es decir, que sumpix(filtro) = 1. Esta condicin solo
se aplica a las mascarillas de los filtros pasa bajos.
A continuacin se detallan las mascarillas para los filtros ms utilizadas y estndares. Note
que siguiendo las condiciones que debe cumplir un filtro se pueden proponer una infinidad de
mascarillas que hagan las labores de filtros pasa bajos y filtros en general.
1 1 1
9
1 1 1
Si A=1, se tiene el filtro pasa altos original o estndar. Si A 1, parte de la imagen original se
suma al resultado pasa altas.
Procesamiento de Imgenes
Pgina 61
f/x + f/y
f = mag [f]
= [(f/x) 2+ (f/y) 2]
Prewitt:
Sobel:
1
1
1
13
10
10
1
5
2
7
4
6
10
12
5
7
7
11
11
1
2
10
11
12
10
11
12
2
11
15
15
15
11
2
2
filtro:
f:
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1
0
0
0
0
0
0
10
11
12
11
15
15
15
11
2
2
Filtrando el pixel sealado (7), con el filtro pasa bajos, se sede calcular la sumatoria:
1/9(1+2+7 + 1+7+7 + 13+4+11) = 53/9 = 5.8888888, este valor se redondea para expresarse
como nivel de gris, de modo que el resultado es 6.
Se deja al estudiante el completar el proceso de filtrado.
Procesamiento de Imgenes
Pgina 62
Procesamiento de Imgenes
Pgina 63
4.5 Problemas
1
a)
b)
c)
d)
10 15
10 1
5
n:
1.2
0.8
10 15
10 15 1
256NG:
Stretching:
Como se manifiestan en una imagen las frecuencias bajas y las frecuencias altas.
Pgina 64
11 Aplique a la imagen el filtro pasa bajos, pasa altos y High Boost con A = 1.5.
0
5
6
8
5
10
1
4
9
1
8
15
15 r1:
12
5
2
r2:
r3:
12 Disee filtros pasa bajos con coeficiente de 1/7, 1/8, 1/9, y 1/12.5.
14
P:
S:
15 Halle la zona que se debe eliminar para filtrar una imagen de 100 x 100 usando
Fourier con un filtro pasa bajos, si fc = 0.5%. (Se debe conservar el 0.5% del total de
los puntos).
16 Halle la zona que se debe eliminar para filtrar una imagen de 100 x 100 usando
Fourier con un filtro pasa altos, si fc = 0.5%. (Se debe conservar el 0.5% del total de
los puntos).
Procesamiento de Imgenes
Pgina 65
CAPITULO 5
Procesamiento en Color
Huygens, Christiaan
(La Haya, 1629-id., 1695) Matemtico, astrnomo y fsico holands.
Hijo del poeta renacentista Constantin Huygens, pronto demostr un gran talento para la
mecnica y las matemticas. Estudi en la Universidad de Leiden y en el Colegio de Breda.
Huygens adquiri una pronta reputacin en crculos europeos por sus publicaciones de
matemticas y por sus observaciones astronmicas, que pudo realizar gracias a los adelantos
que introdujo en la construccin de telescopios. Destacan, sobre todo, el descubrimiento del
mayor satlite de Saturno, Titn (1650), y la correcta descripcin de los anillos de Saturno,
que llev a cabo en 1659. Ms tarde se traslad a Pars, donde permaneci desde 1666 a 1681,
fecha de su regreso a La Haya. En 1666 fue miembro fundador de la Academia Francesa de
Ciencias. En 1673 se public su famoso estudio sobre El reloj de pndulo, brillante anlisis
matemtico de la dinmica pendular en el que se incluyeron las soluciones completas a
problemas como el perodo de oscilacin de un pndulo simple y las leyes de la fuerza
centrfuga para un movimiento circular uniforme. Contemporneo de Isaac Newton, su
actitud mecanicista le impidi aceptar la idea de fuerzas que actan a distancia. El mayor
logro de Huygens fue el desarrollo de la teora ondulatoria de la luz, descrita ampliamente en
el Trait de la lumire (1690), y que permita explicar los fenmenos de la reflexin y
refraccin de la luz mejor que la teora corpuscular de Newton. (Diccionario de Biografas,
Ocano).
Procesamiento de Imgenes
Pgina 66
Rojo:
Verde:
Azul:
R, = 700 nm
G, = 546.1 nm
B, = 435.8 nm
(0)
Es necesaria la definicin a nivel de longitudes de onda de los colores debido a que en general
los colores dependen de quien los mira, as, existir un conjunto de colores primarios RGB
por cada observador.
La suma en iguales proporciones de los colores RGB nos da el color BLANCO. La ausencia
de estos colores es el NEGRO.
Procesamiento de Imgenes
Pgina 67
Un diagrama de los colores RGB trazado en las coordenadas RGB se muestra a continuacin:
El modelo CMY-K es una variante del CMY, donde K significa Negro, es decir, por lo que se
lo conoce y tambin como CMY-B, pero esta B puede confundirse con el Azul (Blue) del
modelo RGB.
Procesamiento de Imgenes
Pgina 68
Queda como trabajo para el estudiante consultar como se convierte un modelo CMY en
CMY-K.
Iluminacin o brillo.
Componente del color para ser transmitido con portadora en fase. (Inphase)
Componente del color para ser transmitido con portadora en cuadratura. (Quadrature).
Con respecto a su relacin con RGB, el modelo YIQ representa un color cualquiera como la
combinacin de Brillo y Contraste. La cromancia (color) es la suma del Brillo y el contraste
(Hue).
El Brillo es la cantidad de color o intensidad de las componentes RGB, vistas como tres
lmparas encendidas con una determinada emisin de luz, cuya combinacin hace que un
color se vea ms o menos brillante.
El Contraste (Hue) es el color dominante percibido por el observador, o la nitidez con que un
color es presentado al observador.
La Cromancia o el color, resulta entonces una combinacin de las dos anteriores, es decir,
Contraste + Saturacin = Cromancia.
Los Tristmulos son las tres cantidades de RGB necesarios para obtener un color, expresados
como porcentajes de R (r), G (g) y B (b). As:
r = R/(R+G+B)
g = G/(R+G+B)
b = B/(R+G+B)
(1)
Pgina 69
(2)
Procesamiento de Imgenes
Pgina 70
En una escala de colores en donde la mxima intensidad de color sea la unidad, el negativo de
un color se puede expresar como lo que le falta para llegar a su mxima intensidad, es decir,
un gris es el color blanco menos la cantidad de color negro lo compone, as, si no hay
presencia de negro el color es completamente blanco. Por analoga, el color C sera calculado
como: C = 1 - R; M = 1 - G; y, Y = 1 - B. En forma matricial la transformacin de colores
sera:
(3)
(4)
0.596 0.275 0.321 G
0.212 0.523 0.311 B
(5)
Pgina 71
Y
R
I G
Q
B
(6)
G
RG B
R
RGB
B
RG B
Donde, r + g + b = 1
(7)
S 1
3
min R , G , B
( R G B)
2 ( R G ) ( R B)
H cos
( R G ) 2 ( R B )(G B )
(8)
(9)
Se debe corregir el valor de H por H = 360 - H, si (B/I) > (G/I). Note que el rango de
variacin de los ejes RGB es de 0 a 1.
Si S = 0, H no est definida.
Si I = 0, la componente S no est definida.
Pgina 72
(10)
(11)
(12)
luego, se usa R 3Ir , G 3Ig , B 3Ib para llegar a RGB, en todos los casos de H.
b) Para 120 < H 240, primero de re calcula H como H = H - 120.
(13)
(14)
(15)
c) Para 120 < H 240, primero de re calcula H como H = H - 240.
(16)
(17)
(18)
Tal como se ve en la conversin de RGB a HSI, la componente I no es ms que la proyeccin
de un color cualquiera sobre el vector de niveles de grises. Dicho de otra forma, la
componente I es el promedio de las componentes RGB (ecuacin 7). La I de HSI es entonces
el nivel de gris equivalente a un color expresado en componentes RGB o HSI, y por ello, se
pueden aplicar todos los conocimientos de procesamiento de imgenes desarrollados para
niveles de gris a imgenes en color. Por ejemplo, se puede aclarar, oscurecer, aplicar el
histograma, etc.
El procesamiento de imgenes usando HSI difiere del realizado en RGB porque en HSI no se
alteran los colores, sin embargo, a pesar del cambio de colores, si se usa el procesamiento de
imgenes en color trabajando independientemente en cada una de sus componentes.
Pgina 73
I del modelo HSI, es el manejo de intensidades relativas de color, mediante este concepto, el
nivel de gris de un color RGB dado es:
I = 0.299*R + 0.587*G + 0.114*B.
Al aplicar es mecanismo, un color RGB: 60B4A7 se transforma en:
I=0.299(96)+0.587(180)+0.114(167)=153en lugar de
I=(96+180+167)/3=181
Las diferencias mas notorias se hallan en colores puros como FF0000, 00FF00, y 0000FF que
se convierten en 76, 149 y 29. De este modo, el rojo es un color claro y los otros dos oscuros,
siendo el azul ms oscuro de todos.
[ ] []
C'
R
M ' =1 G
Y'
B
Por ahora llamaremos C'M'Y' a las componentes del modelo CMY y C M Y K a los del
modelo CMY-K.
Valor de K: El segundo paso es hallar el valor de K. Esta componete es una matriz compuesta
por los valores mnimos de C'M'Y' en cada posicin de pixel.
Valores C M Y: Estos valores del modelo CMY-K resultan de restar el valor de K de las
matrices C' , M' o Y'.
Ejemplo: convertir a CMY-K la siguiente imagen:
] [
R= 3 11 G= 12 6
0 10
0 15
] [ ]
B= 5 9
0 12
C '= 12 4
15 5
] [ ]
M '= 3 9 Y '= 10 6
15 0
15 3
K= 3
15
4
0
Procesamiento de Imgenes
Pgina 74
[ ] [ ] [ ] [
C= 9 0
0 5
M= 0 5 Y = 7 2
0 0
0 3
K= 3 4
15 0
(19)
Ejemplos:
El negativo de blanco (FFFFFF) es el negro (000000).
El negativo del amarillo (FFFF00) es el azul (0000FF).
El negativo del color (34F127) es (CB0ED8).
El negativo del color (69815A) es (967EA5).
Si tenemos el color A14835, se puede obtener tonalidades de este color base que tengan un
tinte ms rojo si aumentamos su valor de nivel rojo, por ejemplo cambiando A1 por B0. Se
puede lograr el mismo efecto si en vez de aumentar su componente roja, se disminuyen las
otras dos componentes, as el color A13825 ser ms rojo que el color original, pero con
menor intensidad de color, es decir, ms oscuro. En general si se desea cambiar el color
original hacindolo ms verde, rojo, azul, magenta, celeste o amarillo, lo que se debe hacer es
aumentar el valor de las componentes del color o disminuir los valores de composicin del
color negativo.
Para aclarar u oscurecer un color se debe aumentar o disminuir los valores de todas las
componentes. Si en el afn de aclarar un color producimos su saturacin en uno de sus
componentes, se puede continuar aclarando el color aumentando las otras componentes hasta
llegar al color ms claro de todos que es el blanco. De igual forma el mximo oscurecimiento
de un color ser cuando todas sus componentes hayan llegado a cero. No es correcto afirmar
que si en una componente ya se ha alcanzado el lmite no es posible aclarar ms u oscurecer
ms un color, el lmite es el color blanco (FFFFFF) o el color negro (000000)
respectivamente.
Procesamiento de Imgenes
Pgina 75
Pgina 76
[ ] [ ] [ ]
[ ] [ ] [ ]
C= 0 6
0 7
M= 7 3 Y= 7 1
4 1
3 0
4.- Preparar 100 ml de tinta del color CMY de la figura anterior (C=7, M=1 y Y=0).
7
C= 100 ml , donde los 100ml es lo que requiere el cliente, as, C = 87.5 ml
8
1
M = 100 ml=12.5 ml , la cantidad necesaria de Y es 0 ml.
8
5.4 Pseudocolor
Llamado tambin Falso Color, es un proceso que permite colorear una imagen
monocromtica. Este proceso de coloracin es slo con propsitos de visualizar mejor el
contenido de informacin de la imagen, de ninguna manera pretende encontrar los colores
verdaderos correspondientes a las tonalidades de grises.
En una imagen en niveles de gris, se tiene slo una matriz f(x,y) que representa la imagen, en
cambio, en color, es necesario como mnimo tener tres matrices, una por cada uno de los
componentes de color de la imagen.
El proceso de coloracin de una imagen monocromtica es:
Ilustracin 3. Proceso de obtencin del pseudocolor. Se parte de una imagen en niveles de gris f(x, y) y se
obtienen tres imgenes fR(x, y), fG(x, y) y fB(x,y) que son las componentes de color rojo, verde y azul.
Para hallar fR(x,y), es necesario realizar una transformacin sobre f(x,y). Esta transformacin
debe adems ser independiente de las usadas para hallar las dems componentes puesto que se
necesita encontrar una representacin que de ser necesario permita reversar el proceso. Sin
embargo, en la gran mayora de los casos, la condicin de independencia puede ser eliminada
puesto que no es necesario volver a la versin monocromtica o se dispone de una copia
Procesamiento de Imgenes
Pgina 77
original de f(x,y).
Las transformaciones ms utilizadas son como las mostradas en el grfico a continuacin (la
escala del eje horizontal es de 0 a L-1, y el vertical de 0 a N-1, donde el nmero total de
colores es N3 ):
Rojo
Verde
Azul
Ilustracin 5. (b) Imagen capturada mediante una pelcula sensible a la luz infrarroja, (a) Imagen coloreada
usando pseudocolor.
Procesamiento de Imgenes
Pgina 78
Gama de Colores:
Si se desea ir desde el color Verde (10A050) hasta el color CAF (906010), usando 5 colores
intermedios, se requieren de 6 pasos o cambios de color, tal como se muestra a continuacin:
B
n+1
5.4 Problemas
1. Dibuje el diagrama de colores con los ejes R,G y B. Ubique los colores C, M y Y, y la
gama de grises.
2. Dibuje el diagrama de colores con los ejes C,M y Y. Ubique los colores R, G y B, y la
gama de grises.
3. Convierta a tonos de gris la siguiente imagen en 4 bits:
(R, G, B):
0
1
1
4
10
10
11
0
Procesamiento de Imgenes
6
6
7
7
Guido Ochoa Moreno
Pgina 79
(R, G, B):
10 11
1
4
1
10
11
2
0
0
9
15
1
4
10
10
11
0
6
6
7
7
10
14
Procesamiento de Imgenes
Pgina 80
12. Poner en color la siguiente imagen en niveles de gris en 3 bits: Los valores de R, G y B
deben variar entre 0 y 4. (1)
4
0
3
7
Proponga un mtodo alternativo al enunciado en este texto para colorear mapas usando
colores en formato RGB al estilo de HTML, sin usar el mapa de cromancia.
15.
Procesamiento de Imgenes
Pgina 81
CAPITULO 6
Restauracin de Imgenes
Pgina 82
partida de la moderna teora de los nmeros algebraicos. Su fama como matemtico creci
considerablemente ese mismo ao, cuando fue capaz de predecir con exactitud el
comportamiento orbital del asteroide Ceres, avistado por primera vez pocos meses antes, para
lo cual emple el mtodo de los mnimos cuadrados, desarrollado por l mismo en 1794 y an
hoy da la base computacional de modernas herramientas de estimacin astronmica. En 1807
acept el puesto de profesor de astronoma en el Observatorio de Gotinga, cargo en el que
permaneci toda su vida. Dos aos ms tarde, su primera esposa, con quien haba contrado
matrimonio en 1805, falleci al dar a luz a su tercer hijo; ms tarde se cas en segundas
nupcias y tuvo tres hijos ms. En esos aos madur sus ideas sobre geometra no euclidiana,
esto es, la construccin de una geometra lgicamente coherente que prescindiera del
postulado de Euclides de las paralelas; aunque no public sus conclusiones, se adelant en
ms de treinta aos a los trabajos posteriores de Lobachewski y Bolyai. Alrededor de 1820,
ocupado en la correcta determinacin matemtica de la forma y el tamao del globo
terrqueo, desarroll numerosas herramientas para el tratamiento de los datos
observacionales, entre las cuales destaca la curva de distribucin de errores que lleva su
nombre, conocida tambin con el apelativo de distribucin normal y que constituye uno de
los pilares de la estadstica. Otros resultados asociados a su inters por la geodesia son la
invencin del heliotropo, y, en el campo de la matemtica pura, sus ideas sobre el estudio de
las caractersticas de las superficies curvas que, explicitadas en su obra Disquisitiones
generales circa superficies curvas (1828), sentaron las bases de la moderna geometra
diferencial. Tambin mereci su atencin el fenmeno del magnetismo, que culmin con la
instalacin del primer telgrafo elctrico (1833). ntimamente relacionados con sus
investigaciones sobre dicha materia fueron los principios de la teora matemtica del
potencial, que public en 1840. Otras reas de la fsica que estudi fueron la mecnica, la
acstica, la capilaridad y, muy especialmente, la ptica, disciplina sobre la que public el
tratado Investigaciones diptricas (1841), en las cuales demostr que un sistema de lentes
cualquiera es siempre reducible a una sola lente con las caractersticas adecuadas. Fue tal vez
la ltima aportacin fundamental de un cientfico cuya profundidad de anlisis, amplitud de
intereses y rigor de tratamiento le merecieron en vida el apelativo de prncipe de los
matemticos. (Diccionario de Biografas, Ocano).
Restaurar una imagen significa de alguna forma mejoramiento de imgenes, sin embargo, la
restauracin debe ser hecha en procura de la imagen original, sin considerar otros elementos
que pueden estar presentes al hablar de mejoramiento.
La imagen a ser restaurada se puede representar como afectada por el siguiente proceso de
degradacin:
Procesamiento de Imgenes
Pgina 83
La imagen g(x, y) es entonces una versin ruidosa de f(x, y) que debe ser restaurada para
llegar a una imagen cercana de la imagen original f(x, y).
Filtro de 2x2
(0)
(1)
0
1/8 0
1/8
1/8
0
1/8
Filtro pasa bajos de 5 puntos diferentes de 0
(2)
Pgina 84
4
7
1
3
5
3
5
1
3
5
Pgina 85
consiste en:
1
3
7
1
Llenado
de ceros
1
0
3
0
0
0
0
0
7
0
1
0
0
0
0
0
Interpolar
Filas
1
0
3
0
4
0
2
0
7
0
1
0
3.5
0
0.5
0
Interpolar
Columnas
1
2
3
1.5
4
3
2
1
7
4
1
0.5
3.5
2
0.5
0.25
Finalmente se debe redondear los valores para obtener la imagen en tonos de gris.
1
2
3
2
4
3
2
1
7
4
1
1
4
2
1
0
13
3
0
1
2
3
4
5
0
1
0
0
11
0
0
1
0
0
0
0
0
0
2 3
0 13
0 0
0 0
0 3
0 0
0 0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
Procesamiento de Imgenes
5
6
7,1
8,3
5,5
2,7
9
7,7
6,6
5,6
3,7
1,8
13
9,6
5,3
3
2
1
8,6
6,4
4,2
2
1,3
0,6
4,3
3,2
2,1
1
0,6
0,3
Pgina 86
5
6
7
8
6
3
9 13
8 10
6 5
6 3
4 2
2 1
9
6
4
2
1
1
4
3
2
1
1
0
(3)
10
11
1 0
10 0
5 0
11 0
Interpolar los valores entre 1 y 10 no es cosa de hallar el promedio de dos en dos, se debe
conseguir dos valores intermedios entre 1 y 10 que reemplacen los ceros. Para esto es
necesario pensar que se debe pasar del nivel de gris 1 al 10 en tres pasos (note que el valor de
Sx = 3), y debemos calcular el tamao de cada paso, con la siguiente relacin:
Procesamiento de Imgenes
Pgina 87
paso
incremento de valor 10 1
3
escala
3
Vemos entonces que en forma general el valor del paso para la interpolacin se obtiene con:
paso
incremento de valor
S
(4)
10
11
6.66
7.33
3.33
3.66
1
3
5
2.5
4
5.5
7
3.5
7
8
9
4.5
10
6.66 3.33
3.5
7.33 3.66
3.66 1.83
10.5 7
11
5.5
1
3
5
3
4
6
7
4
7
8
9
5
10
11
11
6
7
7
7
4
3
4
4
2
Ejemplo
Restaurar la imagen con Sx=1.8 y Sy=1.4
1
0
10
6
0
1
2
0
1
0
0
1 2
0 10
0 6
0 0
3
0
0
0
1
0
0
6
3,3
2,35
10
6
4,28
5,5
3,3
2,35
Pgina 88
1
0
0
6
3
2
10
6
4
6
3
2
La FFT se ha usado con xito en aplicaciones especiales en las que se ha librado de ruido a
imgenes obtenidas con lentes defectuosos. El proceso de filtrado en estos casos no es
simplemente eliminar un rango de frecuencias, sino, el de eliminar una seccin de la matriz en
el dominio de frecuencia a modo de ciruga. En este proceso se extirpa el ruido de la
imagen.
La FFT ha mostrado excelentes resultados en el tratamiento de imgenes obtenidas con
cmaras en movimiento, en este caso, se hace una compensacin en frecuencia de modo que
se elimina el defecto producido por el movimiento.
Existen trabajos que han servido de tesis de doctorado en ciencias a los que hace referencia el
libro de Gonzlez, en los cuales se han corregido fotos con problemas de desenfoque.
Procesamiento de Imgenes
Pgina 89
6.5 Problemas
Indique porque se puede restaurar una imagen aplicando un filtro pasa bajo.
Como se aplica la mascarilla de 2 x 2.
3. Escale y restaure la imagen con Sx= 3 y Sy = 2.5. (2) Haga en la cuadrcula todos los
pasos.
1
3
11
9
4. Escale y restaure la imagen con Sx= 1.8 y Sy = 1.2. (2) Haga en la cuadrcula todos los
pasos.
1
5
14
13
5. Calcule las zonas a desechar si se desea filtrar una imagen de 100 x 100 usan Fourier, de
modo que se conserve el 98% de los puntos y se deseche en igual proporcin las frecuencias
ms altas y ms bajas.
Procesamiento de Imgenes
Pgina 90
CAPITULO 7
Compresin de Imgenes
Morse, Samuel
(Charlestown, EE UU, 1791-Nueva York, 1872) Inventor y pintor estadounidense.
Hijo del pastor calvinista y distinguido gegrafo Jedidiah Morse. Se educ en Yale, donde no
demostr especial aptitud para el estudio, aparte de la pintura y de los cursos sobre
electricidad. Tras graduarse en 1810, se emple como oficinista en una editorial de Boston.
Ese mismo ao se embarc hacia Inglaterra para estudiar bellas artes. A su vuelta en 1815,
despus de la guerra angloamericana, se gan la vida ejerciendo como retratista. En 1832, de
regreso en Estados Unidos procedente de Europa, concibi la idea de un telgrafo elctrico
tras escuchar una conversacin sobre el invento del electroimn; a pesar de que la idea no era
totalmente nueva, l fue el primero en materializarla. Construy su primer prototipo en 1835.
En 1838 desarroll el cdigo de puntos y rayas conocido como alfabeto Morse. En 1843, el
Congreso de Estados Unidos dio el primer paso hacia la extensin de la lnea telegrfica al
aprobar la financiacin del tendido que unira Washington con Baltimore. (Diccionario de
Biografas, Ocano)
Procesamiento de Imgenes
Pgina 91
Tal como lo seala el proverbio chino una imagen vale ms que mil palabras, el espacio
necesario para guardar una imagen es mucho mayor al necesario para las mil palabras. Por
esto, se necesita de una herramienta capaz de manejar imgenes en espacios de
almacenamiento ms reducidos.
Como se vio en el captulo 2, una imagen antes de ser digitalizada posee un nmero infinito
de puntos, luego, al digitalizarse, posee tantos puntos como su resolucin lo determine. En
general los tamaos muy grandes de las imgenes dificultan su uso en comunicaciones y crea
la necesidad apremiante de un mecanismo de compresin que compense el problema del
volumen de datos.
Segn la teora de la informacin, un mensaje est constituido por Informacin y
Redundancia. La redundancia es aquello que hace posible que el mensaje sea entendido en la
forma correcta sin ambigedades por los receptores del mismo, sin embargo, la redundancia
no es necesaria para las mquinas puesto que capaces de decodificar de una forma nica los
mensajes. Basados en este principio, se puede afirmar entonces que si es posible la
compresin de datos o mensajes.
Existen dos formas de compresin, una denominada compresin con prdidas y la otra sin
prdidas.
Un ejemplo de compresin con prdidas es JPEG (Join Photographic Experts Group). En esta
clase de compresin, no es posible recuperar completamente la imagen original, las prdidas
sin embargo pueden ser reducidas hasta que su efecto no sea apreciado por el ojo humano. El
esquema de compresin JPEG se simplifica en el diagrama anterior.
Se puede consultar informacin de JPEG en las siguientes direcciones:
http://www.cs.cf.ac.uk/Dave/Multimedia/node200.html,
http://www.seas.gwu.edu/~youssef/cs225/standards.html,
http://www.ece.purdue.edu/~ace/jpeg-tut/jpegtut1.html, ftp://ftp.uu.net/graphics/jpeg y otros.
Procesamiento de Imgenes
Pgina 92
La imagen estndar con la que se prueban los algoritmos de compresin ha sido Lena la
misma que sirve como indicador de calidad de los mtodos de compresin.
En la ilustracin 2 muestra la imagen original y la imagen despus de haber sido sometida a
una compresin usando JPEG con una relacin de 32:1. La calidad de la imagen sigue sin
embargo razonable a pesar de que el tamao del archivo disminuy a cerca de 30 veces su
valor original.
La granularidad que se observa en la imagen comprimida corresponde a que la tcnica JPEG
primero divide la imagen en porciones de 8 x 8 pixeles y los codifica independientemente
cada uno de estos cuadros.
Pgina 93
0
0
0
0
0
0
0
0
0
0 0
0 0
0 1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
Los pixeles blancos se consideran como CEROS, y los negros (texto) como UNOS.
La carrera inicial del cdigo es siempre de Ceros.
La codificacin es en carreras alternadas de ceros, unos, ceros, etc.
Para la transmisin binaria se usa un mismo nmero de bits para codificar todas las
carreras.
5. Se codifica lnea por lnea desde la cabecera hasta el fin de la pgina.
6. Existe una marca de inicio de transmisin, fin de lnea, y fin de transmisin. Usualmente
la marca de fin de lnea est compuesta por todos los bits en UNO.
Basados en este algoritmo, codifiquemos la siguiente lnea compuesta por: 20 unos, 3 ceros,
10 unos, y 20 ceros, usando palabras de 4 bits.
Con 4 bits se puede codificar carreras de hasta 14 ceros o unos, porque la palabra 1111 sirve
como fin de lnea. La carrera de 20 ceros puede ser enviada como 14 ceros, 0 unos y
finalmente los 6 ceros restantes. Adems se debe considerar que la carrera inicial es siempre
de Ceros, de modo que la codificacin sera:
0000
0 c.
20 unos
1110 0000
14 u.
0 c.
3 ceros 10 unos
0110 0011
1010
6 u.
20 ceros
1110 0000 0110
14 c. 0 c.
6 c.
Fin de Lnea
1111
Tamao original
n
1
Tamao Codificado n2
(1)
En este caso, Cr = 1.325, lo que significa que ha habido un ahorro del 32.5% del tiempo de
comunicacin o del espacio para almacenar la imagen.
La redundancia (Rd) se calcula como:
Rd 1
1
Cr
Procesamiento de Imgenes
(2)
Guido Ochoa Moreno
Pgina 94
11111
00000
20
40
01000
10000
11000
01000
16
24
fin de lnea
11111
fin de lnea
Pgina 95
Letra
A
B
C
D
E
F
G
H
I
J
K
L
M
Letra
Ch
Morse
Letra
.-...
-.-.
-..
.
..-.
--.
....
..
.---..-..
--
Morse
.-..--..--.---..-..
--.----.
..--
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Morse
-.
--.--.
--..-.
...
......--..-
Digito
0
1
2
3
4
5
6
7
8
9
Morse
----.---..--...-.........
-....
--...
---..
----.
-.---..
Signos de Puntuacin
Punto final
Coma
Dos puntos
Signo de Interrogacin (?)
Comilla simple
Guin
Lnea de quebrado o fraccin
Corchetes o parntesis
Doble comilla
Morse
.-.-.--..----...
..--..
.----.
-....-..-.
-.--..-..-.
Para indicar que hubo un error y que se ignore la ltima palabra, se usa el cdigo........ (Ocho puntos).
Procesamiento de Imgenes
Pgina 96
A modo de ejemplo se presenta a continuacin una tabla donde se hallan los smbolos
codificados conforme el postulado de Huffman. rn es el smbolo, P (rn) es la probabilidad del
smbolo en el mensaje, cdigo es la representacin del smbolo de acuerdo a Huffman, y
Longitud es el tamao en bits del cdigo.
rn
r0
r1
r2
r3
r4
r5
r6
r7
P(rn)
30
25
15
10
8
7
3
2
Cdigo
1
01
001
0001
00001
000001
0000001
0000000
Longitud
1
2
3
4
5
6
7
7
Si se codifican 100 smbolos con el cdigo de la tabla anterior, ser posible codificar el 30%
de los mismos usando slo un bit, el 25% con dos, el 15% con tres, el 10% con cuatro y as
sucesivamente. Este cdigo entonces hace posible codificar los 100 smbolos usando (30*1 +
25*2 + 15*3 + 10*4 + 8*5 + 7*6 + 3*7 + 2*7) = 282 bits.
Si en lugar de la codificacin de Huffman se usa la codificacin regular binaria, se
necesitaran 3 bits por cada smbolo, lo que da un total de 300 bits, es decir que se tiene un
ahorro de (300 - 282) = 18 bits, lo que significa un 6.4 %. El valor de Cr es de 300 / 282 =
1.064
Procesamiento de Imgenes
Pgina 97
7.3 Problemas
1. Calcule el tiempo necesario para enviar una hoja tamao carta por fax, a una velocidad de
1200 bits por segundo y con una resolucin de 150 ppi.
2. Para enviar varias lneas en blanco en un fax, simplemente de envan las marcas de fin de
lnea. Considerando esto, calcule el tiempo requerido para enviar una pgina en blanco por
fax (Tamao 8 x 11 pulgadas), usando palabras de 8 bits y 150 ppi.
3. Codifique en carreras de unos las siguientes lneas de datos (7 bits). Hgalo de la forma
ms eficiente posible. Calcule la relacin de comprensin: (2)
200c
10u40c100u30c
200c
200c120u10c3u
4.
P(rn)
21
2
9
18
21
13
13
3
Procesamiento de Imgenes
Pgina 98
CAPITULO 8
Reconocimiento de Imgenes
Descartes, Ren
(La Haye, Francia, 1596-Estocolmo, Suecia, 1650) Filsofo y matemtico francs.
Se educ en el colegio jesuita de La Flche (1604-1612), donde goz de un cierto trato de
favor en atencin a su delicada salud. Obtuvo el ttulo de bachiller y de licenciado en derecho
por la facultad de Poitiers (1616), y a los veintids aos parti hacia los Pases Bajos, donde
sirvi como soldado en el ejrcito de Mauricio de Nassau. En 1619 se enrol en las filas del
duque de Baviera; el 10 de noviembre, en el curso de tres sueos sucesivos, experiment la
famosa revelacin que lo condujo a la elaboracin de su mtodo. Tras renunciar a la vida
militar, viaj por Alemania y los Pases Bajos y regres a Francia en 1622, para vender sus
posesiones y asegurarse as una vida independiente; pas una temporada en Italia (1623-1625)
y se afinc luego en Pars, donde se relacion con la mayora de cientficos de la poca. En
1628 decidi instalarse en los Pases Bajos lugar que consider ms favorable para cumplir
los objetivos filosficos y cientficos que se haba fijado, y residi all hasta 1649. Los cinco
primeros aos los dedic principalmente a elaborar su propio sistema del mundo y su
concepcin del hombre y del cuerpo humano, que estaba a punto de completar en 1633
cuando, al tener noticia de la condena de Galileo, renunci a la publicacin de su obra, que
tendra lugar pstumamente. En 1637 apareci su famoso Discurso del mtodo, presentado
como prlogo a tres ensayos cientficos. Descartes propona una duda metdica, que
sometiese a juicio todos los conocimientos de la poca, aunque, a diferencia de los escpticos,
la suya era una duda orientada a la bsqueda de principios ltimos sobre los cuales cimentar
slidamente el saber. Este principio lo hall en la existencia de la propia conciencia que duda,
en su famosa formulacin pienso, luego existo. Sobre la base de esta primera evidencia,
pudo desandar en parte el camino de su escepticismo, hallando en Dios el garante ltimo de la
verdad de las evidencias de la razn, que se manifiestan como ideas claras y distintas. El
mtodo cartesiano, que propuso para todas las ciencias y disciplinas, consiste en descomponer
los problemas complejos en partes progresivamente ms sencillas hasta hallar sus elementos
bsicos, las ideas simples, que se presentan a la razn de un modo evidente, y proceder a
Procesamiento de Imgenes
Pgina 99
partir de ellas, por sntesis, a reconstruir todo el complejo, exigiendo a cada nueva relacin
establecida entre ideas simples la misma evidencia de stas. Los ensayos cientficos que
seguan, ofrecan un compendio de sus teoras fsicas, entre las que destaca su formulacin de
la ley de inercia y una especificacin de su mtodo para las matemticas. Los fundamentos de
su fsica mecanicista, que haca de la extensin la principal propiedad de los cuerpos
materiales, los situ en la metafsica que expuso en 1641, donde enunci as mismo su
demostracin de la existencia y la perfeccin de Dios y de la inmortalidad del alma. El
mecanicismo radical de sus teoras fsicas, sin embargo, determin que fuesen superadas ms
adelante. Pronto su filosofa empez a ser conocida y comenz a hacerse famoso, lo cual le
acarre amenazas de persecucin religiosa por parte de algunas autoridades acadmicas y
eclesisticas, tanto en los Pases Bajos como en Francia. En 1649 acept la invitacin de la
reina Cristina de Suecia y se desplaz a Estocolmo, donde muri cinco meses despus de su
llegada a consecuencia de una neumona. Descartes es considerado como el iniciador de la
filosofa racionalista moderna por su planteamiento y resolucin del problema de hallar un
fundamento del conocimiento que garantice la certeza de ste, y como el filsofo que supone
el punto de ruptura definitivo con la escolstica. (Diccionario de Biografas, Ocano).
Pgina 100
Una computadora para reconocer una porcin de texto debe realizar un proceso complicado
cuya complicacin es generalmente proporcional a la efectividad su trabajo. Este proceso
empieza con el procesamiento de la imagen de texto que es la entrada del OCR. La primera
tarea por hacer es confirmar la orientacin del texto en la imagen, debiendo realizarse las
correcciones necesarias para que el algoritmo de reconocimiento no sea muy complicado y
parta siempre de una orientacin fija. Luego se debe segmentar la imagen primero en lneas,
luego en palabras y finalmente en letras con lo que se obtienen imgenes de los smbolos en
forma individual (la imagen de cada smbolo se denomina glyph). El glyph es entonces
aplicado al algoritmo de reconocimiento. Para cada glyph reconocido el algoritmo asocia una
probabilidad de certeza u otra usualmente diferente de cero asociadas al reconocimiento
errneo del smbolo. Finalmente los smbolos reconocidos se presentan a la salida del
proceso en el mismo orden en que fueron ingresados de modo que se pueda entonces armar
las palabras, las oraciones y recomponer el texto. Asociado a este proceso est el resultado
acumulado del error cometido que es una medida de lo confiable de la tarea realizada.
Para completar el proceso se requerir de un corrector ortogrfico que elimine desde el punto
de vista de palabras los errores cometidos al interpretar cada glyph. El sistema debera estar
en la capacidad de realizar las correcciones de glyphs interpretados como nmeros en lugar de
letras como usualmente sucede con la letra B y el nmero 8 de modo que se refine el
resultado obtenido.
Existe otro problema que resolver, como es la mezcla de texto y grficos. Se debe reconocer y
delimitar la zona que contiene texto y separarla de la de los grficos. El proceso de armado de
salida debera componer nuevamente las dos zonas en el orden correcto.
Otro gran problema es poder reconocer una zona de texto manuscrito el mismo que puede
venir con diferentes tamaos y estilos; adems, se debe tomar en cuenta que existen
diferencias entre los smbolos que representan una misma letra a pesar de ser escritas por la
misma persona. Este ltimo caso requiere hasta hoy en da de una persona para realizar el
reconocimiento de caracteres. En este trabajo se presentan algunas alternativas de solucin del
problema de reconocer caracteres manuscritos.
En estos glyphs, las imgenes contienen un smbolo correctamente alineado de modo que una
simple sobre posicin de una mascarilla del mismo tamao del smbolo almacenada en una
base de datos nos permitir identificarlo cuando la sobre posicin sea perfecta, es decir, que
Procesamiento de Imgenes
Pgina 101
Un algoritmo bastante efectivo para separar los smbolos es explicado en [Algoritms for
Image Processing and Computer Vision, J. R. Parker] [25] en donde se usa el concepto Costo
de corte (Break Cost) introducido por Tsujimoto en 1991, para determinar los puntos donde
se deben separar los smbolos para armar los glyphs.
Adicionalmente, el uso de un rbol de conexiones asociado en forma simultnea al
reconocimiento de cada smbolo, es muy til para eliminar posibles errores de
reconocimiento. Este mtodo es conocido como trellisa en comunicacin digital, y consiste en
usar una memoria de bits para decodificar smbolos, en el caso del reconocedor de caracteres
la memoria se empleara para guardar smbolos y decodificar palabras.
Pgina 102
(1)
Pgina 103
A
B
C
D
A
96
0
0
0
B
2
98
0
1
C
0
0
100
0
D
2
2
0
99
La matriz de confusin mostrada se realiz en base a 100 pruebas de cada tipo, note que cada
fila suma 100, esto es verdad solamente si no existen rechazos. En la ltima columna se puede
observar que los glyphs clasificados como D 99 fueron correctos y 4 equivocados. Esta
matriz es muy til para examinar el comportamiento de un algoritmo.
A continuacin se evalan algunas formas propuestas para el reconocimiento de caracteres
manuscritos.
Procesamiento de Imgenes
Pgina 104
Con los descriptores encontrados se definen algunas medidas tiles como son:
W(k) = ancho a la posicin k = RP(k) - LP(k).
Wmax, valor mximo del ancho del carcter.
R, la razn del alto para el mximo ancho del carcter.
LDIF(k) = LP(k) - LP(k-1).
RDIF(k) = RP(k) - RP(k-1).
(2)
Los valores LDIF y RDIF permiten establecer conceptos de la variabilidad de la forma del
carcter en estudio, grandes valores de LDIF implican un gran cambio en la silueta en ese
punto y es un criterio vlido para apoyar la decisin de clasificacin. Un ejemplo de siluetas
izquierda y derecha se muestra en la figura 2.5
Para la clasificacin de dgitos los autores antes mencionados definieron 48 caractersticas, y
con ellas alcanzaron un resultado promedio de 94.2% de reconocimientos acertados. Los
resultados se reproducen a continuacin para referencia.
Procesamiento de Imgenes
Pgina 105
% Correcto
% Error
% Rechazo
0
94
1
5
1
95
4
1
2
96
1
3
3
4
100 95
0
5
0
0
5
6
100 84
0 10
0
6
7
94
5
1
8
90
4
6
9
94
6
0
Figura 6: Localizacin de las deficiencias de convexidad. Cdigos para las direcciones; prueba para
hallar la direccin de la abertura; huecos del 6, uno de los huecos hallados no es vlido.
Las caractersticas usadas por este mtodo son entonces: la direccin de la abertura, el
tamao, la localizacin y la forma. Las caractersticas de localizacin se detectan de una
manera aproximada solo indicando la ubicacin de la zona de pixeles negros ms poblada. El
tamao se define como pequeo si existe un 10% o menos de pixeles negros. La tabla 3
muestra una descripcin detallada de los descriptores usados.
Tabla 3: Descriptores para la clasificacin por el mtodo de deficiencias de convexidad.
Dgito
0
1
2
3
4
5
6
7
Direccin de abertura
0
Ninguna
2
4
2
4
3
4
2
4
0
2
Procesamiento de Imgenes
Tamao
medio
medio
medio
grande
pequeo
medio
medio
medio
medio
medio
medio
Localizacin
centro
izquierda arriba
derecha abajo
izquierda
derecha
arriba
arriba derecha
abajo izquierda
arriba
abajo
izquierda
Forma
convexo
no convexo
Pgina 106
0
0
2
4
0
4
medio
medio
medio
pequeo
pequeo
medio
arriba
abajo
izquierda
derecha
no-centro, arriba
abajo
Este mtodo fue presentado por Holt (1987) y Zhang (1984) y con el se obtuvieron resultados
del 94% de reconocimiento, tal como se detallan en la tabla a continuacin.
Tabla 4: Tasa de reconocimiento.
0
99%
1
94%
2
98%
3
96%
4
94%
5
90%
6
90%
7
93%
8
95%
9
92%
Para el reconocimiento se usan vectores que forman el esqueleto del dgito, esto permite una
buena abstraccin de la forma y tambin lo hace independiente del grosor de la lnea. Adems,
la plantilla posee una nica dimensin para todos los caracteres de modo que el proceso de
Procesamiento de Imgenes
Pgina 107
reconocimiento es general para todos. La plantilla usada por J. R. Parker (1997) es de 10 por
10, de modo que sus coordenadas poseen valores entre 0 y 9 inclusive.
Este mtodo consiste entonces en transformar una imagen desde su forma original de matriz
de pixeles (raster) a una plantilla vectorizada, comparar esta con las plantillas tipo y realizar el
reconocimiento seleccionando el carcter que mejor se ajusta. La figura 2.7 muestra la
vectorizacin del nmero 6 luego de realizado el proceso para hallar su esqueleto.
Este mtodo ha sido aplicado con desempeos relativamente buenos tanto al reconocimiento
de caracteres manuscritos como al de notas musicales. La tasa promedio de reconocimiento de
este mtodo se halla en 94.3% y sus resultados se detallan en la tabla a continuacin:
Tabla 5: Resultados del mtodo de mascarilla de vectores.
Tasa de acierto
Mascarillas por
dgito
0
1
2
3
4
5
6
7
8
9
99% 94% 98% 96% 94% 92% 90% 93% 95% 92%
1
1
3
1
5
3
2
4
4
4
Las redes neuronales han sido ampliamente usadas para el reconocimiento y clasificacin de
patrones, en la actualidad muchos paquetes comerciales basan su poder de reconocimiento en
redes neuronales tanto para el reconocimiento del carcter impreso en s, como para reconocer
el tipo de letra o font en el que se hallan impresos tales caracteres.
A continuacin se presentan a modo de introduccin varios trabajos basados en redes
neuronales para el reconocimiento de caracteres.
Pgina 108
Como primer paso del reconocimiento, las imgenes de los dgitos son escaladas a tamaos de
glyph de 8 x 6, para luego ser aplicado a la red glyph por glyph.
Los resultados alcanzados con esta red se resumen en la tabla 6. Un elemento interesante en el
trabajo presentado por Freeman (1991) fue que el desempeo de la red disminua
considerablemente al someterla a un conjunto de datos diferente del usado para su
entrenamiento. Los resultados para los dos casos fueron:
Tabla 6: Reconocimiento de dgitos usando una red neuronal tipo retropropagacin.
Certeza (%)
0
99
1
93
2
99
3
95
4
100
5
95
6
99
7
100
8
95
9
74
Tabla 7. Reconocimiento de dgitos usando una red neuronal tipo retropropagacin mejores resultados.
Certeza (%)
0
100
1
99
2
100
3
94
4
99
5
99
6
94
7
98
8
99
9
98
Pgina 109
Cualquier sistema que permita realizar un esquema de juntura de mltiples clasificadores debe
cumplir con las siguientes premisas:
La respuesta del clasificador mltiple debe ser el mejor resultado dado por los
clasificadores en forma individual, de modo que su resultado sea representativo de los
resultados individuales.
Los clasificadores en el sistema pueden producir resultados diferentes, estos deben ser
conjugados en una sola respuesta coherente.
El clasificador mltiple debe presentar mejores resultados que los clasificadores en forma
individual o de lo contrario, no tiene razn de ser.
La implementacin de estas premisas se logra mediante la utilizacin de conceptos tales como
los probabilsticos, los de votacin o la combinacin de ambos.
Pgina 110
F k , l F k k 0 , l l0
(3)
Procesamiento de Imgenes
Pgina 111
La firma se traza normalizada respecto de la mxima elongacin del radio, por ello no importa
el tamao de la imagen mientras conserve la forma.
Si se produce una rotacin sobre el centro de la imagen, la firma ser de la misma forma pero
desplazada en el eje del ngulo. Este desplazamiento se puede combatir con el mdulo de la
FFT y con ello se obtendra una forma de combatir la variabilidad por rotacin y escala al
mismo tiempo.
8.8 Problemas
1. Obtenga la silueta izquierda de la imagen a continuacin:
Procesamiento de Imgenes
Pgina 112
Para ver el contenido de una variable digtela y presione Enter. Por ejemplo una vez ejecutado x=
zeros(20,20); digite x para ver su contenido.
En octave se pueden hacer scripts que contengan varios comandos, el archivo script debe tener extensin .m.
En linux desde la carpeta que contiene el programa se invoca a octave escribiendo octave, lo cual produce que
se despliegue: octave1>, ingrese el nombre del archivo m para ejecutarlo, pero sin la extensin m, ejemplo
ini si el archivo se llama ini.m
Cree un archivo llamado ini.m con el siguiente contenido (la imagen suelo debe existir en la ruta sealada):
%cargalaimagendesdeunarchivojpg.
x=imread('/home/guido/pruebas/octave/suelo.jpg');
%muestralaimagencargadaenlavariablex
image(x)
Luego de ejecutar el script visualice la imagen que se despliega en la ventana de la grfica (figure 1). Se
recomienda dimensionar las ventanas de texto y grfica de tal forma que se los vea simultneamente.
Cuando se trabaja con imgenes en niveles de gris, se pueden aplicar varios esquemas de colores a la imagen
tales como:
colormap(gray);
colormap(pink);
colormap(cool);
colormap(hsv);
La opcin colormap(map) es un antiguo esquema de matlab que presentaba la imagen en color.
En octave, las grficas e imgenes se muestran en una ventana diferente. Para crear una ventana adicional de
grfica se usa el comando: figure(2) donde el nmero entre parntesis hace referencia al nmero de la ventana
creada o por crear para graficacin.
Dentro de un script los comentarios se ponen con lneas que empiecen con %. Si los comentarios se ponen al
inicio del archivo, estas lneas aparecen al hacer help <nombre_del_archivo>, prubelo.
La siguiente secuencia de comando reconstruye una seal a partir de sus componentes de la serie de Fourier: y
6
x 1
3 x 1
5 x
y=f ( x )= sen (
)+ sen(
)+ sen (
)+ ...
5
3
5
5
5
x = [0:0.1:10]
y = 6/%pi * sin((%pi * x)/5);
plot(x,y);
hold;
y = 6/%pi * sin((%pi * x)/5) + 2/%pi * sin((3*%pi*x)/5);
plot(x,y);
y = 6/%pi * sin((%pi * x)/5) + 2/%pi * sin((3*%pi*x)/5) + 6/%pi sin((5*%pi*x)/5)/5;
Procesamiento de Imgenes
Pgina 113
plot(x,y);
Nota. El cdigo anterior est hecho para Scilab, para octave, cambie %pi por pi.
Para repetir los comandos anteriormente ingresados a Octave, use la tecla flecha arriba. El ; ejecuta el
comando en modo silencioso, si se lo omite el comando se ejecuta pero adems se muestra el contenido de la
variable afectada. Use help y el nombre del comando para obtener ayuda, ejemplo helpfft2
Existe gran cantidad de manuales de octave en lnea, sin embargo su sitio oficial se encuentra en:
https://www.gnu.org/software/octave/doc/interpreter/
DEBER
1
2
3
Entregar: IMPRESO: Imagen original, resultado de la aplicacin de cada funcin (numerales 1, 2 y 3),
para el caso del numeral 2, presente tres casos de la imagen conteniendo el patrn y el patrn. Se
aceptar un mximo de 10 hojas. EN ARCHIVO: el informe y los programas octave *.m de los
numerales 1 y 2.
Procesamiento de Imgenes
Pgina 114
La imagen gris tiene valores entre 0..250, octave maneja un esquema de grises entre 0 y 100,
Procesamiento de Imgenes
Pgina 115
donde 0 es negro y 100 es blanco. Para ver mejor la imagen se debe escalar los valores a un
rango de 0 100. Usamos las siguientes sentencias:
min(min(x)) retorna el valor mnimo de la imagen: ans=0
max(max(x)) retorna el valor mximo de la imagen: ans=250
x1=x/3.2; Se escala la imagen y al mismo tiempo se la oscurece un poco.
image(x1)
colormap(pink)
Se despliega la imagen de la izquierda.
y=fft2(x1);
size(y) imprime el tamao de y: 300 x 400, esto sirve para calcular la zona a poner
ceros. Filtrando al 40% se debe eliminar la zona central de 253 x 190 pixeles, es decir desde
y= (150 190/2) hasta (150 + 190/2 -1), x=(200 253/2) hasta (200 + 253/2 -1).
y(55:244,74:326)=0;
x2=ifft2(y);
figure
image(abs(x2))
colormap(pink)
Se despliega la imagen del lado derecho, en la cual se observa un efecto de difuminado o una
imagen algo borrosa. Filtrando al 50% se debe eliminar la zona central de 283 x 212 pixeles,
es decir desde y= (150 212/2) hasta (150 + 212/2 -1), x=(200 283/2) hasta (200 + 283/2
-1).
y(44:255,59:341)=0;
x2=ifft2(y);
figure
image(abs(x2))
colormap(pink)
El resultado se muestra a continuacin, quedando como ejercicio para el estudiante hacer un
filtrado al 60% y 80%.
Procesamiento de Imgenes
Pgina 116
image(abs(x2))
colormap(pink)
title('resultadodefiltraral50%');
Para el filtro pasa altos, se escoge filtrar a un 5%, con lo cual se deben eliminar las cuatro
zonas esquineras de 45 x 34 pixeles, es decir desde y desde 1 hasta (34), y de (300 34 + 1)
hasta 300 y para x, desde 0 hasta (45 -1) y desde (400 - 45 +1) hasta 400.
%Filtropasaaltos:
y=fft2(x1);
y(1:34,1:45)=0;
y(1:34,366:400)=0;
y(267:300,1:45)=0;
y(267:300,356:400)=0;
x3=ifft2(y);
figure
image(abs(x3))
title('resultadodefiltraral5%conFPA');
colormap(pink)
Procesamiento de Imgenes
Pgina 117
colormap(gray)
%Seobtieneygraficaelnegativo
x4=max(max(abs(x3)))abs(x3);
image(x4);
title('Negativodelresultadodefiltraral5%conFPA');
A continuacin se muestra el resultado del FPA en escala de grises y su negativo, calculado en
x4.
Procesamiento de Imgenes
Pgina 118
Luego de instalar el paquete de imgenes se debe reiniciar el octave si se hallaba activo para
que se cargue el nuevo paquete instalado.
Ahora quedan disponibles funciones como rgb2gray para convertir imgenes en color (rgb) a
niveles de gris entre 0 y 255. De todas formas, las imgenes en octave se muestran en niveles
Procesamiento de Imgenes
Pgina 119
de gris en un rango de 0 a 100, de modo que para ver bien una imagen en color se debe
reescalarla al rango de 0 a 100. Ejemplo:
%Imgenesennivelesdegrisusandorgb2gray
x=imread('/home/guido/pruebas/octave/suelo.jpg');
image(x)
x1=rgb2gray(x);
mx=100/abs(max(max(x1));
x2=x1.*mx;
figure2
image(x2);
title('Imagenennivelesdegrisentre0y100');
colormap(gray);
figure2
%seleccionalafigura1paraponerlettulo
figure1
title('Imagenoriginalencolorformatorgb');
Lo anterior produce:
Hay varias formas de visualizar una imagen usando colormap, para listar todas las
posibilidades de colormap use:
colormap('list');
vea tambin: http://octave.sourceforge.net/image/NEWS.html
Para usar una ventana grfica se la debe primero seleccionar antes de ejecutar un comando
que puede cambiar su conternido, por ejemplo:
figure2
image(x2)
colormap(autumn)
El resultado se muestra a continuacin:
Procesamiento de Imgenes
Pgina 120
x3=imsmooth(x2);
figure3
colormap(gray);
image(x3);
Procesamiento de Imgenes
Pgina 121
Aplicaciones prcticas
Lo que es equivalente a determinar los colores rgb a ser reemplazados por todos aquellos que
cumplan con:
2
T ((rR)+(gG) +(bB) )
De modo que todos los colores rgb que cumplan con esta condicin determinan la regin de
color a ser reemplazada. Por ejemplo si T = 10, y usando el color amarillo indicado como
color base, tenemos que:
2
Pgina 122
Ejemplo:
Sea el color base: R=A2, G=33, B=D3, tolerancia = 10, los colores que cumplan con:
(( r A 2)2+(g33)2 +( bD 3)2) 100
Se los reemplazar por R=A2, G=33, B=D3, a=0, caso contrario, no se reemplaza e valor de
a=0 y permanece en 100% o el valor de FF.
A continuacin se muestra un programa en java que recibe una imagen en RGB y la convierte
en RGBA para manejar la transparencia:
privatestaticint[][][]getPixels(BufferedImageimage){
int[][][]result=newint[height][width][4];
for(intx=0;x<image.getWidth();x++){
for(inty=0;y<image.getHeight();y++){
Colorc=newColor(image.getRGB(i,j),true);
result[y][x][0]=c.getRed();
result[y][x][1]=c.getGreen();
Procesamiento de Imgenes
Pgina 123
result[y][x][2]=c.getBlue();
result[y][x][3]=c.getAlpha();
}
}
}
[ ][
] [
0 0 0 1 1 1 1 1 1
1
1
F HB = (A1)Original+( Pasa alto)=( A1) 0 1 0 + 1 8 1 = 1 9 A1 1
9
9
0 0 0
1 1 1
1
1
1
Con A = 1, se tiene que el filtro high boost es igual al filtro pasa alto, tal como se indic en el
captulo 4.
O tambin calculando el filtro desde la definicin inicial: (A)(Original) Pasa bajo tenemos:
F HB
[ ] [ ] [
0 0 0
1 1 1
1
1
1
1
1
= A Original (Pasa bajo) = A 0 1 0
1 1 1=
1 9 A1 1
9
9
0 0 0
1 1 1
1
1
1
Si A > 1 se aade a la imagen original el efecto del filtrado pasa altos que es el resaltar los
bordes, con esto se logra una imagen con nfasis en los bordes.
Procesamiento de Imgenes
Pgina 124
Resultado de la aplicacin del filtro high boost con A=2 se muestra a continuacin:
Procesamiento de Imgenes
Pgina 125
Bibliografa
1.
2.
Bishop Christopher M., Neural Networks for Pattern Recognition, Claredon Press
Oxford, Oxford University Press, Inc., USA, 1997.
3.
4.
Gonzlez Rafael C. & Woods Richard E., Digital Image Processing, Addison-Wesley
Publishing Company, Inc., USA, 1992.
5.
6.
Kay David C. & Levine John R., Graphics File Formats, Second Edition, Wind
Crest/McGraw-Hill, Inc., USA, 1995.
7.
Kheng Wee Leow, B.S.,M.S., Visor: Learning Visual Schemas in Neural Networks for
Object Recognition and Scene Analysis, Dissertation for Doctor of Philosophy, The
University of Texas at Austin, august 1994.
8.
Lim Jae S., Two - Dimensional Signal and Image Processing, Prentice-Hall, Inc., 1990.
9.
10. Oppenheim Alan V., Discrete-Time Signal Processing, Prentice Hall, Inc., USA, 1989.
11. Parker J. R., Algorithms for Image Processing and Computer Vision, Willey Computer
Publishing, John Wiley & Sons, Inc., USA, 1997.
12. Scilab Group, Introduction to Scilab-2.4, INRIA Meta2 Project/ENPC Cergrene, Francia,
1998.
13. SNNS, Stuttgart Neural Network Simulator, User Manual, Version 4.1, University of
Tbingen, Germany, 1999.
14. Stark Henry, Image Recovery: Theory and Application, Academic Press, Inc., USA,
1987.
15. Wasserman Philip D., Neural Computing Theory and Practice, ANZA Research, Inc., Van
Nostrand Reinhold, USA, 1989.
16. Wechsler Harry, Computational Vision, Computer Science Department, George Mason
University, Fairfax, Virginia, Academic Press, Inc., Washington 1990.
Procesamiento de Imgenes
Pgina 126
Internet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Procesamiento de Imgenes
Pgina 127