does the grayscale image always give the temperature value corresponding to thermal image?
Afficher commentaires plus anciens
does the grayscale image always give the temperature value corresponding to thermal image?
Réponse acceptée
Plus de réponses (2)
Walter Roberson
le 16 Juin 2021
Modifié(e) : Walter Roberson
le 16 Juin 2021
1 vote
No, not at all.
Consumer thermal cameras often use a color map in which increased temperature is not mapped to increase brightness.
For example, it is common for high temperature to be represented as bright red, and for blue to be comparatively cool, but the reality in temperature is that red is on the cooler side and that blue is on the hotter side. Infrared (red side) has less energy than ultra-violet (blue side), but humans do not see ultraviolet well. Humans are most receptive to Green, but you never see consumer cameras represent heat as bright green!
It is possible to create a color scale in which brightness increases across the scale. The parula color scale attempts to do that. But it is not what consumer cameras usually use.
Because of this, if you convert consumer thermal camera color images to grayscale, it is common not to be able to just take the luminance as being proportional to temperature; you usually have to use a non-linear mapping.
This is a topic I discussed in https://www.mathworks.com/matlabcentral/answers/848290-i-need-to-detect-temperature-from-thermal-image-without-converting-it-into-gray-scale#answer_717130 which you had replied to before, so I know you read it.
6 commentaires
RICHA SINGH
le 16 Juin 2021
RICHA SINGH
le 16 Juin 2021
Walter Roberson
le 18 Juin 2021
Attach Ir_girl.png so that we can run the code.
I suspect the code to detect the colorbar is broken.
RICHA SINGH
le 19 Juin 2021
Walter Roberson
le 19 Juin 2021
The code you are using expects the colorbar to be over to the left, but the image you are using has the colorbar to the right, over near column 1000.
Image Analyst
le 19 Juin 2021
The image you attached is not a valid PNG image, or at least MATLAB can't read it:
Error using imread>get_format_info (line 545)
Unable to determine the file format.
Error in imread/call_format_specific_reader (line 466)
fmt_s = get_format_info(fullname);
Error in imread (line 440)
[X, map] = call_format_specific_reader();
Error in test3 (line 25)
originalRGBImage = imread(fullFileName);
Please attach an image that MATLAB can read in.
RICHA SINGH
le 18 Juin 2021
0 votes
13 commentaires
Walter Roberson
le 18 Juin 2021
No, you cannot detect temperature in thermal images using image segmentation.
RICHA SINGH
le 19 Juin 2021
Image Analyst
le 19 Juin 2021
Why did you accept this answer?
RICHA SINGH
le 19 Juin 2021
Modifié(e) : Walter Roberson
le 21 Juin 2021
Walter Roberson
le 19 Juin 2021
range = [min, max]
RICHA SINGH
le 20 Juin 2021
Walter Roberson
le 20 Juin 2021
You are passing an rgb image to a function that is expecting a 2d label image.
You are not converting your rgb image into grayscale at any time.
Walter Roberson
le 20 Juin 2021
Note: doing image segmentation could potentially help you identify what portion of the image is the colormap.
RICHA SINGH
le 20 Juin 2021
Walter Roberson
le 20 Juin 2021
Modifié(e) : Walter Roberson
le 20 Juin 2021
I = imread('hotcoffee.tif');
whos I
Name Size Bytes Class Attributes
I 240x320 30720
Notice that I only has two dimensions. It is a grayscale image.
RICHA SINGH
le 20 Juin 2021
RICHA SINGH
le 20 Juin 2021
RICHA SINGH
le 20 Juin 2021
Catégories
En savoir plus sur Convert Image Type dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



