martes, 14 de mayo de 2013

Lab#11.Sugerencias de mejora a los análisis de privacidad y seguridad de proyectos


La tarea asignada para esta semana en el laboratorio de cómputo ubicuo es realizar una retroalimentación a los proyectos de nuestros compañeros, enfocado en el tema de esta semana que es la seguridad del proyecto y la privacidad de los usuarios con respecto a sus datos.

1. Alarma Inteligente de autos

  •  Su presentación  esta completa  pero como sugerencia podrían tomar en cuenta si el auto contara con un número de identificación para una mejor seguridad o protegerlo.
  •  Yo recomendaría que dentro de su aviso de privacidad explicaran los términos y condiciones, así como la manera en que la información será cuidada y tratar de que los datos que son  guardados sean de la menor cantidad que se pueda para mayor privacidad.
  • También contando con el aviso de privacidad  como sugerencia podrían informar o explicar  sobre los métodos que se usaran para cuidar la información del usuario, ya que es sensible a perdidas o pudiera ser extraída.
2. Seguridad en Computadora
  • Me parece que en su presentación les falto definir de que manera afectaría o como se realizaran algunos filtros de privacidad en el proyecto, podrían realizarlo con las fotos de los usuarios e ir cifrando de alguna manera y que ellos puedan decir en que parte guardarlas.
  • Como sugerencia podrían mostrar como quedaría su documento final de aviso de Privacidad y mostrar mejor defino sus términos y condiciones que ayudarían más al proyecto.
3. Oficina Inteligente

  • Me pareció ver que en su aviso de privacidad no está de forma más específica que datos estarán guardados, en donde y cual  seguridad estarán guardados y se podrán modificar los términos de uso cada vez que quieran esta parte no me quedo muy clara. 
  • También hablan de una llave de identificación como sugerencia podrían tener un sistema donde ninguna identidad pueda ser copiada o crearlo ustedes mismos para mayor seguridad y privacidad hacia el usuario.

4.localizador de personas

  • Como sugerencia quizá sería una buena opción tratar de proteger los datos contra posibles amenazas que dejar a que el usuario se encargue de ellos.
  • Algo que observe es que faltaron agregar algunos datos que van a usar del usuario y hacerle ver los datos que se consideran más sensibles.
  • Además podrían definir la manera en que los usuarios podrían verse afectados cuando los datos sean accedidos, esto podrían agregarlo a su aviso de privacidad.

5. Despertador Inteligente

  • Fue una presentación muy completa ya abarcaron sus cuestiones de seguridad y privacidad que podrían intervenir en su proyecto.
  • Como sugerencia lo único que sería bueno pensar en que datos son realmente necesarios en su servidor, ya que entre más datos transporten podría presentar más riesgo con una cantidad mayor de los datos.


  • Me pareció una buena presentación muy completa al abarcar todo lo relacionado en seguridad y privacidad, solo como sugerencia podrían identificar cada dispositivo con algún tipo de id 
  • Otra sería algún tipo de seguridad en las conexiones o acceso al garage mas que nada porque cualquier persona podría tomar esa conexión y hacerse pasar por otra persona para ingresar a el robando identidades.

7. CarNXP

  • Me pareció que está muy bien definida su seguridad y privacidad en los datos que serán utilizados, como sugerencia podrían también verificar la parte de seguridad del contenido original de las claves en el tag  para que no sean clonadas.
  • También cuidar de manera adecuada o un poco mas segura los datos que se generan al guardar las rutas que ira recorriendo el usuario, para evitar que alguien pueda accederlos. 

8.Casa Inteligente


  • Algo que podría servir a su proyecto es un documento donde definan de manera explícita los avisos de privacidad, términos y condiciones es lo que observe que falto. 

  • También pude observar que guardarán toda la información recabada por los sensores todo momento, creo no es necesario para reducir las cuestiones de problemas de privacidad, para eso podrían implementar sensores que solo manden a la base de datos la información que pudiera será necesaria.


Reporte de proyecto. Detección de sombras de color para ojos

Propósito

El objetivo de este proyecto como ya anteriormente se había mencionado es  detectar tablillas de sombras de color para ojos y hacer una comparación de colores aplicando técnicas de visión computacional desarrollados durante el semestre.

