How can i extract temperature information from a gray scale image?

2 views (last 30 days)
Hello, I have an image which was captured by a visible monochrome camera. I know to calculate the intensity values out of it. I want to know how to calculate temperature values using these intensity values. Is there any way out? Thank You

Accepted Answer

Image Analyst
Image Analyst on 9 Oct 2015
You'd need a thermal camera for that. They operate around 8000-12000 nm whereas visible light cameras use radiation in the range of 400-700 nm. You can't do it with a visible light camera. Fortunately you can get fairly cheap thermal cameras, like the FLIR One that snaps onto your iPhone or Samsung Android phone.
  2 Comments
Hassanen Osama
Hassanen Osama on 22 Sep 2016
I have FLIR one Gen 2 but I can't get the temperature values.The images stores as a jpg (640x480x3 uint8) with no temperature values. Please do you know how to get the temperature? I used exiftool , which take the Mix and extract the original image (640x480x3 uint8) and the raw values (320x240 uint16). However , the raw values re-scaled by a hidden factor. DO you have any suggestion. Thansks
Muhammad Haris
Muhammad Haris on 27 Sep 2016
Hello, Have you got any solution to it? I am stuck in the same issue.

Sign in to comment.

More Answers (2)

Thorsten
Thorsten on 9 Oct 2015
If the camera captures just visible light, you cannot compute temperature from it in general. Only in special cases where you image the light originating from something that can be treated as a black body radiator you can do so.

sia
sia on 12 Oct 2015
Thank you for your reply. I still have a doubt. If I have intensity values, I should be able to calculate the energy of the coming visible radiations, if not then what does the intensity values of the pixels signifies?
  3 Comments
Image Analyst
Image Analyst on 12 Oct 2015
The units are units of energy, ergs, though there may be a radiometric scaling factor. You have an irradiance hitting the pixel. The units of irradiance are ergs per cm^2 per second. You are integrating over a pixel which has an area in cm^2 for a certain length of time in seconds. So the units are ergs/(cm^2*sec) times (cm^2*sec) so you're left with just ergs. But it's not actual ergs - it's ergs times some scaling factor that gives you values in whatever digital range the camera gives it to you in. And those numbers probably represent temperature in degrees C or K. So it's figuring out what temperature of the scene would give you the number of ergs (or digital value) you're getting at that pixel, and giving you that temperature. Understand?
Walter Roberson
Walter Roberson on 12 Oct 2015
You have ergs hitting the sensor but the sensor is only sensitive to a range of frequencies and it is not equally sensitive across the range. If you are measuring something that is blue-hot or even ultraviolet and you are doing so with an near-IR sensor then you will not necessary catch much at all.
You need to think about whether you are examining a light source (flame is one kind of light source), in which case you might potentially be receiving a filtered band.
The alternative is that you might be measuring something closer to black body radiation: something like a human body absorbs and re-radiates a variety of frequencies so you tell temperature by looking for the spectral peak. Assuming, that is, that the spectral peak is within the range the sensors handle and assuming that you have at least two difference sensitivity ranges so you can distinguish the band (because 50 ergs at frequency #1 hitting a single sensor cannot be told apart from 50 ergs at frequency #2 if both are in the frequency range of the single sensor and are equally well detected.)

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!