miércoles, 29 de mayo de 2013


Bioinformatics-Extra Points




Species-Specific Bacteria Identification Using Differential Mobility Spectrometry and Bioinformatics Pattern Recognition



As bacteria grow and proliferate, they release a variety of volatile compounds that can be profiled and used for speciation, providing an approach amenable to disease diagnosis through quick analysis of clinical cultures as well as patient breath analysis. As a practical alternative to mass spectrometry detection and whole cell pyrolysis approaches, we have developed methodology that involves detection via a sensitive, micromachined differential mobility spectrometer (microDMx), for sampling head- space gases produced by bacteria growing in liquid culture. We have applied pattern discovery/recognition algorithms (ProteomeQuest) to analyze headspace gas spectra generated by microDMx to reliably discern mul- tiple species of bacteria in vitro: Escherichia coli, Bacillus subtilis, Bacillus thuringiensis, and Mycobacterium smegmatis.  These encouraging in vitro results suggest that the microDMx technol- ogy, coupled with bioinformatics data analysis, has po- tential for diagnosis of bacterial infections.

Several chemical detectors and assays are presently being refined for use in the identification of volatile byproducts of bacterial metabolism which are sufficiently sensitive for analysis of volatile constituents in human breath as well as analysis of headspace above clinical cultures. Studies over the past 25 years provide consistent evidence that various microbes release different quantities and types of volatile organic compounds: automated headspace concentration gas chromatography-flame ionization detection (GC/FID) analysis of several common lung pathogens reveals a number of characteristic and highly conserved dominant components.


Previous work using microfabricated differential mobility spectrometry for bacteria classification has been coupled with pyrolysis, in which entire microorganisms are thermally degraded in search for unique cell chemistries. These techniques allow identification of organisms based on their cell components.

Another approach to studying bacteria for classification is to focus on compounds that viable bacteria naturally release. This approach requires fewer sample preparation steps as compared to pyrolysis
work and may be amenable to in vivo breath analysis applications as the process of volatile release by bacteria into vial headspace may be similar for bacteria in alveolar space.


One challenge in identification of organisms based on a set of consistent peaks in DMS profiles, as well as in MS, FID, and other detectors, is that production of volatile compounds is dependent on the dynamics of the whole ecosystem.  Changes in growth conditions can produce subtle changes in the volatile profile for a given species. Moreover, the addition of other organisms can complicate the profile as volatiles released by these “contaminants” can act as a mode of communication, inducing changes in the target organism’s volatile compound production, altering the expected volatile profile.


In this work, we develop a methodology to analyze bacteria headspace based on  a small, sensitive, and inexpensive detector and  sophisticated data analysis that will allow classification of bacterial species despite sample-to-sample vari- ability within a species set. Bacteria selected for these experiments included Escherichia coli, Bacillus subtilis, Bacillus thuringiensis, an agent in opportunistic respiratory infections, and Mycobacterium smegmatis, a surrogate for Mycobacterium tuberculosis.



EXPERIMENTAL SECTION

Reagents.

2-Butanone, 2-pentanone, 2-heptanone, 3-octanone, 3-nonanone, and 2-decanone were purchased from Sigma Aldrich and used as received. Bacterial strains were obtained from American Type Culture Collection. Lowenstein-Jensen medium slants were purchased from Becton, Dickinson and Co. Luria-Bretani was obtained from Difco Laboratories. Agar was obtained from EM Science.



GC-microDMx Instrumentation. 
The experimental setup consisted of an Agilent 7694 headspace sampler connected to the inlet of an HP 5890 IIGC.


Standards. 
The detector sensitivity within this setup was tested using ketone standards (n ) 5 each).


Bacteria Culture Characterization.
The optical densities of the cultures were measured in a Cary 300 Bio UV-visible spectrophotometer (Varian, Palo Alto, CA) at 600 nm at 40-min intervals in 1-mL disposable optical polystyrene cuvettes. Duplicate samples were tested for each species. Duplicate samples were tested for each species. E. coli cell densities were approximated by plating dilutions of a culture grown for 5 h in a headspace vial.


