Estoy trabajando con la cámara térmica FLIR y usando el código proporcionado por Pure Engineering. Recientemente tuve un problema con las imágenes proporcionadas por la cámara porque me di cuenta de que los píxeles son relativos entre sí. Lo que significa que el objeto más caliente de la imagen tendrá el color más claro independientemente del calor real del objeto.
Este es un problema importante para mí porque estoy tratando de determinar si alguien está en el objeto y no puedo hacerlo si los valores de los píxeles están cambiando en relación con la cantidad de calor en la imagen. Intenté mirar el código y descubrir cómo modificarlo para obtener los valores de calor reales.
¿Alguien aquí ha trabajado antes con FLIR y sabe cómo hacerlo? O puede intentar mirar el código y decirme qué podría cambiar para obtener valores de calor reales.
El código al que se vinculó es, al menos en parte, el culpable. Busca entre los valores recibidos y encuentra los valores máximo y mínimo. Luego escribe el rango (máximo-mínimo) en el archivo pgm para escalar y resta el mínimo de todos los valores.
Esto es necesario para que la imagen sea visible dentro del rango normal de valores para una imagen en escala de grises.
Puede obtener los valores originales de la matriz lepton_image. Esos no se han escalado en el código, por lo que deberían estar más directamente relacionados con la temperatura. La hoja de datos dice que el AGC está desactivado de forma predeterminada, por lo que puede esperar que los valores que reciba sean proporcionales a la temperatura (siempre que su código no active el AGC en alguna parte).
En un escaneo rápido a través de la hoja de datos , no veo cómo convertir el valor bruto a la temperatura. Debería obtener números entre -8192 y 8192 (14 bits con signo) Si la radiometría está desactivada, entonces 0 (cero) debería ser la misma temperatura que el sensor mismo. Puede pedirle al chip su temperatura y calcular a partir de ahí, si puede averiguar la escala.
Suponiendo que el rango de 14 bits cubre todo el rango de 0 a 400 grados Kelvin para el que está clasificado el Lepton, puede activar la radiometría y escalar de tal manera que -8192 sea cero Kelvin y 8192 sea 400 Kelvin y ver si eso coincide con las temperaturas esperadas: debería.
Más información: AGC significa "Control automático de ganancia". En este caso, se utiliza para reducir los valores digitalizados de 14 bits (-8192 a 8192) a un valor de 8 bits (0 a 255).
Necesitará el Documento de descripción de la interfaz del software Lepton para ver cómo activar (o desactivar) el AGC. Pero, según la hoja de datos del Lepton, el AGC está desactivado de forma predeterminada. Todo lo que necesita hacer es evaluar los números en lepton_array en el código que enumeró y buscar números por encima de cierto umbral. Tendrá que experimentar para ver qué umbral se necesita. También puede encontrar que el umbral tendrá que cambiar dependiendo de la temperatura ambiente; puede obtenerlo del Lepton usando el comando "SYS FPA Temperature Kelvin" (página 40 del Documento de descripción de la interfaz).
Este enlace me parece implicar que obtener temperaturas directas del Lepton no será fácil; parece que solo puede hacerlo si paga lo suficiente y firma un NDA.
http://www.flir.com/cvs/cores/knowledgebase/index.cfm?view=67336
Dicho esto, realmente no necesitas la temperatura real. Todo lo que necesita es apagar el AGC y no confundir las cosas con su propio código. Luego puede buscar temperaturas en algún umbral por encima de la temperatura del sensor.
Eugenio Sh.
usuario_1818839
CHendrix
Cuchara
Eugenio Sh.
usuario_1818839
Eugenio Sh.