Documentos de Académico
Documentos de Profesional
Documentos de Cultura
HUAUCHINANGO
INGENIERA MECATRNICA
P R E S E N T A :
J U A N R I C A R D O G O M E Z H E R N A N D E Z
E14312022
Este proyecto consta en atacar 2 problematicas detectadas en dichos procesos las cuales son
la primera es la necesidad de calentar las soluciones acidas utilizadas y que debido al alto
grado de corrocion de estas mismas se vuelve imposible utilizar mtodos de calentamiento
convencionales, la segunda es definir relaciones de voltaje/amperaje para los distintos
volmenes y tipos de material de las piezas a electropulir
Design a system to improve the pickling and electropolishing processes of stainless pipe,
manufacturing and integrating a heating device for aggressive liquids as well as the
realization of an electropolishing cell and manuals to optimize the process.
This project consists in attacking 2 problems detected in these processes which are the first
is the need to heat acid solutions used and because of the high degree of corrocion of these
same becomes impossible to use conventional heating methods, the second is to define
relations Of voltage / amperage for the different volumes and types of material of the parts
to be electropolished
El presente trabajo quiero dedicrselo a mis padres quienes me han apoyado y motivado en
mi formacin acadmica, su gua y sus consejor han hecho de ellos un gran ejemplo a
seguir y que gracias a ellos he podido conseguir llegar hasta punto de mi formacion, gracias
por todo su apoyo.
A mis profesores los cuales durante toda mi carrera han aportado con su conocimiento y sus
consejos a mi formacin academica.
Y por ltimo quiero agradecer a Conexiones Inoxidables de Puebla S.A por haberme
permitido realizar mi proyecto de residencia en sus instalaciones y por facilitarme todo el
material necesario para la realizacin del mismo durante el periodo de residencia
profecional.
ndice de contenido
Pgina
Antecedentes viii
Captulo I. Introduccin 1
1.2 Justificacin 3
1.3 Hiptesis 4
1.4 Objetivo general 5
1.7.1 Limitaciones 6
2.1 Textura 8
2.1.1 Caractersticas 8
2.2.1Natural 9
2.2.2 Artificial 10
2.2.3 Visual 10
2.2.4 Tctil 10
2.2.5 Geomtrica 11
i
2.2.6 Orgnica 11
2.3.7 Fotogrfica 12
ii
3.2 Procesamiento de imgenes 28
Conclusiones. 75
Recomendaciones. 76
Experiencia personal 77
Bibliografas. 78
Anexos. 80
iii
ndice de figuras
Figura 1: Control de calidad en el envasado de una viii
botella
Figura 2: Reconocimiento de patrones de color ix
aplicando la visin artificia
Figura 3: Proceso a seguir para la clasificacin de 3
materiales mediante visin artificial
Figura 4: Texturas naturales 9
vi
Figura 71: Predicciones del rbol de decisin. 68
Figura 72: Arbol de decisin. 68
vii
ANTECEDENTES
El procedimiento de pulido electroqumico o electropulido sirve para preparar superficies
metlicas de alta pureza, alisar y desbarbar las superficies metlicas. Por medio de un
alisamiento en el mbito micromtrico se puede provocar tambin un brillo de las
superficies as tratadas. Adems de esto, por el electropulido se pueden eliminar eventuales
tensiones de las capas externas del material.
Existe un gran nmero de diferentes procedimientos para el electropulido que se pueden
emplear para la mecanizacin de distintos metales, respectivamente de aleaciones
metlicas. Por regla general, estos procedimientos se basan en el empleo de electrolitos que
comprenden un cido mineral concentrado como por ejemplo cido fosfrico o cido
sulfrico, respectivamente una mezcla de cidos minerales concentrados a los que con
frecuencia se mezclan aditivos para continuar mejorando la accin de los electrolitos y
obtener as superficies metlicas ms lisas y mas brillantes. Ejemplos de tales aditivos son,
cido crmico, cido fluorhdrico, aminofluoruros o aditivos orgnicos como, por ejemplo,
alcoholes, aminas, glicerina, etc.
viii
CAPTULO I. INTRODUCCION
El procedimiento de electropulido, se puede emplear con buenos resultados para una amplia
paleta de metales y aleaciones metlicas y en este caso es ampliamente inofensivo en
cuanto a seguridad en el trabajo y proteccin del medio ambiente. El proceso tiene como
resultado una superficie limpia e intacta.
1
1.1 Problema a resolver
Existen diferentes problemas en los procesos de decapado y electropulido, los cuales son la
falta de un sistema de calentamiento para las soluciones y la falta de manuales de operacin
para el proceso de electropulido en los cuales se debe expresar la relacin voltaje/corriente
para las distintas piezas a electropulir en las cuales se debe considerar tambin el tipo de
material del cual estn fabricadas.
2
1.2 Justificacin
Hoy en dia las demandas dentro de las diferentes industrias tanto medicas como
alimentarias exigen a los fabricantes de diferentes conexiones y maquinarias, productos de
mayor calidad en este caso se exige tubera de acero inoxidable con un acabado final
optimo para el uso alimentario, por dicho motivo se implementara el uso de electropulido
para lograr un mejor acabado final obteniendo un producto de grado alimenticio optimo ya
que el electropulido proporciona superficies lisas, de facil limpieza y esteticamente
agradables exigidas por esta industria, adems de su ventaja higienica y de no tener
contaminacion. Este acabado reduce la oxidacin y la contaminacion de los componentes
de acero inoxidable usados en cocinas, industria lactea y de procesos automatizados para la
produccion alimentaria. Gracias al electropulido se consigue una superficie perfectamente
limpia, lo que ofreceuna resistencia maxima a la formacion de bacterias y depositos de
residuos.
Al Igual que las empresas alimentarias, las empresas farmacuticas insisten en unas
superficies metlicas muy limpias. Hoy en da, los elementos internos de las mezcladoras
farmacuticas, los sistemas de suministro de productos secos, los filtros, los coladores, las
vasijas, las secadoras, sistemas de corte, las espirales de enfriamiento, diferentes tipos de
lminas, los intercambiadores de calor y otros importantes elementos metlicos que se
encuentran electropulidos. Por motivos microbiolgicos y de cualquier otro tipo de
contaminacin, el electropulido ofrece la solucin ptima para los componentes
farmacuticos de acero inoxidable.
Es por eso que el electropulido es necesario siempre que se necesiten superficies sin
contaminantes, sin particulas y sin abrasiones. Ademas, las tuberas se benefician de la
friccion minima y del aspecto de maxima pureza del electropulido y sus ventajas, las hacen
estar presentes en la industria farmaceutica y alimentaria.
3
1.3 Hipotesis
Giro: INDUSTRIAL
C.P: 73080
4
1.7 Aportaciones del trabajo
1.7.1 Limitaciones
Captulo 1: Introduccin
5
Captulo 3: Determinacion de relaciones Voltaje/Amperaje
El captulo 4 consiste en el diseo final del rea de trabajo en la cual quedara establecida
la celda de electropulido para su implementacin y uso dentro de la empresa.
6
Captulo II Marco terico
2.1 Textura
2.1.1 Caractersticas
7
Direccin
Frecuencia
Fase[2]
Natural
Artificial
Visual
Tctil
Geomtrica
Orgnica
Fotogrfica
Son las texturas propias de la naturaleza, la corteza de un rbol, la piel de los animales, la
piel de la fruta, la rugosidad de una roca entre otros,en la (Figura 4) se muestra algn
ejemplo de esta textura.
8
2.2.2 Texturas artificiales
Son las creadas por el hombre por esttica o funcionalidad como se muestra en la (Figura
5). El aspecto de un objeto puede cambiar si cambia su textura. El metal, el plstico o
cualquier tipo de material pueden ser alterados para darle una utilidad o un aspecto
determinado.
Son tridimensionales, evidentemente son visuales, pero se caracterizan por el relieve que
puede tener mayor o menor importancia. Se puede percibir a travs del tacto. Las hay
creadas por la mano del hombre pero tambin se encuentran en la naturaleza,en la (Figura
7) se muestra un ejemplo de estas texturas.
9
2.2.5 Texturas geomtricas
10
2.2.7 Texturas fotogrficas
El lbum de imgenes brodatz (P. Brodatz, "Texturas: Un lbum fotogrfico para artistas y
diseadores", Dover Publications, Nueva York, 1966). Es la coleccin de texturas que
existen en la actualidad segn los artistas ms famosos del mundo, mediante el cual
representa el conjunto de datos de una textura, especialmente para el procesamiento de
texturas a travs de visin artificial algunos ejemplo de estas texturas se muestran en las
(Figuras 11,12,13 y 14).
Para las imgenes de textura Brodatz, el nmero entre parntesis (es decir, D12) es el
nmero de pgina de la textura correspondiente en el libro Brodatz. Las imgenes son
exploraciones de un conjunto de impresiones en blanco y negro brillante que fueron
comprados por parte del autor. Si bien estas impresiones son fotografas de las mismas
texturas como en el libro, en la mayora de los casos no son la misma imagen que el que
est en el libro [4].
Las 112 imgenes de textura del lbum tienen diferentes intensidades de fondo.
11
Figura 11: Texturas de D1-D30 del lbum de brodatz.
12
Algunos ejemplos del lbum de brodatz.
Hierba (D9)
Corteza (D12)
Paja (D15)
Armadura espiga (D15)
De lana tela (D19)
Piel de becerro Presionado (D24)
Playa de arena (D29)
Agua (D38)
Grano de madera (D68)
Rafia (D84)
Piel de cerdo (D92)
Pared de ladrillo (D94)
Burbujas de plstico (D112) [4]
(, ): 0 1,0 1
En la (Figura 15) se mustra un ejemplo del histograma de los niveles de intensidad en tono
de grises de una imagen en un rango de 0 255.
13
Figura 15: Histograma de escala de gris de una imagen.
() =
255
= ( ) = ()
1=0
Ecuacin 1
= (( 1) ) = ( 1) ()
1=0
Ecuacin 3
14
Coeficientes de asimetra (Ecuacin 5) :
3 3
3, 1 = 3 =
2 2 3
Ecuacin 5
Ejemplo:
Caracterizacin de texturas de primer orden mostrado en la (Figura 16) [6]:
15
Los pasos para obtener la matriz de co-ocurrencia son:
Ejemplo:
La Matriz de co-ocurrencia considera la relacin espacial entre dos pixeles, llamados pixel
de referencia y pixel vecino. Por ejemplo, si se escoge el pixel vecino que est situado un
pixel a la derecha de cada pixel de referencia, esto se expresa como (1,0): 1 pixel en la
direccin x, 0 pixel en la direccin y.
Cada pixel en la ventana se va convirtiendo sucesivamente en el pixel de referencia,
empezando por el ubicado arriba a la izquierda y finalizando abajo a la derecha. Los pixeles
ubicados en el margen derecho de la imagen original, no tienen vecino a la derecha por lo
tanto no son usados en el cmputo.
16
Se pueden utilizar diferentes relaciones entre pixeles como se observa en la (Figura 17), por
ejemplo:
(-1,0) un pixel a la izquierda del pixel de referencia
(1,1) un pixel a la derecha y un pixel abajo (en diagonal) [7].
Para este mtodo se utiliza un pixel de separacin (un pixel de referencia y su inmediato
vecino). Cuando la ventana es suficientemente grande, se puede usar una separacin mayor,
sin que haya diferencias en la metodologa de su clculo [7].
17
Ejemplo:
Dada la siguiente imagen de la (Figura 18), se obtiene: distancia entre dos pixeles y a su
vez se normaliza la matriz, con los resultados obtenidos de la (Figura 19).
Normalizacin de la matriz:
Una vez obtenida la matriz simtrica, el paso siguiente es expresar esta matriz como
probabilidad. La definicin ms simple de la probabilidad es: "el nmero de veces que un
evento ocurre, dividido por el nmero total de posibles eventos" y la ecuacin para su
clculo (Ecuacin 7)[7].
18
(, )
(. ) =
1
,=0 (, )
Ecuacin 7
Dnde:
i es el nmero de fila y j el nmero de columnas
V es el valor de la celda i,j en la ventana
Pi,j es la probabilidad en la celda i,j
N es el nmero de filas o columnas.
= (, )2
Ecuacin 8
19
De esta ecuacin se puede definir que cuando todos los valores de P (i,j) son semejante, el
valor de la energa ser menor, por el contrario si ocurre que en la diagonal principal se dan
mayores picos de intensidad el descriptor se maximizar. Este descriptor da una idea de la
suavidad de la textura, y esto se refleja en la ubicacin de sus probabilidades en la matriz de
co-ocurrencia.
= ( )2 (, )
Ecuacin 9
Como se puede observar en esta expresin, el valor del contraste aumentar si existen ms
elementos de la matriz de co-ocurrencia alejados de la diagonal principal. El efecto de los
componentes de la diagonal es totalmente despreciado. Puesto que este se debe a los puntos
cuyos pixeles son de colores iguales y como se busca una informacin acerca del contraste
de la textura estos elementos no representan relevancia.
= ( ) ( )
Ecuacin 10
Debido al carcter estadstico que posee este descriptor, su valor est ligado al valor de sus
medias estadsticas. El concepto de media y varianza se aplica al histograma de segundo
orden, y la combinacin en la media en i y en j, es referida a la diagonal principal de la
matriz de co-ocurrencia.
El descriptor de correlacin se ver aumentado cuando la distancia de los elementos a la
media sea mayor.
20
Homogeneidad: Este descriptor proporciona informacin sobre la regularidad local
de la textura. La expresin matemtica para calcular este descriptor sobre la matriz
de co-ocurrencia(Ecuacin 11):
1
= (, )
1 + (1 )2
Ecuacin 11
Este descriptor aumentar su valor cuando la distancia i-j sea mnima. Lo que indica que
mientras los elementos de la matriz de co-ocurrencia estn ms prximos a la diagonal
principal mayor ser el valor de la homogeneidad.
= ( )2 (, )
Ecuacin 12
= (, )(, )
=1 =1
Ecuacion 13
Donde P (i,j) es cada elemento de la matriz, e i,j varan desde 0 hasta el nmero de niveles
de gris. A medida que todos los elementos de la matriz son similares, este descriptor
aumenta su valor, siendo mximo en el caso que todos los elementos de la matriz fueran
iguales [7].
= ( )(, )
Ecuacin 14
21
2.4.2 Anlisis de textura mediante el mtodo geomtrico.
Las tcnicas anteriores operan sobre la seal definida en el dominio espacial. Sin embargo,
puede resultar ms conveniente representar la imagen en otro dominio, de forma que en
este nuevo dominio se facilite la extraccin de determinadas caractersticas. Muchas de las
tcnicas de este apartado consisten en calcular ciertas caractersticas de las imgenes tras
22
haber sido filtradas, adems algunas se apoyan en el hecho de que en una primera etapa, el
cerebro humano lleva a cabo un anlisis frecuencia de la imagen [8].
Filtros en el dominio espacial
Dentro de esta categora podemos incluir desde mtodos que miden la densidad de bordes a
travs de la magnitud de las respuestas de mscaras de Robert y laplaciana, hasta mtodos
basados en momentos espaciales y otros obtenidos mediante filtros espaciales y operadores
no lineales [8].
la imagen se trata como si fuera una seal.
Se aplican filtros a la imagen extrayendo caractersticas.
Se suelen trabajar en el dominio de la frecuencia mediante la transformada de
Fourier [2].
Con la suma y diferencia de histogramas se establece una relacin numrica entre dos
puntos distintos en una imagen utilizando sus intensidades de luz, separados por una
distancia d. Esta relacin se describe a continuacin.
La textura de imagen es definida de manera discreta como una malla rectangular de K x L,
donde cada elemento de esta es y (k,l) (k y l definen la posicin del elemento en la malla) con
k = 0,.,K - 1 y l = 0,.,L-1. En una imagen se define el valor de cada pixel como G = 1;
2,,Ng, y el histograma es representado como:
h=h (1), h (2),..., h (Ng).
La suma y diferencia de histogramas(Ecuacin 15) consiste en obtener dos histogramas hs
=hs (i) y hd=hd(j) con i = Sk;l y j = dk;l.
(, ) = (, ) + () + 1 , + 2
(, ) = (, ) () + 1 , + 2
Ecuacion15
23
()
() =
()
() =
Ecuacin 16
Cuando
= () = ()
Ecuacin 17
Ambos tienen la misma cantidad de puntos.
La suma total de puntos (Ecuacin 18) de los histogramas normalizados es igual a 1:
() = () = 1
Ecuacin 18
Con este mtodo los histogramas no solo representan la cantidad de tonos en una imagen en
un dominio con el doble de tamao, sino que tambin establecen una co-ocurrencia, entre
dos puntos de la imagen. Esto proporciona una mayor cantidad de informacin de la
textura.
24
Entropa E (Ecuacin 20) de la suma y diferencia de histogramas.
= () + ()
Ecuacin 20
Ecuacin 21
25
Captulo III. Adquisicin y procesamiento de imgenes en Matlab.
En Matlab una imagen a escala de grises es representada por medio de una matriz
bidimensional de m x n elementos en donde n representa el nmero de pxeles de ancho y
m el nmero de pxeles de largo. Donde cada elemento de la matriz de la imagen tiene un
valor de 0 (negro) a 255 (blanco) como se puede observar en la (Figura 21).
Por otro lado una imagen de color RGB, que se muestra en la (Figura 22) (la ms usada
para la visin computacional, adems de ser para Matlab la opcin default) es representada
por una matriz tridimensional m x n x p, donde m y n tienen la misma significacin que
para el caso de las imgenes de escala de grises mientras p representa el plano, que para
RGB que puede ser 1 para el rojo, 2 para el verde y 3 para el azul [11].
26
Figura 21: Representacin de una imagen a escala de grises.
En primer lugar, limpiaremos el rea de trabajo de Matlab de las variables y cerrar las
ventanas abiertas usando los comandos: close all o claer all.
Para leer una imagen, utilice el comando imread, cuya sintaxis es la siguiente:
Imread (nombre del archivo.ext) [11].
Donde nombre del archivo es una cadena de caracteres conteniendo el nombre completo de
la imagen ext su extensin.
Al ejecutar el comando se irn desplazndose CW el contenido de la imagen. Los formatos
de imgenes que soporta Matlab, dichos formatos se muestran en la (Figura 23).
27
Figura 23: Formatos y extensiones soportadas por Matlab.
Para manipular una imagen solo tiene que usarse la funcin ya antes menciona y asignar su
resultado a una variable que representara a la imagen (de acuerdo a la estructura, para
representar escala de grises y para RGB) [12].
Una vez que la imagen est contenida en una variable de Matlab es posible utilizar las
funciones para procesar la imagen. Por ejemplo, una funcin que permite encontrar el
tamao de la imagen es size (variable):
[m,n]=size (variable)
En donde m y n contendrn los valores de las dimensiones de la imagen [13].
m: nmero de filas, n: nmero de columnas.
Y mediante la funcin whos podemos ver varias de sus caractersticas, como sus
dimensiones, bytes ocupados y clase del archivo:
Whos (variable)
Para tener acceso a todos los campos de informacin de una imagen se debe recoger la
estructura de informacin devuelta por la funcin iminfo de la siguiente manera:
E=iminfo (variable).
Y posteriormente acceder a los diferentes campos de la estructura como sea comentado con
anterioridad [14]:
Tamao=E.Filesize.
28
En la (Figura 24) se muestra un ejemplo de la lectura de una imagen ejecutado en Matlab:
Visualizacin de imgenes
La caja de herramienta incluye la funcin imshow para la visualizacin de la imagen.Al
ejecutar la funcin se abrir la imagen especificada en una nueva ventana, sin producir una
salida de datos en la lnea de comandos. Si se ejecuta de nuevo la funcin sin haber cerrado
la ventana o si especificar una nueva figura utilizando el comando figure antes de llamar a
la funcin (figure,imshow(variable)) la nueva imagen reemplazara la anterior en la ventana
abierta las sintaxis de la funcin son la siguientes:
imshow(variable,G): donde variable es la imagen a mostrar y G es el nmero de niveles
de intensidad utilizados para mostrarla.
figure,imshow(variable): se abrir la imagen en una nueva ventana.
imshow(variable, [low high]):donde se mostraran como negro todos los valores menores
o iguales que el valor low y como blanco todos los valores mayores o iguales que valor
high, con los valores intermedios mostrados por intensidad segn el nmero de niveles
por defecto.
Imshow (variable, [ ]): donde el mnimo valor del array se usara como low y el mximo
high para mostrar el mnimo valor como negro y mximo como blanco [ 14].
Imshow: es la funcin fundamental de la caja de herramienta de visualizacin de imgenes. Este
permite una imagen de tipo unit 8 doubl.
29
Escritura de imgenes.
Para grabar el contenido de una imagen en un archivo se utiliza la funcin imwrite
(variable, nombre del archivo), en donde variable representa la variable que contiene a la
imagen y nombre del archivo el nombre del archivo con su respectiva extensin de acuerdo
a la ya antes mencionada. Suponiendo que la variable (variable) contiene la imagen que nos
interesa grabar en el archivo dato2.ext tendramos que escribir [11]:
Imwrite (variable,data2.ext)
Para determinar los tipos de archivo existen opciones adicionales, como en el caso de los
archivos tipo JPG, donde se pueden especificar la calidad del archivo final mediante la
variable q que debe valer entre 0 y 100 (Figura 25).
Para guardar grficos generados en Matlab debemos hacerlo a travs del men contextual
de la ventana, seleccionando file-save As o bien mediante la funcin print desde la lnea
de comandos con la siguiente sintaxis:
Print-fnumfig-dformato-rresolucion nombre_archivo
Por ejemplo, para guardar la figura nmero 1 en el archivo prueba en formato tiff y con
resolucin de 300 puntos por pulgada deberemos escribir [14]:
Print fl-dtiff r300 prueba
30
En la ( figura 26) se muestra la visualizacin y escritura de imgenes:
Par las conversiones a los diferentes tipos de imgenes, se han utilizado herramientas
pertenecientes al toolbox de procesado de imgenes de Matlab. Los formatos para las
diferentes funciones son las siguientes:
Escala de grises: La funcin rgb2gray convierte imgenes RGB o colormap escala de
grises.
Binaria: Esta funcin im2bw convierte imgenes de tipo RGB, en escala de grises o
indexadas a imgenes binarias tomando un valor de umbral.
Ima=im2bw (variable.LEVEL)
31
En la (Figura 27) se describen los diferentes tipos de datos [14].
Es importante tener en cuenta que si se utiliza la funcin imshow, esta funcin no tiene la
capacidad de poder mostrar imgenes de tipo doubl por lo que una vez realizado las
operaciones de punto flotante, es necesario convertir dichas imgenes a tipo unit8 [13].
32
Para la conversin de datos se utilizan las siguientes funciones que se muestran en la tabla
de la (Figura 28):
Imgenes indexadas.
Una imagen indexada consiste en una matriz de datos, X, y una matriz de mapa de color,
map. La matriz de datos puede ser de clase uint8, uint16 o doubl. La matriz del mapa de
colores es un array de clase doubl de mx3 que contiene valores de punto flotante en el
rango [0,1]. Cada fila del mapa especifica la componente de rojo, verde y azul de un nico
color. l color de cada pxel de la imagen es determinado mediante el uso del
correspondiente valor de X como ndice para el mapa.
Imgenes de intensidad
Una imagen de intensidad es una matriz de datos, cuyos valores representan intensidades
dentro de algn rango. MATLAB guarda la imagen de intensidad como una nica matriz,
cuyos elementos son los pxeles de la imagen. La matriz puede ser de clase doubl, uint8 o
uint16. Los elementos de la matriz de intensidad representan varias intensidades, o niveles
de gris, donde la intensidad 0 usualmente representa negro (ausencia de color) y la
intensidad 1, 255 o 65535 representa intensidad total o blanco.
33
Imgenes binarias
En una imagen binaria, cada pxel asume uno de slo dos valores discretos. Esencialmente,
estos dos valores corresponden a activado o desactivado. Una imagen binaria es guardada
como una matriz bidimensional de 0 (pxeles desactivados) y 1 (pxeles activados).
Una imagen binaria puede ser guardada en un array de clase doubl o uint8.
Imgenes de tipo RGB
Una imagen RGB, es guardada en MATLAB como un array de datos de mxnx3 que define
las componentes rojo, verde y azul de cada pxel individual. Una imagen RGB no necesita
paleta de colores ya que la combinacin de las tres componentes bsicas de color guardadas
en cada plano define el propio color a representar en el pxel correspondiente. Los formatos
de ficheros grficos guardan imgenes RGB de 24 bpp, donde cada componente de color es
de 8 bits. Esto da una gama de hasta 16 millones de colores.
La precisin con la que una imagen de la vida real puede ser replicada ha dado el nombre al
trmino comnmente utilizado como color verdadero.
Una imagen RGB en MATLAB puede ser de clase doubl, uint8 o uint16 [15].
Conversin de imgenes
Para ciertas operaciones es necesario cambiar el formato de la imagen para facilitar su
procesamiento.
Algunas funciones para facilitar la conversin se muestran en la (Figura 29):
34
En la (Figura 30) se muestran algunos comandos para determinar el tipo de imagen en la
que se est trabajando [10]:
Una imagen la denotaremos como f(x; y), donde x e y son las coordenadas espaciales y el
valor de f en cada punto (x; y) es proporcional a la intensidad de nivel de gris de ese punto.
Podemos decir que una imagen f(x; y) est formada por dos componentes: una es la
cantidad de luz incidente en la escena y la otra es la cantidad de luz reflejada por los
objetos.
Una imagen digital es una imagen que ha sido discretizada en el espacio y en los valores de
intensidad que puede tomar. Podemos considerar una imagen digital como una matriz en la
que la fila y la columna representan un punto en la imagen y el valor del elemento de la
matriz corresponde al nivel de gris de ese punto. Los elementos de la matriz se llaman
puntos o pixeles.
A la discretizacion de las coordenadas espaciales le llamaremos muestreo de la imagen, y a
la discretizacion de la amplitud le llamaremos cubanizacin del nivel de gris.
35
Figura 31: Representacin matricial de una imagen.
Una imagen la denotaremos como f(x; y), los puntos los denotaremos por letras minsculas
p o q y denotaremos por S un conjunto de puntos de la imagen f(x; y).
Vecinos de un pixel.
Un punto p de coordenadas (x; y) tiene 4 vecinos verticales y horizontales cuyas
coordenadas (Ecuacin 23):
( + 1, ), ( 1, ), (, + 1), (, 1)
Ecuacin 23.
36
conectividad.
Para establecer si dos puntos estn conectados debemos determinar si son adyacentes en
algn sentido (por ejemplo 4-vecinos) y si su nivel de gris satisface algn criterio de
similitud.
Impixel(f,x,y)
Dnde:
(x,y)=ubicacin de inicio del plano
(Ancho, alto)=tamao del plano.
37
En las (Figuras 33,34,35) se muestra la manipulacin de una matriz y planos de una
imagen:
38
En la( Figura 36 ) se muestra la funcin del Matlab que permite acceder al valor de un
pixel.
39
Histograma normalizado (Figura 39).
Para evitar que los valore de un histograma sean muy dispares, se puede normalizar dicho
histograma.
Dnde:
n=NxM
=histograma normalizado.
Para visualizar el histograma de una imagen, se usa:
Variable=imread(imagen)
[nk,rk]=imhist(variable);
bar(rk,nk,1);
En la (Figura 40) se muestra un ejemplo en Matlab para mostrar el histograma de una
imagen.
40
A continuacin se muestra el algoritmo para visualizacin de un histograma normalizado
[16]:
Variable=imread(imagen)
[nk,rk]=imhist(variable);
Size=sum(nk1(:,1));
nk1=nk/size:
bar(rk,nk1,1);
41
(, ) = 1 (, ) + 2 (, )
(, ) = 1 (, ) 2 (, )
Ecuacin 26.
A continuacin se presenta la frmula (Ecuacin 27) para la suma y resta de una imagen
con una constante:
(, ) = 1 (, ) +
(, ) = 1 (, )
Ecuacin 27.
Si los valores de los pxel en las imgenes de entrada son realmente vectores en lugar de
valores escalares (por ejemplo, imgenes a color) entonces los componentes individuales
(componentes rojo, azul y verde) se adicionan separadamente para producir el valor de
salida.
a=doubl(a);//imagen 1
b=doubl(b);//imagen 2
n = min([size(a,1) size(b,1)]);
m = min([size(a,2) size(b,2)]);
for i=1:n
for j=1:m
c(i,j)=a(i,j)+b(i,j);
c2(i,j)=a(i,j)-b(i,j);
end
end
c=uint8(c);
c2=uint8 (c2);
42
An las (Figuras 42 y 43) se muestra el algoritmo para la suma de 2 imgenes a color:
Multiplicacin y divisin
43
Las siguientes frmulas (Ecuacin 29) pertenecen a la multiplicacin y divisin de una
imagen con una constante [17]:
(, ) = 1 (, )
(, ) = 1 (, )/
(Ecuacin 29)
a=doubl(a);//imagen 1
b=doubl(b);//imagen 2
n = min([size(a,1) size(b,1)]);
m = min([size(a,2) size(b,2)]);
for i=1:n
for j=1:m
c(i,j)=a(i,j)*b(i,j);
c2(i,j)=a(i,j)/b(i,j);
end
end
c=uint8(c);
c2=uint8 (c2);
En la ( Figura 44 Y 45) se puede observar la divisin de dos imgenes:
44
Figura 45: Resultado de la operacin anterior.
45
Captulo IV Implementacin del proyecto
Algoritmo de suma y
diferencia de
histogramas.
47
Existen varios mtodos que nos permiten procesar una imagen y a travs de ellos obtener
informacin de las caractersticas una textura, que nos permitira elaborar un algoritmo
para la clasificacin de dicha textura. En este proyecto se implement el mtodo de suma y
diferencia de histogramas para la clasificacin de texturas ya que es un mtodo que permite
procesar a una textura pixel por pixel para posteriormente obtener caractersticas que nos
ayudaran al reconocimiento de texturas, de igual forma se opt por este mtodo ya que en
la elaboracin del algoritmo ocupa menos memoria a comparacin de otros mtodos, el
resultado sera casi el mismo pero con la diferencia que el procesamiento de la imagen de la
textura sera ms rpida y ms exacto ya que este mtodo hace el procesamiento de la
imagen pixel por pixel.
Este mtodo consiste en establecer una relacin numrica entre dos puntos distintos en una
imagen utilizando sus intensidades de luz, separados por una distancia d, para
posteriormente obtener 2 histogramas hs =hs (i) y hd=hd(j) con i = Sk;l y j = dk;l. con las
siguientes formulas (Ecuacin 30) :
(, ) = (, ) + () + 1 , + 2
(, ) = (, ) () + 1 , + 2
Ecuacin 30.
Donde d1 y d2 son desplazamientos. Los dominios de hs y hd son Gs=2,,2 Ng y Gd=-
Ng+1,., Ng -1 respectivamente [9].
48
4.1 Algoritmo para la suma y diferencia de histogramas.
49
La distancia que se opt para este proceso fue d=2 para ambas frmulas, esto no quiere
decir que esta distancia se la correcta para nuestro algoritmo final ya que posteriormente se
har la etapa de entrenamiento del algoritmo final del proyecto y en esta etapa se
seleccionara la distancia adecuada para llegar al resultado esperado, la distancia aplicada
en esta etapa es solo para hacer pruebas del funcionamiento de las frmulas de suma y
diferencia de histogramas del mtodo utilizado en el proyecto.
50
Figura 49: Imagen de la suma de histograma.
51
Con las propiedades y caractersticas del histograma proporcionan una mayor cantidad de
informacin de la textura, que a su vez facilitara en la clasificacin de dichas texturas, las
propiedades utilizadas en este mtodo se presentan a continuacin:
Media, energa, varianza, correlacin, entropa, contraste, homogeneidad, clster shade y
clster prominence [9].
Media: Representada por la( Ecuacin 30)
1
= ()
2
1
= ()
2
Ecuacin 30.
Es valor medio de los niveles de gris, nos informa sobre el brillo general de la imagen, una
imagen brillante tendr una media alta mientras que, por el contrario una imagen obscura.
En el mtodo de suma y diferencia de histograma se obtuvieron la media de la suma y la
media de la resta del histograma (Figura 49 y 50) esto con el fin obtener mayor
informacin de las texturas que se desean clasificar.
52
Figura 52: Resultado del algoritmo anterior.
53
Varianza: Se muestra la formula para calcular a la propiedad de varianza en una
imagen (Ecuacin 32).
1
2 = [( 2)2 () + 2 ()]
2
Ecuacin 32.
Mide la dispersin de los alrededores de la media, una varianza alta corresponde a una imagen con
contraste alto, y viceversa.
Ecuacin 34.
Indica la dispersin de los niveles de gris en la imagen, una imagen con poco contraste
indica que ay poca variabilidad de los niveles de gris en la imagen.
Ecuacin 35.
54
La correlacin se utiliza para encontrar el parecido entre pixeles de una imagen. Si los
pixeles son iguales o parecidos, se dice que estn altamente correlacionados entre s. La
correlacin se utiliza en el reconocimiento de patrones y en la compresin de imgenes.
()2 ()2
Ecuacin 36.
Esta indica el grado de dispersin de grises en la imagen. Si hubiese un nico nivel de gris
la energa seria mxima y de valor uno. A medida de que aumente el nmero de niveles de
grises existentes en la imagen disminuira la energa.
Ecuacin 37.
Mide el grado en que los pixeles se inclinan a favor de un lado u otro de la media
estadstica.
55
Figura 55: Parte del algoritmo para el clculo de las caractersticas.
56
En la( Figura 57) se muestra algunos ejemplos de la variacin de distancia de la suma y
resta del histograma:
Este proceso se realizado para 5 texturas aleatorias del lbum de brodatz, a cada una de las
texturas se vari la distancia en el rango que ya sea mencionado, para posteriormente
almacenar y guardar en un archivo de Excel 20 pixeles aleatorios con los valores de cada
una de las caractersticas de las 5 texturas, esto con el fin de analizar el comportamiento de
las caractersticas y propiedades del histograma en el rango de distancia de 1-5.
Para guardar las variables en Excel se hace mediante el comando Xlswrite, cuya sintaxis es
la siguiente:
57
A continuacin se muestran en las (Figuras 58,59 y 60) las variables almacenadas en Excel:
58
Nota: las 2 ltimas caractersticas (clust y clust_prom) no fueron almacenadas ya
que los valores son muy inexactos.
Una vez almacenadas las variables en Excel se prosigue con el proceso ms importante de
la etapa de entrenamiento de algoritmo, que consiste en identificar 3 caractersticas que
sean capaces de separar los 20 pixeles de 2 texturas (csped y rafia), estas 3 caractersticas
pueden ser de las 6 distancias. Esto se hace graficando en Matlab las caractersticas en una
grfica en 3D, pero recordando que las 2 texturas deben estar en una sola grafica para poder
verificar que efectivamente las caractersticas seleccionadas son capaces de separar los
pixeles de las 2 texturas.
Nota: las 3 caractersticas deben ser de la misma distancia y de ambas texturas. Pero
se puede jugar con la posicin de las caractersticas en los 3 ejes de la grfica la
finalidad es separar los pixeles de las 2 texturas.
El comando que nos permite extraer las variables de Excel hacia Matlab, para poder
graficar es xlsread, este comando importa los datos de una hoja de clculo Excel a una
variable de tipo array. La forma ms simple de utilizar este comando es:
Nombre_variable= xlsread(nombre_fichero)
Si un fichero Excel contiene ms de una hoja, se puede utilizar otra versin del comando
xlsread para decidir cul de ellas importar:
Nombre_variable= xlsread(nombre_fichero,nombre_hoja)
59
Otra opcin del mismo comando que permite importar solo una regin (grupo de filas y
columnas) de una hoja de clculo determinada a partir de un fichero Excel:
Nombre_variable= xlsread(nombre_fichero,nombre_hoja,rango)
En esta etapa se hicieron varias pruebas para poder encontrar las 3 variables que permiten
se parar los pixeles de las 2 texturas, la separacin de los pixeles debe ser lo ms posible ya
que entre mayor sea la separacin entre los pixeles mayor ser la eficacia de nuestro
algoritmo para la clasificacin de materiales.
60
En la (Figura 62) se presenta algunas de las grficas de prueba de nuestro algoritmo:
Como se puede observar en la graficas anteriores, las combinaciones de las variables no son
tiles para nuestro objetivo final, ya que como se observa los pixeles de ambas texturas a
un estn combinados entre ellos, es decir que las texturas a un no estn clasificadas
adecuadamente, por otra parte aun si cambiramos de posicin las variables el resultado no
cambiara en mucho, ya que se observa que los pixeles estn estrechamente unidos entre s,
es decir que las 2 texturas coinciden en la mayora de sus pixeles.
Considerando que las pruebas que se hicieron anteriormente no son aptas para la
clasificacin de texturas, se prosigue con la bsqueda de las 3 variables que nos permitan
separar ambas texturas y que el margen de error de nuestro algoritmo sea menor.
61
caractersticas seran las adecuadas para el buen funcionamiento de nuestro algoritmo final
y tener un margen de error mnimo.
Las variables que permiten se parar adecuadamente a las 2 texturas de prueba son:
Eje x: varianza.
Eje y: correlacin.
Eje z: entropa.
Las variables que fueron identificadas anteriormente sern procesadas a travs de un rbol
de decisin que este a su vez nos formulara las condiciones que permitirn clasificar a las 2
texturas de prueba, esto nos dar un algoritmo ms eficaz.
El rbol decisin es una tcnica que permite analizar decisiones secuenciales basada en el
uso de resultados y probabilidades asociadas. Es una forma grfica y analtica de
62
representar todos los eventos (sucesos) que puedan surgir a partir de una decisin asumida
en cierto momento, nos ayuda a tomar la decisin ms acertada, desde un punto de vista
probabilstico, ante un abanico de posibles decisiones, este mtodo permite desplegar
visualmente un problema y organizar el trabajo de clculos que deben realizarse.
Los arboles decisin generalmente son binarios, es decir que cuenta con 2 opciones, aunque
esto no significa que no pueda existir arboles de tres o ms opciones.
Se genera el rbol de acuerdo al nivel de previsin y cada jugador va decidiendo que jugada
le conviene ms de acuerdo a la evaluacin de una determinada posicin. [19]
63
Terminologa de un rbol de decisin
Nodo de decisin: indica que una decisin necesita tomarse en ese punto de
proceso. Est representado por un cuadrado.
Rama: nos muestra los distintos caminos que se puede emprender cuando
tomamos una decisin o bien ocurre algn evento aleatorio.
64
A continuacinen la (Figura 66) se presenta un rbol de decisin de tipo binario en Matlab,
el ejemplo presentado es de la medicin de los ptalos de la flor iris para una muestra de
150 iris donde PW (ancho de ptalo), PL (longitud de ptalo), SW (ancho spalo) y SL
(longitud spalo).Donde los resultados pueden ser: iris tipo setosa, tipo verginica y tipo
versicolor.
El comando de Matlab que permite generar el rbol de decisin de tipo binario es:
Classregtree: crea un rbol de decisin de tipo binario para predecir las probables
respuestas en base a las muestras adquiridas.
Su sintaxis es:
Dnde:
65
Para generar el rbol de decisin es recomendable guardar el vector de los valores de
prediccin y el vector de los valores de respuesta en un archivo de tipo .mat, que son
archivos de formato binario de Matlab, que almacenan las variables en el rea de trabajo de
Matlab. Para importar y guardar todas las variables desde un archivo .mat se usan los
siguientes comandos:
Las variables de ambas texturas se guardan por separado generando una matriz de 3 x 20 y
un vector como a continuacin se muestra en la (Figura 67, 68 Y 69):
66
Figura 68: Variables de la textura D9.
67
Figura 70: Algoritmo.
El resultado que muestra el rbol de decisin de la (Figura 72) para la clasificacin de las
texturas de prueba plantea las siguientes predicciones:
68
si los valores de los pixeles de la varianza son menores que .242308 la textura a
reconocer es D84 (RAFFIA).
Si los valores de los pixeles de la varianza son mayores o igual .242308 la textura a
reconocer es D9 (Csped).
Para confirmar si las 2 condiciones anteriores son las adecuadas para el algoritmo que
permitir procesar y clasificar a las texturas de prueba y obtener un resultado favorable, es
necesario calcular el margen de error que podra presentar las predicciones del rbol de
decisin, esto con el fin de visualizar el porcentaje de reconocimiento del algoritmo a cada
textura.
Textura D9 (csped)
Cuando la varianza es mayor o igual .242308
69
El porcentaje de reconocimiento del algoritmo es de 97.59% esto quiere decir que:
Con estos clculos realizados podemos concluir que el margen de error de las predicciones
del rbol de decisin es de 1.744375%, esto indica que el algoritmo de Matlab para la
clasificacin de texturas tiene muy buena eficiencia.
70
Captulo V Implementacin del algoritmo final.
Consiste en procesar a una imagen en la cual contiene ambas texturas de prueba , esto con
el fin de comprobar que el algoritmo final es capaz de clasificar y separar ambas texturas,
para posteriormente calcular el grado de error de la clasificacin.
De acuerdo a alas a las condiciones establecidas para extraer a la textura D84 (rafia)
tendremos que indicarle a Matlab la siguiente instruccin:
71
La mayor parte de lo extrado pertenece a la textura D84, de igual forma se visualiza que
una de la parte extrada no pertenece a esta textura, lo cual indica que el algoritmo tiene un
margen de error.
Con esta condicin extrae a la textura D9 (csped), pero de igual manera se obtiene un
margen de error ya que no se extrajo el 100% de la textura y una parte de lo extrado no
pertenece a esta textura.
Lo cual indica que el margen de error de la clasificacin del algoritmo es de: 10.8% lo cual
se puede decir que el algoritmo es eficiente para la clasificacin de texturas.
72
5.1 Aplicaciones del algoritmo en la industria.
73
La aplicacin del algoritmo desarrollado en este trabajo en este ejemplo consiste en extraer
algunas de las caractersticas de la textura de la piel como son: la media, la correlacin, la
entropa, el contraste y la varianza, adems de los bordes que presentan las imgenes de la
textura, para posteriormente hacer el anlisis de estas caractersticas obtenidas de la
muestra de la textura de la piel, para poder establecer un estndar de calidad a travs de
esta informacin y posteriormente realizar nuestro rbol de decisin que ayudara para
establecer las condiciones de calidad de la piel de bovino.
74
Conclusiones
Las caractersticas que no son tiles dentro de la clasificacin de texturas son: clster shade
y clster prominence ya que el intervalo de los valores entre estas es difcil de definir ya
que los valores son grandes y a veces muy pequeos y con mucha variacin entre ellos, es
decir, que los valores pueden ser de un valor demasiado grande y a veces demasiado
pequeo, informacin que no se puede predecir. Este par de caractersticas comnmente se
utilizan para eliminar el ruido de alguna imagen, un ejemplo de ello es cuando la imagen a
procesar es demasiado borrosa.
La varianza, la correlacin y la entropa son las tres caractersticas de cada uno de los
pixeles, estas forman parte del rbol de decisiones y la eficiencia de este depende del
tamao de la muestra a procesar, es decir entre mayor sea el nmero de pixeles a procesar
menor ser el margen de error de las predicciones a travs del rbol de decisiones,
describiendo esto de una manera ms entendible, podramos decir que al tomar solo una
parte del total de nuestros pixeles y procesarlos, los valores obtenidos despus del proceso
pueden ser igual a los de alguna otra textura, por eso que la muestra a implementar dentro
del rbol debe ser con el mayor nmero de pixeles posible ya que podemos encontrar
valores de cada una de las caractersticas muy propias de la textura con la que se est
trabajando y que no coincidan con los valores de las caractersticas de alguna otra textura.
75
Recomendaciones
Eliminar el ruido de las imgenes con las ecuaciones de clster shade y clster prominence
este proceso se realiza para obtener una imagen ms clara y precisa al momento de ser
procesada por el algoritmo que con lleva al a clasificacin de materiales.
76
Experiencia personal en la residencia
Realizar este proyecto de residencia ha sido un gran reto profesional y acadmico ya que
era un tema desconocido para m donde no contaba con las herramientas y conocimientos
suficientes en el rea de la visin artificial, pero en el trayecto del proyecto fui adquiriendo
los conocimientos necesarios sobre el tema y a la vez aplique lo adquirido al proyecto. Pero
gracias al apoyo y a las clases de mi asesor pude comprender algunos temas de la visin
artificial.
Al final del proyecto de residencia tuve un gran cambio profesional, acadmico y sobre
todo me abri un mayor panorama en el rea de la visin artificial, inteligencia artificial y
en el procesamiento de imgenes en tiempo real.
77
Bibliografas
[1] IV anlisis textural 4.1.pdf, recuperado el 17 de septiembre de 2015, de:
https://www.google.com.mx/?gfe_rd=cr&ei=gq8EVrX4KJHygASh-
7bgDA#q=Textura+es+un+t%C3%A9rmino+usado+para+caracterizar+la+rugosidad+de+l
a+superficie
[11] Erik Valdemar cuevas Jimnez, Daniel Zaldvar navarro, visin por computador
utilizando Matlab y el toolbox de procesamiento digital de imgenes, recuperado el 25 de
78
octubre de 2015, de: http:// http://es.slideshare.net/lisbethanaly/140j9t1zwvw7elgr8qo1-
090527055423phpapp01
[14] Eduardo la orden fiter, escuela universidad politcnica de Madrid, septiembre 2012,
descripcin, comparacin y ejemplos de uso de las funciones de la volvox de procesado
digital de imgenes de Matlab, consultado el 30 de septiembre de 2015, de:
https://www.google.com.mx/#q=descripci%C3%B3n%2C+comparaci%C3%B3n+y+ejemp
los+de+uso+de+las+funciones+de+la+toolbox+de+procesado+digital+de+im%C3%A1gen
es+de+Matlab
[18] Matlab, una introduccin con ejemplos prcticos, segunda edicin. De Amos Gilat,
importacin y exportacin de Excel, pgina 92-94.
[19]Yanet Liz, Febrero 20 del 2012, rbol de decisiones, consultado 20 de noviembre 2015
de: http://www.pucmmsti.edu.do/websise/estudiante/materias/201120122/ST-ADM-445-T-
001/ARBOL%20DE%20DECISIONES%202-29-2012.pdf
79
Anexos
figure,imhist(b)
whos b
%figure,imshow(b)
[M,N]=size(b)
ps=zeros(N,M);
for x=1:M-1
for y=1:N-1
ps(x,y)=b(x,y)+b(x+1,y+1);
end
end
figure,imshow(single(ps),[0,510])
ms=zeros(N,M);
for x=1:M-1
for y=1:N-1
b1=ps(1:1+x,1:1+y);
%imshow(b1);
[k,l]=size(b1);
[nk, rk] = imhist(b1);
tam= k*l;
nk1 = nk / tam;
ms(x,y)=(sum(rk.*nk1))*.5;
end
end
pd=zeros(N,M);
for x=1:M-1
for y=1:N-1
pd(x,y)=b(x,y)-b(x+1,y+1);
end
end
figure,imshow(single(pd),[-255,255])
%figure, bar(rk3, nk2, 1);
md=zeros(N,M);
for x=1:M-1
for y=1:N-1
b2=pd(1:1+x,1:1+y);
%imshow(b2);
[k,l]=size(b2);
[nk3, rk3] = imhist(b2);
nk2 = nk3 /tam;
md(x,y)=(sum(rk3.*nk2))*.5;
80
end
end
energ=zeros(N,M);
var=zeros(N,M);
entro=zeros(N,M);
corre=zeros(N,M);
contra=zeros(N,M);
homog=zeros(N,M);
clust=zeros(N,M);
clust_prom=zeros(N,M);
for x=1:M-1
for y=1:N-1
b11=ps(1:1+x,1:1+y);
[k1,l1]=size(b11);
[nk0, rk0] = imhist(b11);
tam= k1*l1;
nk11 = nk0 / tam;
b22=pd(1:1+x,1:1+y);
[k11,l11]=size(b22);
[nk31, rk31] = imhist(b22);
nk21 = nk31 /tam;
%energia
energ(x,y)=(sum(nk11.^2))*(sum(nk21.^2));
%varianza
u3=sum((rk31.^2).*nk21);
u6=sum(((rk0-2*ms(x,y)).^2).*nk11);
var(x,y)=(u6+u3)*.5;
%correlacin
corre(x,y)=(u6-u3)*.5;
%entropa
e1=sum((nk21).*(log(nk21+eps)));
e2=sum((nk11).*(log(nk11+eps)));
entro(x,y)=-e1-e2;
%contraste
contra(x,y)=sum((rk31.^2).*nk21);
%homogeneidad
homog(x,y)=sum((1/(1+(rk31.^2)))*nk21);
%clster shade
c=(rk0-2*ms(x,y)).^3;
clusa(x,y)=sum(c.*nk11);
%cluster prominence
c1=(rk0-2*ms(x,y)).^4;
clust_prom(x,y)=sum(c1.*nk11);
end
end
Anexo B: Algoritmo a utilizar en la etapa de entrenamiento.
clear all;
clc;
%hold on
D84= xlsread('C:\Users\horlando\Documents\residencia\D084.xlsx');
D9= xlsread('C:\Users\horlando\Documents\residencia\D09.xlsx');
%grafica para el entrenamiento del algoritmo,utlizando como prueva las
%texturas D9 Y D84
%ms=1 md=2 energ=3 var=4 corre=5 entro=6 contra=7 homog=8
81
x=D9(:, 4);%variable que se desea extraer de Excel que estar ubicada en
el eje de las x
y=D9(:, 5);
z=D9(:, 6);
x1=D84(:, 4);
y1=D84(:, 5);
z1=D84(:, 6);
figure (1)
plot3(x, y, z,'xr',x1, y1, z1,'ob')%comando que permite graficar en 3D
title('cuando l=1 de la texturas D9 Y D84 (azul=D84,rojo=D9)')
xlabel('var')
ylabel('corre')
zlabel('entro')
grid on
figure,imhist(b)
whos b
%figure,imshow(b)
[M,N]=size(b)
ps=zeros(N,M);
for x=1:M-1
for y=1:N-1
ps(x,y)=b(x,y)+b(x+1,y+1);
end
end
figure,imshow(single(ps),[0,510])
ms=zeros(N,M);
for x=1:M-1
for y=1:N-1
b1=ps(1:1+x,1:1+y);
%imshow(b1);
82
[k,l]=size(b1);
[nk, rk] = imhist(b1);
tam= k*l;
nk1 = nk / tam;
ms(x,y)=(sum(rk.*nk1))*.5;
end
end
pd=zeros(N,M);
for x=1:M-1
for y=1:N-1
pd(x,y)=b(x,y)-b(x+1,y+1);
end
end
figure,imshow(single(pd),[-255,255])
%figure,bar(rk3, nk2, 1);
md=zeros(N,M);
for x=1:M-1
for y=1:N-1
b2=pd(1:1+x,1:1+y);
%imshow(b2);
[k,l]=size(b2);
[nk3, rk3] = imhist(b2);
nk2 = nk3 /tam;
md(x,y)=(sum(rk3.*nk2))*.5;
end
end
energ=zeros(N,M);
var=zeros(N,M);
entro=zeros(N,M);
corre=zeros(N,M);
contra=zeros(N,M);
homog=zeros(N,M);
clust=zeros(N,M);
clust_prom=zeros(N,M);
for x=1:M-1
for y=1:N-1
b11=ps(1:1+x,1:1+y);
[k1,l1]=size(b11);
[nk0, rk0] = imhist(b11);
tam= k1*l1;
nk11 = nk0 / tam;
b22=pd(1:1+x,1:1+y);
[k11,l11]=size(b22);
[nk31, rk31] = imhist(b22);
nk21 = nk31 /tam;
%energia
%d=sum(nk1.^2);
%d2=sum(nk2.^2);
energ(x,y)=(sum(nk11.^2))*(sum(nk21.^2));
%varianza
%u2=(rk3.^2).*nk2;
u3=sum((rk31.^2).*nk21);
%u4=(rk-2*ms).^2;
%u5=((rk-2*ms).^2).*nk1;
83
u6=sum(((rk0-2*ms(x,y)).^2).*nk11);
var(x,y)=(u6+u3)*.5;
%correlacin
corre(x,y)=(u6-u3)*.5;
%entropa
e1=sum((nk21).*(log(nk21+eps)));
e2=sum((nk11).*(log(nk11+eps)));
entro(x,y)=-e1-e2;
%contraste
contra(x,y)=sum((rk31.^2).*nk21);
%homogeneidad
%h=1/(1+(rk3.^2));
homog(x,y)=sum((1/(1+(rk31.^2)))*nk21);
%clster shade
c=(rk0-2*ms(x,y)).^3;
clust(x,y)=sum(c.*nk11);
%clster prominence
c1=(rk0-2*ms(x,y)).^4;
clust_prom(x,y)=sum(c1.*nk11);
end
end
s=var>=.242308;%condicin para la textura D9
figure,imshow(s)
f=var<.242308;%condicin para extraer ala la textura D84
figure,imshow(f)
84
Anexo F : Separacin de la textura D9 (csped).
85