Data Analysis.
The three-dimensional data sets that include compensation voltage (Vc), GC retention time, and signal intensity were plotted and processed using MATLAB 6.5.1 release 13. Spectra were aligned in the compensa- tion voltage dimension because Vc can be affected by moisture content and slight gas flow rate fluctuations.17,29 From each run, positive and negative spectra were concatenated. They were then aligned in the Vc dimension by a rigid shift of a few pixels or less as necessary, as determined by a maximum cross-correlation value. 


RESULTS AND DISCUSSION

GC-MicroDMx Sensitivity. The sensitivity of our experimen- tal setup was determined by analyzing spectra for ketone standards at 1 ppm-1 ppb concentrations in liquid. Maximum peak intensities for each ketone at each concentration were found, and a value for estimated file background was subtracted. All positive ion spectra contain two reactive ion peak lines around -16 and -22 V. The response curves of the positive ion channel of the microDMx detector are shown in Figure 1.


Figure 1:



Response of the positive ion channel of the detector in GC-microDMx set up for bacteria headspace analysis using ketone test standards. The curves for each compound are linear fits with error as weight.



Bacteria Characterization. 

We used an experimental method that created variability in volatile profiles within each species set to ensure that our bioinformatics approach is capable of finding biomarkers that were consistent in every file despite this variability. Growth curves for the organisms, shown in Figure 2, indicate that, under these culture conditions, B. thuringiensis was in lag phase for ∼1 h and in exponential growth for 5.2 h before entering stationary phase.

Figure 2



Growth curves for species studied.

Figure 3 contains representative microDMx spectra for M. smegmatis during the various phases of the growth curves. The signal intensity is in volts, and the scale is uniform for the three spectra.




Representative spectra for M. smegmatis at various stages of its growth cycle. A peak found in the lag phase, but that disappears in exponential and stationary phases, is circled. A peak that increases in intensity from exponential to stationary stage, but is not present in lag stage, is boxed.


CONCLUSIONS
It was shown that high sensitivity, potentially portable microDMx detection must be accompanied by sophisticated data analysis. The bioinformatics pattern recognition process has been successfully applied to find markers that identify bacterial species based on their volatile signatures from different phases of their growth curves.


Bibliografia:

Pubs.acs.org (n.d.) Species-Specific Bacteria Identification Using Differential Mobility Spectrometry and Bioinformatics Pattern Recognition - Analytical Chemistry (ACS Publications). [online] Available at: http://pubs.acs.org/doi/abs/10.1021/ac050348i [Accessed: 29 May 2013].


martes, 28 de mayo de 2013

Compresión de Imagenes

En esta entrada aplicaremos Wavelets para la compresión de imágenes.

Primero que nada debemos de tener en cuenta del porque debemos comprimir imagenes ya que al hacer esto reducimos la redundancia de los datos de imagen con el fin de poder almacenar o transmitir datos en una forma eficiente.


Los métodos de compresión de datos se clasifican en:

  • Lossless: que es la compresión sin pérdida de información
  • Lossy: que es la compresión con pérdida de información.


Lossless


Los métodos sin compresión sin pérdida de información se caracterizan porque la tasa de compresión que proporciona está limitada por la magnitud de información de la señal original.


Lossy

Los métodos de compresión con pérdida de información logran alcanzar unas tasas de compresión más elevadas a cambio de sufrir una pérdida de información sobre la imagen original.

Transformada de Wavelets

La transformada wavelet consiste en comparar la señal con ciertas funciones wavelet, las cuales se obtienen a partir de las wavelet madre. La comparación permite obtener unos coeficientes que son susceptibles de interpretación y posterior manipulación. En cualquier caso, un requisito básico es la posibilidad de invertir la transformada, recuperando la señal a partir de esos coeficientes wavelet calculados.



En este caso trabajaremos con la Transformada de Wavelets Discreta  (DWT). Se utilizará esta transformada para obtener una nueva representación de la imagen, más apropiada para el proceso de compresión.


