Autor Tema: Camara termica o Scaner termico  (Leído 12472 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Camara termica o Scaner termico
« en: 14 de Agosto de 2013, 07:26:38 »
Buenas forerso,

Me estoy haciendo una especie de cámara térmica o quizá se podría definir mejor como scaner térmico.

Este escaner consiste en un sensor que mide temperatura a distancia por infrarrojos y dos servos que hacen de Pan/Tilt (un barrido horizontal y vertical)

La cuestion es que voy midiendo temperaturas a distancia y cada punto de temperatura lo voy enviando al PC.

Ahora quería hacerme un software en Visual Basic 2010 que pinte en la pantalla cada temperatura de un color diferente para simular una imagen de camara termica para que quede algo parecido a la siguiente imagen:


por supuesto no quedará con la misma precisión que una camara termica y la distancia de escaneo tampoco será la misma, pero intentaré que tenga la mayor precisión posible dentro de mis limitaciones.

La cuestión es: ¿cual sería la mejor manera de pintar los pixeles de cada color? ¿es mejor pintar pixeles, lineas, cuadros? ¿Tenéis alguna idea de cual sería la mejor manera de hacer esto?

Gracias.
BitPIC

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Camara termica o Scaner termico
« Respuesta #1 en: 14 de Agosto de 2013, 10:50:02 »
¿Que sensor estas usando como cámara termica?.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Camara termica o Scaner termico
« Respuesta #2 en: 14 de Agosto de 2013, 12:53:38 »
¿Que sensor estas usando como cámara termica?.

Un saludo

Estoy usando el MLX90614, tengo un modelo que abarcar un rango bastante amplio, estoy esperando que me llegue un modelo un poco más caro pero que es más direccional, con lo que espero que gane precisión.

Más o menos empieza a funcionar, he decidido ir pintanto pixel a pixel cada medida en la pantalla de VB (ahora mismo estoy usando 4x4 pixels por medida).

El problema que tengo es el siguiente:

- Desde el micro envio la temperatura y el punto X y el punto Y donde estoy midiendo.
- Con estos datos pinto el pixel de la pantalla correspondiente (en mi caso, ahora mismo estoy pintando  4x4 pixeles)
- Lo que ocurre es que pinto el pixel actual, pero no me mantiene los pixeles ya pintados.

Estoy usando un PictureBox, y el codigo para pintar los pixeles es el siguiente:

Código: [Seleccionar]
        Dim temp As String
        Dim Pantalla As Bitmap
        Pantalla = New Bitmap(PictureBox1.Width, PictureBox1.Height)
        Dim h As Integer
        Dim v As Integer
        Dim PixelColor As Color

        PixelColor = Color.White

        temp = Temperatura
        h = Horizontal * 4
        v = Vertical * 4


        If temp > "29.00" Then
            PixelColor = Color.Red
        ElseIf temp > "28.00" Then
            PixelColor = Color.DarkOrange
        ElseIf temp > "27.00" Then
            PixelColor = Color.Orange
        ElseIf temp > "26.00" Then
            PixelColor = Color.Yellow
        ElseIf temp < "26.00" Then
            PixelColor = Color.LightYellow
        End If

        For xi = h To h + 4
            For yi = v To v + 4
                Pantalla.SetPixel(xi, yi, PixelColor)
            Next
        Next

        PictureBox1.Image = Pantalla

Como podéis ver el código todavía no esta optimizado porque estoy haciendo pruebas todavía, pero querría resolver antes lo de ir pintando todos los pixeles sin perderlos.

Supongo que si pinto todos los pixeles y al final hago el PictureBox1.Image = Pantalla se resolvería, pero quiero ir viendo como se van pintado pixel a pixel.

¿Alguna idea de como puedo hacerlo?
BitPIC

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Camara termica o Scaner termico
« Respuesta #3 en: 14 de Agosto de 2013, 15:26:59 »
Ya esta solucionado.

En cuanto tenga algunos resultados aceptables pondré algunas imagenes.

saludos  :-/
BitPIC

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Camara termica o Scaner termico
« Respuesta #4 en: 15 de Agosto de 2013, 09:42:55 »
Interesante proyecto, pero creo que la resolución será muy baja.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Camara termica o Scaner termico
« Respuesta #5 en: 15 de Agosto de 2013, 10:11:03 »


A la imagen que consigas, que tendrá muy poca resolución, le podrías superponer, con un cierto grado de transparencia, la imagen capturada por una webcam, si le quitas el filtro que llevan, son muy sensibles a los infrarrojos. Al menos así quedarían más definidos los contornos, para identificar mejor los objetos o las personas.



Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Camara termica o Scaner termico
« Respuesta #6 en: 15 de Agosto de 2013, 12:25:16 »
Bueno aquí tengo algunos resultados, es un paquete de espinacas congelado  :D



Y aquí un video de mala calidad (tengo que cambiarme el telefono...  :oops:) pero algo se puede ver.

Scaner temperatura

El sensor que estoy usando ahora es el modelo AAA y tiene este angulo de medida:



Estoy a la espera de que me llegue el mismo sensor pero modelo ESF que es más direccional y espero que me de algo más de precisión:



El actual:



y el que estoy esperando:



Como podéis ver va metido dentro de una especie de capsula y esta capsula lleva una lente en la entrada de luz.



A la imagen que consigas, que tendrá muy poca resolución, le podrías superponer, con un cierto grado de transparencia, la imagen capturada por una webcam, si le quitas el filtro que llevan, son muy sensibles a los infrarrojos. Al menos así quedarían más definidos los contornos, para identificar mejor los objetos o las personas.




Si, es el próximo paso que quiero conseguir, pero todavía no se como capturar imagenes de la web cam con el Visual Basic 2010. Recuerdo que en el VB 6 había una "libreria", "dll" o no recuerdo bien que, que lo hacia muy fácil de usar, pero en VB2010 no encuentro la manera. ¿Alguien tiene algo de idea sobre como usar la camara con VB 2010?

saludos
BitPIC

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Camara termica o Scaner termico
« Respuesta #7 en: 15 de Agosto de 2013, 12:27:53 »
Hay una libreria que se llama OpenGL que te permite hacer lo que quieras con las imágenes. Esta librería esta disponible como DLL y se puede llamar desde cualquier lenguaje.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Camara termica o Scaner termico
« Respuesta #8 en: 16 de Agosto de 2013, 07:55:25 »
Hay una libreria que se llama OpenGL que te permite hacer lo que quieras con las imágenes. Esta librería esta disponible como DLL y se puede llamar desde cualquier lenguaje.

Un saludo

De momento he conseguido hacer funcionar la camara con la libreria WebCam.dll y hacer capturas. Voy a mirarme esto del OpenGL a ver si me permite dar transparenca o mezlar las dos imagenes (camara + pixeles temperatura)

Si no a unas malas coloco una imagen al lado de la otra para comparar
BitPIC

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Camara termica o Scaner termico
« Respuesta #9 en: 16 de Agosto de 2013, 09:17:01 »
Hay una libreria que se llama OpenGL que te permite hacer lo que quieras con las imágenes. Esta librería esta disponible como DLL y se puede llamar desde cualquier lenguaje.

Un saludo

De momento he conseguido hacer funcionar la camara con la libreria WebCam.dll y hacer capturas. Voy a mirarme esto del OpenGL a ver si me permite dar transparenca o mezlar las dos imagenes (camara + pixeles temperatura)

Si no a unas malas coloco una imagen al lado de la otra para comparar

OpenGL permite trabajar con capas y darles las trasparencias que quieras.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Camara termica o Scaner termico
« Respuesta #10 en: 16 de Agosto de 2013, 14:32:55 »
Hay una libreria que se llama OpenGL que te permite hacer lo que quieras con las imágenes. Esta librería esta disponible como DLL y se puede llamar desde cualquier lenguaje.

Un saludo

De momento he conseguido hacer funcionar la camara con la libreria WebCam.dll y hacer capturas. Voy a mirarme esto del OpenGL a ver si me permite dar transparenca o mezlar las dos imagenes (camara + pixeles temperatura)

Si no a unas malas coloco una imagen al lado de la otra para comparar

OpenGL permite trabajar con capas y darles las trasparencias que quieras.

Un saludo

He estado buscando algo de información del OpenGL, parece que se usa mucho para hacer juegos y trabajar con 3D. Veré a ver si se usarlo... ¿Lo has probado tu alguna vez? Es que nunca he trabajado con capas ... ya os diré como me ha ido.

De momento os dejo aquí otra captura que he hecho pero esta vez con el nuevo sensor... la diferencia es abismal, mucho mejor ahora.

Esta captura esta hecha a dos metros de distancia y por un lado se ve el televisor y al otro lado una persona sentada hablando por telefono (no se ve bien definida porque esta todo el rato moviéndose)



Ahora solo superponer la imagen de la webcam y estaría bastante bien

BitPIC

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Camara termica o Scaner termico
« Respuesta #11 en: 16 de Agosto de 2013, 21:28:50 »
me gusta... seguire detenidamente el post.... felicidades bitpic, te esta quedando de miedo....
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Camara termica o Scaner termico
« Respuesta #12 en: 17 de Agosto de 2013, 12:01:44 »
A ver si un experto en VB.net me puede echar una mano.

He encontrado como hacer lineas transparentes en la ayuda de MSN:

Dibujar lineas opacas y transparentes

pero no se como usarlo.

Si copio el código tal y como está, me da error en todas las lineas que empiezan por "e.Graphics." ¿ Me falta declarar algo? ¿No se de donde sale esta "e"?

saludos
BitPIC

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Camara termica o Scaner termico
« Respuesta #13 en: 17 de Agosto de 2013, 14:26:17 »
Hola,

el codigo debe colocarse dentro del evento Paint() del control gráfico donde deseas dibujar.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Camara termica o Scaner termico
« Respuesta #14 en: 17 de Agosto de 2013, 17:09:54 »
Gracias Bruno, al final lo he resuelto de otra manera.

Ahora me surge otra tarea que en un principio parece complicada (espero que no lo sea...), tengo que escalar el dibujo que va creando el escaner para que coincida con la imagen de la camara...

El problema está en que la distancia de cada paso del motor es diferente dependiendo de la distancia a la que se encuentre el objeto. A 20cm el paso es muy pequeño, pero a 2 m la distancia entre cada paso puede ser de 5 cm. Tengo que darle alguna vueltas a ver como resuelvo esto... Espero que no sea necesario añadir un medidor de distancia y que pueda resolverlo con algún algoritmo.

Primero voy a tratar de integrar una webcam en la misma caja del escaner para que el angulo de la imagen coincida con el de este y luego que el tamaño de las dos imagenes se correspondan.

Ya os contaré y pondré alguna imagen cuando quede medianamente decente.

saludos.
BitPIC