三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

热红外相机标定+红外图像温度反演+作物水分应力指数CWSI计算无人机热红外遥感→反演地表温度→评估植被干旱水分状况附matlab代码

热红外相机标定+红外图像温度反演+作物水分应力指数CWSI计算无人机热红外遥感→反演地表温度→评估植被干旱水分状况附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。

🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室

👇 关注我领取海量matlab电子书和数学建模资料

🍊个人信条:做科研,博学之、审问之、慎思之、明辨之、笃行之,是为:博学慎思,明辨笃行。

🔥 内容介绍

一、引言

植被的水分状况对其生长和健康至关重要,准确评估植被的干旱水分状况对于农业生产、生态保护等领域具有重要意义。无人机热红外遥感技术能够快速获取大面积植被的热红外图像,通过热红外相机标定、红外图像温度反演以及作物水分应力指数(CWSI)计算等一系列处理,可以有效反演地表温度,进而评估植被的干旱水分状况。

二、热红外相机标定

标定的重要性

热红外相机在测量物体表面温度时,其测量值会受到多种因素的影响,如相机自身的特性、环境条件等。为了获得准确的温度信息,需要对热红外相机进行标定,建立相机测量值与实际温度之间的准确关系。

标定方法

  1. 黑体标定法

    :这是一种常用的标定方法。使用多个不同温度的黑体作为标准温度源,黑体是一种理想化的辐射体,其发射率为 1,能够准确地发射出与温度相关的辐射能量。将热红外相机对准不同温度的黑体,记录相机对应的测量值。

⛳️ 运行结果

📣 部分代码

%% ref temps

temp_wet2 = 34;

temp_dry2 = 48.5;

temp_grass2 = 50;

temp_soil2 = 60;

%% lecture of tiff orthomosaic

orthomosaic_thermal = double(imread('parque1_undist.tif'));

orthomosaic_thermal = rot90(orthomosaic_thermal(:,:,1));

figure(1)

imagesc(orthomosaic_thermal)

xlabel({'$x$ [pixel]'},'Interpreter','latex', 'FontSize', 16,'FontWeight', 'bold')

ylabel({'$y$ [pixel]'},'Interpreter','latex', 'FontSize', 16,'FontWeight', 'bold')

colormap(bone)

colorbar

ylabel(colorbar,{'Pixel intensity'},'Interpreter', 'latex','FontSize',16)

%% temp. calibration

orthomosaic_thermal_temp = orthomosaic_thermal * 0.2518 + 12.44;

figure(1)

colormap spring

colorbar

imagesc(orthomosaic_thermal_temp)

xlabel({'$x$ [pixel]'},'Interpreter','latex', 'FontSize', 16,'FontWeight', 'bold')

ylabel({'$y$ [pixel]'},'Interpreter','latex', 'FontSize', 16,'FontWeight', 'bold')

colormap spring

colorbar

ylabel(colorbar,{'Temperature [$^\circ$]C'},'Interpreter', 'latex','FontSize',16)

%% VI computation

cwsi = (orthomosaic_thermal_temp - temp_wet2) / (temp_dry2 - temp_wet2);

figure(2)

imagesc(cwsi)

caxis([0 max(max(cwsi))])

%caxis([0 1])

colorbar

xlabel({'$x$ [pixel]'},'Interpreter','latex', 'FontSize', 16,'FontWeight', 'bold')

ylabel({'$y$ [pixel]'},'Interpreter','latex', 'FontSize', 16,'FontWeight', 'bold')

ylabel(colorbar,{'CWSI value'},'Interpreter', 'latex','FontSize',16)

colormap cool

🔗 参考文献

🍅更多免费数学建模和仿真教程关注领取

← 返回列表