我要做的是计算图像中选定区域的温度 我的代码:
M=imread('IR003609.BMP');
a = min(M(:)); % find the minimum temperature in the image
b = max(M(:)); % find the maximum temperature in the image
imshow(M,[a b]);
h = roipoly();
maskOfROI =h;
selectedValues = M(maskOfROI);
averageTemperature =mean(selectedValues)
maxTemperature = max(selectedValues)
minTemperature = min(selectedValues)
我的图像是选中的嘴巴区域 enter image description here
那么他对我的价值观是:
averageTemperature =
64.0393
maxTemperature =
uint8
255
minTemperature =
uint8
1
现在我的问题是,程序是否抛出正确的温度值(比较图像中显示的值)?或发射率是什么值? 如果它们是错误的价值观,我该如何解决呢? 请帮助
答案 0 :(得分:0)
我看到颜色条是HSV的色调,所以我建议您按照以下路线转换为温度:转换为HSV,使用第一层,然后重新缩放以适合31-39度。而且颜色似乎被翻转了,所以请将它们上下颠倒。
M = imread('jQLo5.jpg');
Mhsv = rgb2hsv(M);
maxTemp = 39;
minTemp = 31;
Mtemp = (1-Mhsv(:,:,1))*(maxTemp-minTemp)+minTemp;
figure;
imagesc(Mtemp)
colormap(flipud(hsv))
colorbar