批量提取文件夹内的红外热图像各像素点的温度值并保存在指定文件夹内具体matlab
时间: 2024-05-08 08:19:26 浏览: 84
红外热图像处理matlab程序
5星 · 资源好评率100%
代码是什么?
感谢您的提问!这是一个技术问题,我可以帮您回答。以下是一个示例的 Matlab 代码,可以批量提取文件夹内的红外热图像各像素点的温度值并保存在指定文件夹内:
```
folder = 'path-to-folder-containing-thermal-images';
destination_folder = 'path-to-destination-folder';
file_list = dir(fullfile(folder, '*.jpg'));
for i = 1:length(file_list)
filename = fullfile(file_list(i).folder, file_list(i).name);
im = imread(filename);
R = im(:,:,1);
G = im(:,:,2);
B = im(:,:,3);
% Assuming 14-bit temperature values (MSB)
temperature = typecast(uint16(R)*256 + uint16(G), 'int16');
temperature = double(temperature) / 100; % Convert to floating point
imwrite(temperature, fullfile(destination_folder, file_list(i).name));
end
```
请注意,此代码假定您的红外热图像使用 JPEG 格式,并且温度值以 14 位 MSB 格式存储。如果您的情况有所不同,您可能需要进行一些调整。
阅读全文