RGB图转温度场图
mfileName = 'CalT.m';
imgPath = 'G:\2020-08-13\基值时刻\20-20\';%褰╄壊鍥惧儚璺緞
resultPath = 'G:\2020-08-13\温度图\20-20\';%瀛樺偍缁撴灉璺緞
if ~exist(resultPath,'dir')
mkdir(resultPath);
end
pImg = dir(strcat(imgPath,'*.tiff'));
for idx = 1:numel(pImg)
imgName = strcat(imgPath,pImg(idx).name);
img = imread(imgName);
CC = 0.014388*(1/546.1-1/700)*10^9;
CT = 5*log(546.1/700);
T = zeros(size(img,1),size(img,2));
imgR = double(img(:,:,1));
imgG = double(img(:,:,2));
idx1 = find(imgR <255 & imgR >20);
T(idx1) = 2275.7 ./ (log(imgR(idx1) ./ imgG(idx1)) + 0.7253);
%T(idx1) = CC ./ (log(imgR(idx1) ./ imgG(idx1)) -5*CT-0.0386.*(imgR(idx1) ./ imgG(idx1)).*(imgR(idx1) ./ imgG(idx1))+0.2378.*(imgR(idx1) ./ imgG(idx1))+1.4366);%娓╁害璁$畻鍏紡
%imshow(T,[]);
thresh=graythresh(T);
I1=im2bw(T,thresh);
I2=bwareaopen(I1,5000);
T=double(I2).*T;
idx2 = find(T > 2200 | T < 1500);%鍘婚櫎寮傚父鐐� T(idx2) = NaN;
%imshow(T,[]);
imwrite(uint16(T),strcat(resultPath,pImg(idx).name),'Compression','none');
end