El análisis wavelet permite descomponer la señal en aproximaciones y detalles. La DWT aplicada a imágenes proporciona una matriz de coeficientes, conocidos como coeficientes wavelet que son cuatro:
  • aproximaciones
  • detalles horizontales
  • detalles verticales
  • detalles diagonales
El coeficiente de aproximación contiene la mayor parte de energía de la imagen, se refiere a que tiene la información más importante, mientras que los detalles tienen valores próximos a cero.





Utilizaremos la transformada Haar en un análisis de 2 dimensiones, el diagrama siguiente son los pasos para obtener los 4 coeficientes.




Los pasos para la compresión de imagenes son los siguientes:

Imagen de entrada:





1.- Convertir la imagen de entrada en escala de grises (es un método ya utilizado anteriormente donde se suma el valor del r,g y b de cada pixel y se saca su promedio y se asigna el mismo valor a cada r,g,b):










2.- El tercer paso es generar un array de la imagen a escala de grises (la nueva imagen la que se hizo más pequeña, el array es creado del mismo tamaño de la imagen ancho por alto):


3.- Después llamamos a la función coeficientes, que es la función que aplica la DWT (Transformada Discreta de Wavelet) .


4.- Ahora lo que haremos es de cada coeficiente crear su imagen para ver los resultados:
La función set_pixel lo que hace es crear la imagen, pero como cuando se hizo la prueba de imprimir los array que devolvieron los coeficientes se vio que regresaban números negativos y mayores a 255:



Lo que se optó fue que los valores menores a 0 darles un valor de 0 y mayor a 255 dejarles el valor de 255:

5.- Las imagenes se crean:

Coeficiente de aproximación:







Coeficiente detalles horizontales:



Coeficiente detalles verticales:


Coeficiente detalles diagonales:




6.- Después para obtener la imagen comprimir la imagen, solo utilizamos la Transformada Inversa Discreta de Wavelet, pasandole los coeficientes tal cual se obtuvieron y obtenemos la imagen antes de comprimir:






Recuerden que esto solo es la primera compresión pero se pueden realizar mas basandose en el coeficiente de aproximación.



Pruebas:

Aplicando Nivel de Compresión 1:

Imagen de entrada:





Imagen a escala de grises:




 Coeficiente de aproximación:





Coeficiente detalles horizontal:




Coeficiente detalles verticales:



Coeficiente detalles diagonales:




Imagen comprimida:



Diferencias entre la imagen comprimida y la original(imagen en escala de grises):





También vemos los tiempos que se tardó en realizar el primer nivel de la compresión:  




Otra prueba:


Aplicando Nivel de Compresión 1:

Imagen de entrada:





Imagen a escala de grises:




 Coeficiente de aproximación:





Coeficiente detalles horizontal:




Coeficiente detalles verticales:



Coeficiente detalles diagonales:




Imagen comprimida:




Diferencias entre la imagen comprimida y la original(imagen en escala de grises):





También vemos los tiempos que se tardó en realizar el primer nivel de la compresión:  






Referencias:

nigma (2012) pywt. [online] Available at: https://github.com/nigma/pywt/tree/master/demo [Accessed: 24 May 2013].
Wasilewski, F. (2006) DWT and IDWT — PyWavelets Documentation. [online] Available at: http://www.pybytes.com/pywavelets/regression/dwt-idwt.html [Accessed: 24 May 2013].

martes, 21 de mayo de 2013


Lab  13 Cómputo Ubicuo

Retroalimentación de nuestro Propio Proyecto

¿Qué se hizo?

Lo que se realizo fue una vitrina inteligente, la cual trata de proteger a las obras de arte poniéndolas dentro de una vitrina inteligente, la vitrina tendrá los objetivos, de proteger las obras y de brindarles seguridad a estas mismas, además de brindarle al usuario una nueva forma de aprender y de combinar el arte con la tecnología.

