Clear Filters
Clear Filters

How to Detect the hottest spot in a thermal video

5 views (last 30 days)
Hello, I have a thermal video from a professional camera and how have to find the hottest point regarding temperature in this video. Would you please like to tell me how can I do this? I imported thermal image from this video and applied threshold it gives the values but after that it doesn't locate the hottest spot. Thanking you in anticipation.
Walter Roberson
Walter Roberson on 14 Dec 2016
Is the video greyscale data or is it color? If it is color then you need to know the temperature to color transformation that was applied.
Qazi  Arbab Ahmed
Qazi Arbab Ahmed on 15 Dec 2016
@David Barry Image for your information. Thanks

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 15 Dec 2016
Assuming the video is grayscale (hopefully) you can get each frame, then do
maxValue = max(thisFrame(:));
[rows, columns] = find(thisFrame == maxValue);
That will give you the row(s) and column(s) where the brightest value (max temperature) occurs. If it's a pseudocolored video, then you'd need the color map and scan your frame and for each pixel determine which index in the colormap does that color appear.
Özgür Uzunkaya
Özgür Uzunkaya on 12 May 2022
Can the code here be run with another tiff file or can I run it with an image with another tiff extension?
Image Analyst
Image Analyst on 12 May 2022
Sure. You just need to change the filename, and the location in your image where we need to crop the image and the colorbar.

Sign in to comment.

More Answers (2)

Behnaz Molaei
Behnaz Molaei on 22 Apr 2018
Edited: Behnaz Molaei on 22 Apr 2018
Dear Image Analyst
I have a thermal image that I have imported in MATLAB in CSV format and I need to choose places that I used (imrect) function and now I need to get the average temperature inside that ROI(Rectangular). Now when I run it, it gives me the same amount for all of the rectangular and it is not the average temperature. Would you please help me?
Walter Roberson
Walter Roberson on 22 Apr 2018
mean_inside_mask = sum(YourImageData(:) .* roimask(:)) ./ sum(roimask(:));
Image Analyst
Image Analyst on 22 Apr 2018

If the mask is binary, you can do:

meanTemperature = mean(temperatureImage(mask));

Sign in to comment.

Daniel Iyinomen
Daniel Iyinomen on 6 Jun 2018
Please how do I extract the hottest frame/image from a thermal video? I've been searching for the MATLAB code but haven't found any. I have a lot of thermal videos to process and manually searching the videos frame by frame usually makes my research work tedious. Please can anyone help me with the MATLAB code that can enable me to extract the exact hottest frame from a thermal video? Thank you in advance.
  1 Comment
Walter Roberson
Walter Roberson on 6 Jun 2018
How do you define the "hottest" frame? Is that the frame for which the sum of the heat is highest? Is the relationship between pixel value and heat linear?
Thermal images are often available as colorized rather than as raw data. If your images are already colorized then you have to start by transforming back from pixel color into heat value, and that is typically not a linear transformation.
Unfortunately, manufacturers' documentation on how color corresponds to temperature can be difficult to find, with some manufacturers refusing to say. In those circumstances it is necessary to start by calibrating the camera.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!