does the grayscale image always give the temperature value corresponding to thermal image?
이전 댓글 표시
does the grayscale image always give the temperature value corresponding to thermal image?
채택된 답변
추가 답변 (2개)
Walter Roberson
2021년 6월 16일
편집: Walter Roberson
2021년 6월 16일
1 개 추천
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
RICHA SINGH
2021년 6월 16일
RICHA SINGH
2021년 6월 16일
Walter Roberson
2021년 6월 18일
Attach Ir_girl.png so that we can run the code.
I suspect the code to detect the colorbar is broken.
RICHA SINGH
2021년 6월 19일
Walter Roberson
2021년 6월 19일
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
2021년 6월 19일
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
2021년 6월 18일
0 개 추천
댓글 수: 13
Walter Roberson
2021년 6월 18일
No, you cannot detect temperature in thermal images using image segmentation.
RICHA SINGH
2021년 6월 19일
Image Analyst
2021년 6월 19일
Why did you accept this answer?
RICHA SINGH
2021년 6월 19일
편집: Walter Roberson
2021년 6월 21일
Walter Roberson
2021년 6월 19일
range = [min, max]
RICHA SINGH
2021년 6월 20일
Walter Roberson
2021년 6월 20일
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
2021년 6월 20일
Note: doing image segmentation could potentially help you identify what portion of the image is the colormap.
RICHA SINGH
2021년 6월 20일
Walter Roberson
2021년 6월 20일
편집: Walter Roberson
2021년 6월 20일
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
2021년 6월 20일
RICHA SINGH
2021년 6월 20일
RICHA SINGH
2021년 6월 20일
카테고리
도움말 센터 및 File Exchange에서 Convert Image Type에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