Los avances que se lograron fueron:

  • El prototipo de la vitrina
  • El encendido de la vitrina
  • La detección de la persona
  • La reproducción de voz


¿Qué hice yo?

Primero que nada fui la persona que aporto la idea sobre el proyecto. Después de eso fui aportando ideas acerca de cómo realizarlo y por cada entrega que teníamos aporte a realizar las presentaciones de los avances. Al finalizar todo el equipo trabajamos juntos en la creación de la vitrina.

Mi participación en las presentaciones fue en cada una de ellas, aunque fueran cosas pequeñas en algunas de ellas, además 

¿Falto hacer algo?

En lo que nos faltó realizar se encuentra lo siguiente:


  • La realización de las gráficas (No sobro tiempo por no respetar la planeación)
  • El login del usuario encargado de revisar las visitas (Por lo mismo de no respetar la planeación no se pudo realizar esto)
  • Darle más iluminación a la vitrina
  • Pegarla completamente
  • Poner  un reproductor de sonido dentro de la vitrina en la parte baja



¿Adelantamos algo que hubiese sido mejor esperar?

En este caso no adelantamos nada si no que casi todo el proyecto lo dejamos hasta el final, el problema fue que no se respetó la planeación y no había una muy estrecha comunicación entre el equipo.

Coordinación

Si existió coordinación a la hora de realizar las presentaciones, ya que como cada uno tiene horarios diferentes poníamos la presentación en línea para que cada uno por su cuenta pudiera avanzarle  y así poder ver los cambios que cada persona del equipo realizo.

Problemas que se presentaron:

Primero que nada se presentó que cada uno de los integrantes tenía una idea diferente de cómo realizar el proyecto, de cuáles eran los materiales que utilizaríamos y como se utilizarían pero todo eso fue arreglado teniendo una pequeña junta para aclarar nuestras diferencias.

Después paso que nos queríamos juntar pero que cada uno de nosotros tenía un horario diferente y juntarse era muy difícil, no solo por el horario sino también por los otros proyectos con los que contábamos.

Otro de los problemas fue que los materiales también los tuvimos que conseguir a última hora, lo del acrílico y eso no eso ya se tenía como a las 3 semanas del segundo avance, hablo del sensor y los leds y las otras cosas.

También nos topamos con otro problema que fue el que la vitrina al momento de querer pegar las partes   unas venían más grandes que otras y tuvimos que mandar a cortarlas de nuevo y eso atraso un poco más la realización del proyecto.




Intente trabajar con la librería de arduino TMRpcm para la reproducción del sonido  y se presentó un problema, arduino no dispone de la suficiente memoria para retener un sonido como el que se quería usar por lo que se tuvo que realizar la comunicación con la computadora para poder hacer la reproducción desde la misma. Esto se podría resolver comprando un shield especial para esto. Otro problema fue que los leds mega consumían toda la energía del arduino por lo cual no brillaban como era necesario, esto se pudo resolver utilizando transistores


Mejoras a futuro:
  • Primero que nada me gustaría aplicar el no dejar todo lo relacionado al prototipo del producto. 
  • Tener una mayor comunicación.
  • Asignar a alguien como líder.
  • Respetar la calendarización acordada


Conclusión:

Me gustaría seguir con el proyecto ya que se me hizo interesante, además como vimos llamo la atención de los del salón y logramos el objetivo de atraer a gente joven y despertar su interés
Laboratorio

Retroalimentaciones del Proyecto Final




En el avance logrado hasta el momento esta bien, pero falta integrar mucho más cosas.
Algo para tomar en cuenta es que se basaran a lo que son los calendarios que se realizan para realizar los proyectos.
El demo que realizaron no fue muy conciso ya que no se alcanzo a distinguir muy bien que es lo que hacía el proyecto con lo obtenido.
En la segunda demostración me gusto y si fue entendible, pero imaginense que solo me volteara sería una pérdida de tiempo si
tuviera que estar poniendo mi contraseña a cada rato. Deberian ponerle un cierto tiempo para el bloqueo.


