How to Detect the hottest spot in a thermal video

3 visualizzazioni (ultimi 30 giorni)
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.
  3 Commenti
Walter Roberson
Walter Roberson il 14 Dic 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 il 15 Dic 2016
@David Barry Image for your information. Thanks

Accedi per commentare.

Risposta accettata

Image Analyst
Image Analyst il 15 Dic 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.
  11 Commenti
Özgür Uzunkaya
Özgür Uzunkaya il 12 Mag 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 il 12 Mag 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.

Accedi per commentare.

Più risposte (2)

Behnaz Molaei
Behnaz Molaei il 22 Apr 2018
Modificato: Behnaz Molaei il 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?
  2 Commenti
Walter Roberson
Walter Roberson il 22 Apr 2018
mean_inside_mask = sum(YourImageData(:) .* roimask(:)) ./ sum(roimask(:));
Image Analyst
Image Analyst il 22 Apr 2018

If the mask is binary, you can do:

meanTemperature = mean(temperatureImage(mask));

Accedi per commentare.


Daniel Iyinomen
Daniel Iyinomen il 6 Giu 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 Commento
Walter Roberson
Walter Roberson il 6 Giu 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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by