Esto se realizó mediante la obtención de imágenes por medio de una webcam y con un algoritmo para detección de formas tomando la parte rectangular de las tablillas como base y hacer una diferencia colores.  






Justificación

Este proyecto esta enfocado para llevar un control de la calidad en productos cosméticos(inspección por color y forma) para entregar una mejor producción.


Este proyecto  además tendría enfoque en otras áreas y para  diferentes aplicaciones:
  • Una de las aplicaciones podría ser en el área de calidad de pinturas vinilicas esto podrá servir en que los colores de un producto aprobado anteriormente se  compare con otro de salida al combinando colores y lograr el tono deseado tomando el promedio de todos los colores.  
  • También tendría aplicación en  la detección de defectos puede ser considerada como un caso especial de control de conformidad, donde los objetos no ofrecen formas específicas por ejemplo la inspección de objeto de cerámica en la etapa previa al esmaltado para detectar los defectos en la superficie como rugosidades.


  • En la inspección por color se utiliza ampliamente en la industria farmacéutica para confirmar que la tableta o píldora de color se ha colocado en el embalaje correcto.


Descripción Textual

Mi programa lo que realiza es procesar una imagen tomada desde la webcam antes mencionado mediante la librería OpenCV esto es con el frame para lanzar la cámara, esta imagen posteriormente pasar por el proceso de diferentes técnicas de visión computacional hasta detectar las formas rectangulares que son las tablillas de colores.

Técnicas de visión aplicadas fueron las siguientes

  • Obtenemos la imagen mediante el lanzador de cámara con OpenCV esto incluido en el código



  • Esta misma imagen entra en proceso de escala de grises

  • Después pasa por el proceso de filtrado a la imagen para poder binarizarlo de una manera mas fácil.
     

  • Después se aplica un umbral en el binarizado para convertir los píxeles de un tono de grises a blancos y todo lo demás a negro.

  • Para obtener una forma un poco más definida, se obtienen los contornos de la figura que son sus bordes representativos mediante convolución y máscara de Sobel



  • Pasa por un proceso de normalización para regresar la imagen a estándares originales


  • Para detectar los rectángulos utilice la técnica de formas donde como resultado tenemos las formas rectangulares detectadas


Diseño del Software

Lenguajes de programación y librerías utilizadas

Las librerías y el lenguaje que utilicé para mi proyecto fueron los siguientes:
  • Python
  • OpenCv lanzador de cámara para obtener las imágenes de las tablillas de colores mediante la webcam
  • Numpy
  • PIL

Evaluación de Desempeño

Diagrama de algoritmos implementados


La manera en que funciona es así:
  1. Damos como entrada la imagen mediante la cámara con OpenCV
  2. La procesamos por escala de grises
  3. Aplicamos filtro a la imagen
  4. Aplicamos gradientes  y detección de bordes(en este caso las máscaras de Sobel)
  5. Normalizamos la imagen
  6. Binarizar la imagen para  convertir los píxeles de un tono de grises a blancos y todo lo demás a negro.
  7. Después se detectan las formas, en este caso las formas rectangulares de las tablillas de color.
  8. Aplicar algoritmo para diferenciar los colores en la imagen obtenemos un máximo  y mínimo de los píxeles de r, g y b esto es para diferenciar el color de las sombras, si su tonalidad esta entre este máximo y este mínimo pasa la prueba.

El desempeño del programa depende de la iluminación para la cámara ya que muchas veces al tomar la imagen desde la webcam se puede encontrar algo de brillo en la imagen obtenida para el procesamiento, algunos detalles de la imagen se pierden y es un poco más difícil que se detecten bien los bordes y no se detecta como tal la figura rectangular.

Trabajo a Futuro