Equipo 2: CarNXP


En mi opinión quisieron abarcar muchas áreas en su proyecto y sería mejor solo haberse enfocado en unas ciertas áreas no en tantas.
Lo logrado esta perfectamente bien hablando de tiempo y de otro tipo de proyectos realizados ya que se tuvo un gran avance.
Les recomendaria seguir con el proyecto a futuro ya que es una muy buena idea.
Me gusto mucho las cosas que dijeron acerca de lo que harían acerca de realizar un proyecto del tipo del cual están realizando.
Los colores que se utilizaron en la interfaz me parecen muy fuertes y pueden dañar a lo que es el usuario.
Acerca de la grafica me gusto la comparación y darle al usuario la oportunidad de ver realmente la gasolina que consume además de compararlo con
lo que realmente seria.
Me hubiese gustado que hubieran implementado un demo en vivo, para poder demostrar el alcance que se obtuvo.




En lo respecto a la motivación tienen mucha razón porque por ejemplo yo tengo muchos problemas a la hora de levantarme y muchas veces se me
hace tarde. El hablar de la prueba conceptual no lo veo muy significativo en la entrega final.


En el sonido me gustaria algo fuerte o que el usuario pueda seleccionar que tipo de alarma y que dependiendo de cuánto tiempo se tarda en levantarse podrían poner que el sonido aumentará a un sonido mucho más fuerte así sería mucho más fácil y rápido que la persona se levante.
Y que la alarme fuese aprendiendo del usuario, las horas a las que se levanta.
Me gusta la idea de los planes a futuros y más la de saber si la persona q se encuentra en la cama es la que debería de estar.
Acerca del demo no me gusto la interfaz para seleccionar la hora, sería bueno tener un mejor diseño. El video y el demo que realizaron me parecio muy bueno.


Equipo 5: Casa Inteligente


Debieron de haber seguido lo que es la calendarización de lo planeado para el proyecto. Espero que sigan los planes a futuros, ya que les faltó tener concluido la mayoría de lo que iba a abarcar el proyecto. La organización fue muy mala y nos hubiese gustado que nos presentaron un demo en vivo para poder ver el alcance ya que así no se demuestra nada.




Me gusto que hayan optado por solo simular el garage para poder ver la demostración en vivo. Lo que sellegóo a realizar de todo lo que abarcaron esta muy bien ya que es casi todo de lo que habían propuesto.
La interfaz usada en el proyecto no me parece muy bien, el diseño no es de un buen gusto, ya que la letra de color azul hace que la letra en color negro o algo asi se pierda y se le preste más atención a esta.
Me gusto la alternativa de la aplicación móvil pero la interfaz donde se encuentra el icono no me parece bien.
Me gustaria que siguieran con el proyecto y que juntaran todo para que se convirtiera en uno solo. El video que mostraron no tiene una calidad muy buena.



Me gusta que hayan tomado en cuenta como realizan proyectos a futuros en base a este que realizaron, también ayuda mucho las imagenes de como realizan las cosas, ya que como se trata algo referente a realizarse con ayuda de un carro me gusto la implementación que hicieron, ademas de que hubiera sido mejor realizarlo con un prototipo pequeño.




En base al producto resultante obtenido fue un gran avance. Acerca de la interfaz no distinguía muy bien además de que el color que se le da al menú no es un buen color. La interfaz no tiene un buen entendimiento.


Estuvo bien que tomaran en cuenta lo que se haría diferente acerca de tener un líder de equipo y cosas como estas.
Me hubiera gustado ver un demo mucho más conciso y explícito, porque con solo la presentación no se demuestra que realmente se realizó la parte del proyecto hablada.



Deberían de tener una forma más organizada de realizar el trabajo y tener una mejor comunicación entre ustedes mismos, en sí explicaron bien la forma en la que funciona el proyecto. La realización del demo fue muy tardado y al final no se realizo.
El video no tiene una buena calidad.

Laboratorio de Cómputo Ubicuo

En esta semana se nos pidió realizar un borrador de Plan de Negocios.



