LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Getting temperature from a thermal camera

I need to obtain information about the temperature of the image that the thermal camera provides me in real time. To do this, I would like to know the data matrix that the IMAQx block provides me after putting the image in U16 format.

 

I suspect that I have to shift the MSB by 8 bytes and add them to the LSB and later divide by 64 and reset 273 to obtain the temperature, but I don't know where to do this operation.

 

Someone help me! I attach the file so you can try to help me.

0 Kudos
Message 1 of 8
(344 Views)

We'll need the manual to the camera you are using as well.

0 Kudos
Message 2 of 8
(314 Views)

Hey yes I attach you the specifications of the camera, I'm using the Infiray P2 PRO Camera. I'll be so grateful if you can help me somehow.

0 Kudos
Message 3 of 8
(308 Views)

Based on how I read the manual, it appears to be only accessible by an Android phone.

 

The only way I see you getting temperature information is to take a screen capture of this in temperature mode or take a short video clip (which it supports), then extract the information using OCR which I have never used. I would have to defer to others on how to use that technology in LabVIEW.

0 Kudos
Message 4 of 8
(291 Views)

I think there has to be some way in which it is possible to show a real-time video with the exact temperatures from the program I shared before. I would like to know how the camera passes the image to the Labview program to see how the LSB and MSB are arranged, I don't know if you can help me with this. From there it would be to move one of the two 8 bytes and add them to the other and divide by 64 and subtract 273 I think.

 

If you know if anyone can help me more with this I would appreciate it, I'm stuck.

 

Than you 😞

0 Kudos
Message 5 of 8
(273 Views)

@DanielPulg wrote:

Hey yes I attach you the specifications of the camera, I'm using the Infiray P2 PRO Camera. I'll be so grateful if you can help me somehow.


That doesn't really say anything about the exact preferred image format it is using. From the application shown in that document it kind of looks like it might provide a color image but that is not sure. It could also provide just a grey scale image and the colorization is performed in the application to make it easier to interpret for the human eye.

 

From the SDK that can be downloaded from here, there seems to be an indication that the image format can either be YUYV or Y14. But it is only for Android and that is not my expertise, so not really sure if that is all there is.

 

YUYV is a combined format with color encoded image data and and Y14 is a 14 bit grey scale format that IMAQdx would map to an U16 image. My guess is that the image is just normal grey scale with the luminance Y corresponding to the (possibly gamma corrected) intensity of the infrared signal.

 

There also seems to be a Windows application that can access this camera with necessary drivers here. It is also from where I found above mentioned Android SDK. I suppose you need to install this application (or a similar one) to get the necessary drivers. How XInfrared relates to InfiRay I'm not sure but the hardware seems to be exactly the same.

 

Your explanation about MSB and LSB doesn't really make much sense in terms of IMAQdx. Neither does the Cast Image make a lot of sense, you create an U16 image and pass it to the IMAQ Grab function and should therefore have an U16 image already after the grab (or an error).  You then extract the U16 array with the Image to Array function, which is the U16 data already without any MSB and LSB shuffling necessary. How that U16 is scaled is of course the big question. For one it would seem that only 14 bits are likely relevant. This could be scaled to the minimum and maximum value the camera supports (-20 to 550 deg C) but it could also be related to deg K with the 0 value being 0 deg K and the resolution possibly being 0.1 deg K or something similar.

Rolf Kalbermatter
My Blog
0 Kudos
Message 6 of 8
(270 Views)

I understand that the image is given to me in the YUYV format, but there are two video modes. If you choose the other mode in the attributes, it takes you two images where one is in that format and the other is in another format (I don't know which one it is) but I think it gives you information about the temperature. Take a look at the VI to see if it is possible to somehow obtain the temperature... I would like to be able to find a solution without using drivers.

 

Thank you for replying 😊

 

0 Kudos
Message 7 of 8
(263 Views)

I am creating a Labview program where I can obtain the raw information from the camera in an array to be able to calculate the temperature values ​​from them, but the Array size it gives me is 1.1 MKbytes and it should be approximately 200 KBytes, since the resolution is 384x256 and x2 being 2 bytes, is there any way to obtain the raw data array from the camera and have it have approximately that size?

 

I attach the programm so maybe you can help me out, I'll appreciate it.

0 Kudos
Message 8 of 8
(153 Views)