Para mejoras y algunas aplicaciones que se puedan presentar en un futuro seria en lo siguiente:
  • Limpiar el ruido que se detecta en la imagen
  • Para trabajo futuro se aplicará en decidir si otro producto cosmético por ejemplo los labiales y delineadores de ojos, cumplen con un conjunto de especificaciones previamente establecidas, definas como estándar de calidad(detección de errores como grietas en cada cosmético o en las mismas tablillas de color.

 
Presentación
 

Mi repositorio 
https://github.com/vane90/visioncomput/tree/master/proyecto

Referencias


Aplicaciones para la visión(JasVisio, S.L. Ultima consulta Mayo 13, 2013)
http://www.jasvisio.com/aplicaciones/aplicaciones-de-la-vision-por-computador.html

Instalación de OpenCV
http://desarrollophpsenior.wordpress.com/2012/09/19/instalar-opencv-2-4-2-en-ubuntu-12-04-lts/

Imágenes(Mary Kay, )
http://www.marykay.com.mx/maquillaje/ojos/default.aspx 


jueves, 9 de mayo de 2013

Laboratorio#9. Detección de esquinas


Para esta semana la tarea asignada consistio en detectar esquinas en imágenes utilizando el método de diferencia de filtro mediano para la parte básica, y en base a esas esquinas y utilizando bordes, realizar un seguimiento en cierto orden de las esquinas, trazando líneas para saber que se tratan de esquinas de algún objeto.

Lo implementado es la parte básica

Imagen Original

Detección de esquinas:
  • Pasamos la imagen a escala de grises para después aplicar a la imagen un filtro mediano a la imagen. El filtro mediano es parecido al anterior de promedio, se procesan los pixeles alrededor de uno determinado y se hacen cálculos con todos, en este caso se busca encontrar el mediano o la mediana de ellos.


  • Esto nos mostrara una imagen un poco diferente:


  • Las esquinas, lo obtuve con la diferencia entre la imagen original y la obtenida con el filtro mediano. Esto corresponde a una simple resta entre los pixeles de la original menos los pixeles en la filtrada. Después se normalizan los valores de los pixeles y se binariza. 






Normalizar: 





Otra prueba

Diferencia:
Binarizada


Código completo en mi repositorio


Repositorio

Code Block

This week we are assigned to make a way to check if a string or text or text string is transmitted correctly.

The idea is to use HAMMING BLOCK CODES.

The hamming code allows us to find errors in a text received by a string of 4 bits (7x4). This indicates that it will be a string of four bits that represent something as numbers or letters and is accompanied with 3 digits its parity bits.



Hamming algorithm (7X4) can correct any single bit error, but when there are errors in more than one bit, the transmitted word is confused with another with a single bit error being corrected, but incorrectly, ie that the word is not correct other than the original, and the final message is wrong without knowing it. 

The key to the Hamming Code is the use of extra parity bits to allow the identification of a single error. Create the code word as follows:
  1. Mark all bit positions that are powers of two as parity bits. (positions 1, 2, 4, 8, 16, 32, 64, etc.)
  2. All other bit positions are for the data to be encoded. (positions 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.)
  3. Each parity bit calculates the parity for some of the bits in the code word. The position of the parity bit determines the sequence of bits that it alternately checks and skips.
    Position 1: check 1 bit, skip 1 bit, check 1 bit, skip 1 bit, etc. (1,3,5,7,9,11,13,15,...)
    Position 2: check 2 bits, skip 2 bits, check 2 bits, skip 2 bits, etc. (2,3,6,7,10,11,14,15,...)
    Position 4: check 4 bits, skip 4 bits, check 4 bits, skip 4 bits, etc. (4,5,6,7,12,13,14,15,20,21,22,23,...)
    Position 8: check 8 bits, skip 8 bits, check 8 bits, skip 8 bits, etc. (8-15,24-31,40-47,...)
    Position 16: check 16 bits, skip 16 bits, check 16 bits, skip 16 bits, etc. (16-31,48-63,80-95,...)
    Position 32: check 32 bits, skip 32 bits, check 32 bits, skip 32 bits, etc. (32-63,96-127,160-191,...)
    etc.
  4. Set a parity bit to 1 if the total number of ones in the positions it checks is odd. Set a parity bit to 0 if the total number of ones in the positions it checks is even.


Bibliografía
http://users.cs.fiu.edu/~downeyt/cop3402/hamming.html


 

martes, 7 de mayo de 2013

Lab#10. Resumen Cuestiones de privacidad en el cómputo ubicuo

Para esta semana la tarea asignada consiste en elaborar un resumen de un articulo preseleccionado relacionado con privacidad en computo ubicuo y el mio consiste en lo siguiente: 

C. Bryce- M.A.C. Dekker · S. Etalle · D. Le Metayer - F. Le Mouel  M. Minier · J. Moret-Bailly · S. Ubeda
                                                                              (2007)

Ubiquitous Privacy Protection
Position Paper

Referencia al articulo

1. Introducción:
La privacidad es un concepto complejo y de múltiples facetas, tanto del bienestar social y los puntos de vista legal y ha sido interpretado de diversas maneras dependiendo de épocas, culturas y las percepciones individuales. La privacidad también depende en gran medida de la tecnología, como lo demuestra la motivación formulada por Warren y Brandeis en su artículo seminal  en 1890 - es decir, el uso creciente de la fotografía y, más de un siglo después, por el aumento de las preocupaciones acerca de la privacidad planteadas por las perspectivas de la computación ubicua. 

En cada caso, la tecnología juega el papel del villano o la fuente recurrente de nuevas amenazas a la privacidad. La posición que hemos presentado aquí es que la tecnología no necesariamente debe estar siempre en el lado equivocado, y que las características técnicas de la computación ubicua también pueden ser aprovechadas para extender la protección de la privacidad.

Obviamente, la privacidad no se puede garantizar por medios puramente técnicos, especialmente en el contexto de la computación ubicua: se requiere una combinación de ingredientes jurídicos, sociales y tecnológicos, pero la tecnología puede y debe ser diseñado desde el principio con los requisitos de privacidad en mente.  La tecnología puede y debe apoyar a las normas legales y sociales tanto como sea posible, mientras que la contabilidad por la variedad de situaciones y complejidades del mundo en "inteligencia ambiental".

Se centra en tres requisitos técnicos: (2) la especificación formal de la política de privacidad, (3) gestión de la confianza y (4) la auditabilidad.

2. Necesidad de un modelo formal de la política de privacidad
2.1 motivación jurídica y social
La mayoría de instrumentos legales para la protección de la privacidad se refieren explícitamente al consentimiento inequívoco del titular de los datos como una de las condiciones para la obtención de datos personales. Sin embargo, el consentimiento del titular de los datos puede considerarse inequívoca si la información en que se basa dicho consentimiento también es ambiguo. 

No obstante, el control efectivo de sus datos personales por parte del usuario y el valor jurídico de su consentimiento debe basarse en la existencia de una política de privacidad precisa que se ha definido previamente, comprendido y aceptado sin ambigüedad. Otra razón importante para evitar ambigüedades en el estado de las políticas de privacidad es la responsabilidad del tratamiento de los datos (la persona jurídica que determina los fines y medios del tratamiento de datos personales) por daños y perjuicios sufridos por el titular de los datos, como resultado de un tratamiento ilícito de datos personales.

2.2 Cuestiones tecnológicas

En este articulo nos muestras como ya se ha ilustrado durante décadas en el área de lenguajes de programación, la semántica formal por lo menos dos ventajas principales: 
  1.  Que permitirá asignar un significado definido para cada declaración en un idioma, 
  2.  Que allanar el camino para el diseño de una variedad de herramientas bien fundadas (como analizadores del programa, transformadores de programas, etc.).
Estos beneficios serían muy bienvenidos en el contexto de las lenguas de política de privacidad, así como: ejemplos de funciones útiles incluyen la comprobación de la conformidad (por ejemplo, comprobar si la política de privacidad de un destinatario potencial de datos se ajusta a las necesidades de privacidad de los datos del propietario), la comprobación de la consistencia (detectar inconsistencias o configuraciones sospechosas en las políticas de privacidad). 

En efecto, la definición de las políticas de privacidad de una manera precisa e inequívoca no es una tarea fácil, sobre todo en el mundo de la inteligencia ambiental en diferentes contextos, actores, tipos de datos y los dispositivos tienen que ser considerados.

2.3 Soluciones tecnológicas

Para hacer frente a las cuestiones planteadas en el apartado anterior, se ha diseñado un sistema formal que se basa en las nociones de confianza y auditabilidad.  El sistema de prueba para la gestión de la confianza define las reglas para el establecimiento de fórmulas de credenciales tales como "A afirma que D es miembro de A amigos" donde "A" denota un director y "amigos" a seguir. 

La semántica de las políticas de privacidad pueden ser establecidos en función del estado del sistema de gestión de la confianza. Las políticas de privacidad son adheribles en el sentido de que cada uno de los datos viene con su política y esta política rige su uso, así como su distribución. 

3 Requisitos para la gestión de la confianza
3.1 motivación legal y social 
Los seres humanos utilizan la confianza diaria para promover la interacción y aceptar el riesgo en situaciones en las que tienen información parcial. En realidad, las nociones de privacidad y confianza tienen diferentes conexiones:
  • En el "nivel operativo", la confianza es un parámetro social para la gestión del riesgo, sino que ayuda en la toma de decisiones, por ejemplo, para decidir si o no los datos personales deben ser comunicados. Hasta hace poco, la confianza se estableció a través de las interacciones directas, cara a cara. Hoy en día, en la sociedad conectada global, se necesitan métodos alternativos para establecer la confianza.
  • En el "nivel filosófico", se ha argumentado que uno de los primeros valores encapsulados por la privacidad era contribuir al bienestar y la confianza de la gente, sobre todo en el contexto de sus relaciones sociales.
Por lo tanto, la confianza ayuda a mantener la privacidad, que a su vez refuerza la confianza. Sin embargo, el establecimiento de la confianza también puede afectar a la privacidad ya que una cantidad mínima de información se debe proporcionar para iniciar confianza (proceso de iniciar captura). 

3.2 Cuestiones tecnológicas
En cuanto al problema de proteger la privacidad desde el punto de vista de gestión de la confianza aparece como una solución razonable en un marco distribuido como la computación ubicua, donde no hay control de una autoridad central puede ser asumido. 

Gestión de confianza puede ser una manera de ayudar a las personas tomar decisiones sobre si debe o no dar su consentimiento al tratamiento de sus datos privados. Dos nociones de confianza suelen distinguir: confianza implícita y fiabilidad. 

Gestión de la confianza basada en el artículo cae en el área de control de acceso. La adaptación a los sistemas de colaboración descentralizada de soluciones para sistemas centralizados es muy difícil, especialmente cuando se considera entornos de inteligencia ambiental. 

Además, cualquier marco de gestión de la confianza de la inteligencia ambiental requiere un mínimo intercambio de datos personales. 

3.3 Soluciones tecnológicas
Nuestro marco de gestión de la confianza se basa en la idea de la historia de la comunicación: después de una interacción exitosa, cada nodo construye una prueba de interacción firmado por ambas partes. Cada nodo mantiene en su historia este certificado común para probar criptográficamente que la interacción ha tenido lugar (e, implícitamente, a satisfacción de ambas partes). 

Estos certificados se utilizan para construir la confianza con otros dispositivos basados ​​en su número de interacciones con partes comunes (las partes que han tenido interacciones exitosas con los dos nodos). 

El nivel de calidad de la información se puede adaptar mediante el uso de seudónimos. Cada nodo se le asigna una identidad única y un conjunto de seudónimos derivados que se pueden utilizar para construir certificados sin revelar la identidad del nodo. Además, los nodos pueden denunciar los malos comportamientos a la autoridad, que es capaz de establecer la identidad del nodo incriminada, lista negra con todos sus seudónimos y reenviar esta información a todos los demás nodos.

4 Requisitos para la auditabilidad
4.1 Motivación jurídica y social
Mecanismos clásicos para la protección de los datos confidenciales son preventivas, en el sentido de que las acciones no autorizadas se les impide que se produzcan. Sin embargo, tanto por razones técnicas y legales, que deben complementarse con medidas a posteriori con la auditoria  especialmente en el contexto de la computación ubicua. Primer lugar, basándose exclusivamente en los medios de prevención, no sería realista para ciertas aplicaciones debido a que el sistema sería necesariamente:
  • De cualquier inconveniente, ya que no toleraría ninguna excepción y que por lo tanto privaría al usuario de muchas interacciones potenciales o exigiría reiteradamente su consentimiento antes de autorizarlos.
  • O ineficaz, ya sea porque el usuario, cansado con consultas reiterado consentimiento, daría sistemáticamente su consentimiento porque, a fin de aliviar este problema, el sistema tendría que poner en práctica una política de privacidad mucho más débil.
 Lo esencial de la cuestión es que un mecanismo de control preventivo estricto y preciso requiere un procedimiento de decisión completo para establecer si una determinada acción está permitida o no, y un procedimiento de decisión tan completa que no puede aplicarse de manera efectiva, ya que depende de conceptos vagos como el "fin "de una acción. 

4.2 Cuestiones tecnológicas
La auditoria puede ser un sustituto válido para el control de acceso preventivo, ya que puede poner en práctica una forma de control de acceso a posteriori: un sistema en el que no se impide infracciones de política, pero se ha identificado y detectado sistemáticamente.

El uso sistemático de auditoria para lograr el control del cumplimiento puede parecer futurista, pero creemos que tiene que suceder. Para darse cuenta de esto, una serie de cuestiones técnicas tienen que ser abordados. 

  • En primer lugar, la integridad: la auditoria no puede ser nunca un proceso totalmente automatizado ya que la decisión de si un acto constituye una violación a menudo se basa en factores (como el contexto social) que no pueden ser evaluados por un sistema automático. Por lo tanto, los sistemas de auditoria tendrán que aislar a los casos dudosos que pueden requerir la intervención humana. 
  • En segundo lugar, la eficacia: en la presencia de los casos dudosos, el problema de falsos positivos puede ser un factor limitante en la eficacia de la auditoria automática. Un tercer reto es cerrar la brecha entre las políticas y los acontecimientos. 
4.3 Soluciones tecnológicas
Con el fin de abordar algunas de las cuestiones planteadas en el apartado anterior, hemos definido una lógica de responsabilidad, los fundamentos formales de un control de cumplimiento, y un marco lógico para la evaluación de los sistemas de registro. Estos sistemas de dirección, en particular, las cuestiones formales que subyacen a la estructura y el significado de la auditoria como una manera de hacer cumplir el control del cumplimiento.

Como se establece en el apartado anterior, un requisito clave para la auditoria es que los datos registrados se almacenan de forma segura. Estamos investigando este problema utilizando la noción de hardware de confianza. 

Esto también es importante para la detección de virus, ya que pueden surgir violaciones de privacidad de software infectado por virus tan fácilmente como a través de las acciones de los usuarios maliciosos.

Fundamentalmente, la auditoria de privacidad implica el registro de las acciones de las entidades en relación con el intercambio de información. A veces la información puede ser identificada a través del dispositivo de almacenamiento que contiene. En este caso, la tecnología RFID puede ser explotado para rastrear el movimiento del dispositivo de almacenamiento. 
-------------------------------------------------------------------------------------------------------------------------------
Conclusiones :  

En áreas de la concisión, se ha centrado en tres tecnologías que creemos que son de gran importancia para conciliar la intimidad y la computación ubicua. En cada caso, hemos sugerido cómo la tecnología puede ser utilizado para extender protección de la privacidad al tiempo que permite la flexibilidad requerida por el contexto inteligencia ambiental.
Obviamente, esto no es para minimizar el valor de muchas otras técnicas (tales como el anonimato, la criptografía, autenticación o técnicas basadas en proximidad) que debe ser parte de cualquier entorno ubicuo amigable privacidad.


Opinión 
Como opinión podemos definir que hay  algunos requisitos de privacidad importantes  en escenarios de inteligencia ambiental.  Esto podría ser mediante la confianza que entra en juego cuando un dispositivo del usuario interactua con otros dispositivos como la unidad de gestión de la confianza de dispositivos que evalúa los riesgos según el contexto actual, y otorga derechos de acceso a los otros dispositivos y la auditabilidad es útil después de una interacción, esta sirve como un medio para comprobar que acciones del pasado realizadas por el dispositivo fueron consistentes en privacidad. También tomar en cuenta que la privacidad debería ser un poco mas flexible. 

jueves, 2 de mayo de 2013

Lab#8. Detección de Poligonos


Para esta semana se nos pidio realizar un programa que pudiera detectar poligonos para esto se llevo a cabo el siguiente proceso:
  • Utilice la imagen original 
 
  • pase a escala de grises para despues binarizarla 

  • Aplicamos lo que es convolución que genera la imagen con los bordes encontrados y los gradientes. 
 

 

Implementación:
Aquí estan algunas funciones representativas y lo que pude implementar de codigo de convolución hasta ahorita. 
  • Esta es la función encargada de calcular las pendientes de cada pixel, recibe el listado de puntos correspondiente a la forma detectada, y los gradientes de X y Y.
  • Para cada punto de la lista, obtiene el valor en los gradientes, y calcula la pendiente en el punto.
  • Lo que alcance a tener  es en base a las pendientes encontradas pinta lo que son las rectas dentro de los poligonos detectados por convolución.