Plan de Negocios:

Propuesta y Objetivos:

EL plan de Negocios se basará en el sistema de Ubicuo que estamos implementando que es la Galería Inteligente. La propuesta es crear una compañía que ofrezca servicios en lo que son las Galerías y Museos con el objetivo de crear una innovación de agregarle la interactividad con el usuario y un nuevo estilo de aprendizaje.

¿En qué consiste?

Consiste en crear vitrinas inteligentes para las obras de arte expuestas en el Museo o alguna exposición.

Hardware utilizado :
  • Leds
  • resistencias
  • Proto
  • Arduino uno

Software utilizado :

  • Python
  • IDE Arduino

Otro material:

  • Material polarizado para la vitrina

Objetivos:


  • Conseguir que más gente se interese por lo que es el arte.
  • Ofrecer a los visitantes una nueva manera de ver, aprender e interactuar con las obras de arte.
  • Atraer a gente de todo tipo a los museos y galerías de arte.
  • Protección y seguridad de las obras por daños externos.
  • Una mayor seguridad.

Análisis FODA:

Fortalezas:
  • Contamos con una nueva innovación tecnológica
  • Relacionar la tecnología con el arte.
  • Adaptación del sistema
  • Solo se utiliza el equipo necesario
  • Una atracción hacia el usuario
  • Nueva forma de aprender
  • Control de visitas
  • Seguridad en la obra
  • Cuidado de la obra

Oportunidades:
  • Ningún museo en el área Metropolitana cuenta con esta tecnología.  
  • Precios
  • Beneficios al museo por parte financiera
  • Beneficios al usuario por parte del aprendizaje y entretenimiento
  • No es necesario la intervención de actuadores(personas que cobran el accesos

Debilidades:
  • No contamos con experiencia en los negocios.
  • Falta de clientes dispuestos a innovar la tecnología en los museos.
  
Amenazas:
  •  Robo de comportamiento en el sistema.
  •  Las empresas con más experiencia pueden enfocarse a una mejor tecnología

Conclusiones:

Analizando lo anterior nos damos cuenta que somos una empresa  que podemos tener mucho futuro y un gran éxito por delante, ya que en el área metropolitana no se encuentra con museos con esta nueva tecnología, poseemos una gran enfoque a nuestro trabajo, tenemos la capacidad de contar con un rápido crecimiento y llegar a expandirnos no solo en el área Metropolitana sino llegar más lejos como llegar a ser una empresa tanto nacional como internacional,

Referencias:

Link1
Link2
Link3

Proyecto Final: Visión Computacional

Presentación





 Propósito y Justificación

Mi proyecto trata acerca de la detección de una pintura por medio de una imagen creada por mi.

Las imágenes diseñadas son las siguientes:

Cada una de ellas representa a una pintura:

¿Cómo se va a trabajar con ella?

Vamos a trabajar por el número de cantidad de formas y el color que tiene cada una de las formas, como vemos en las imágenes anteriores hay imágenes que se repiten pero que tienen un color diferente en cada forma.

La justificación que tengo del proyecto es que lo iba a combinar con el proyecto de Cómputo Ubicuo como nosotros realizamos lo que es una vitrina inteligente, la vitrina estaria obscura y no se veria lo que contiene dentro, entonces en la parte derecha de la vitrina en la parte baja pondría lo que es la imagen (dependiendo de la pintura) para poder ayudar al usuario para saber qué es lo que contenía dentro, mi objetivo era implementar una aplicación de Android y OpenCv para el reconocimiento de esta pintura.

Al final use fotos por lo siguiente:
  • Al querer procesar los frames de OpenCv como yo estaba utilizando mi propio código, se tardaba mucho tiempo en procesarlas y en aplicarles los filtros.
  • Como el tiempo se me limito deje de lado la idea de usar Android.


Las fotos fueron tomadas por mi, utilizando un la cámara de un celular.

Herramientas utilizadas
  • PIL: Para tratar las imágenes.
  • Python: Lenguaje en la que se realizo el software.
  • Numpy: Para manipular las imágenes.
  • TkInter: Para la interfaz gráfica.
  • MySql: Para la creación de la base de datos.
  • MySQLdb: Módulo para trabajar con MySql.
  • Gnuplot: Para graficar los datos obtenidos del desempeño.
  • Time: Para tomar los tiempo en el sistema y comparar desempeño.
  • sys: argv para poder tomar parámetros desde la terminal.


Diseño del Software

A continuación se describen los pasos que se realizan para la detección:

1.-Le damos la imagen de entrada al programa.










2.- Detección de rectángulo (figura para la detección de la pintura)

En esta parte lo usamos el programa squares.py que ya trae la detección de cuadrados pero que al igual detecta rectangulos que es lo que nosotros necesitamos.Le pasamos a la función la imagen y nos hace el proceso de detectar el rectangulo y obtenemos lo siguiente:






3.-Recorte de la imagen que ocupamos.

En este paso vamos a recortar el rectangulo obtenido en el paso anterior y creamos una imagen de los pixeles de este rectangulo, para poder trabajar con ellos ya que es la unica parte que nos interesa.



4.-Procesar la imagen:

Procesamos la imagen obtenida en el paso anterior pasandola por varios filtros:

Escala de grises
Filtro


Convolución


Normalizar


Binarizar


Formas


5.-Obtención de color
Ya obtenidas las formas tenemos que trabajar con cada una de ellas que se encontraron y obtener un promedio del color que tienen.
Se obtiene un promedio R,G,B:
  • Se recorre la forma se van sumando el valor del “r” del “g” y del “b” de cada pixel.
  • Al terminar de recorrer la imagen dividimos cada sumatoria (sumatoria r, sumatoria g, sumatoria b) entre el número total de píxeles para así obtener un promedio de cada uno (promedio r, promedio g, promedio b).
  • Se guarda en una lista los promedios del r,g,b.
Se realiza el paso anterior hasta obtener los promedios de color (r,g,b) de cada una de las formas.

6.-Búsqueda de pintura
En esta parte tenemos una base de datos la cual realizamos con MySql y la tenemos alojada en el localhost con phpmyadmin, en la base guardamos las características de la pintura así como el nombre y la cantidad de formas.
También tenemos lo que son los colores r,g,b de cada una de las formas, para poder comparar.
Se busca cada una de las formas y se da un rango de error de -10 y +10.
Se compara y si por ejemplo tenemos 4 formas, entonces se busca cada una de las formas y si coincide con una pintura entonces nos regresa ese resultado.



7.-Nombre de la pintura
Solo nos regresa el nombre de la Pintura que reconoció, anteriormente se quería que nos desplegará la imagen además de una pequeña descripción de la pintura de hecho esta se guardo en la base de datos.



Desempeño
Se utilizó una Samsung UltraBook NP530U3C serie 5 con las siguientes especificaciones:
  • Procesador Intel® Core™ i3 2377M (1,50 GHz, 3 MB, caché L3) Main Chipset
  • Memoria del sistema DDR3 de 4 GB a 1.333 MHz (en BD 4 GB)
  • Intel® HD Graphics 3000
  • Sistema Operativo Ubuntu 12.04

Se tomaron capturas de como estaba el sistema antes de correr el programa:





Y después de correr el programa:


También se obtuvieron unos tiempos de cada parte realizada en el programa y se creo una grafica:



En el desempeño se tomaron algunas capturas sobre el tiempo:



Trabajo a futuro
  • Una de las cosas que me gustaria realizar seria la utilizacion de Android con OpenCv.
  • Optimizar el código.
  • Aprender un poco mas de como hacer que mi programa tenga un mejor desempeño.
  • Terminar mi programa como se había previsto de la demostración de la pintura y su pequeña descripción.


Repositorio


Referencias:
http://www.samsung.com/co/consumer/monitor-peripherals-printer/notebooks/ultrabook/NP530U3C-A05CO-spec