我的NDVI false color image
NDVI< -1,+ 1>范围被假色LUT重新着色。
我需要从伪彩色像素图中提取NDVI索引数据。
如何制作MATLAB 访问&重建NDVI索引数据,该数据最终应该再次具有范围-1到1?
的值附注:
我只有MATLAB供我使用。
答案 0 :(得分:0)
取决于您的假色file-type
% DEPENDS ON YOUR FILE FORMAT _______________________________________
%
% MAY READ-IN .TIF/.
I = imread('False_coloured_(NDVI2RGB)_converted_SatIMAGE.tif');
% MIGHT NEED A MORE COMPLEX fileInput AS FROM MULTIBAND SOURCE
%
% = multibandread( ... );
%
% DEPENDS ON YOUR FILE FORMAT _______________________________________
在I
/ imread()
mutlibandread()
检查实际结构
[cLUT]
colourSpace反向转换 - >浮动NDVI-indexSpace 这听起来很简单,但如果没有cLUT
前向转换的正确先验知识,你必须猜测。
8位灰度图像的方式最简单(同时也必须小心)。
理论上,[0..250]的图像范围可以解映射,[0..250]在实践中(有时251表示水,或253表示填充,表示详情请仔细检查您的Image-vendor的文档,而不是让志愿者在这里阅读Wikipedia等)
[cLUT]
colourMap 您可以轻松浏览和检查Image RGB colourSpace值
falseColourRED = I(:,:,1);
falseColourGREEN = I(:,:,2);
falseColourBLUE = I(:,:,3);
目标是猜测反向翻译。
初步猜测从[RGB]移动 - > NDVI通过反向 - 映射到
linspace( -1.0, 1.0, nUniqueRgbClrTripletsFoundInTheIMAGE )
失败越多" wilder" /更多"异国情调"错误着色过程[cLUT]
colourMap在前向转换中,以强调某些特定的农业现象。
所以你需要知道使用的原始前向 - 转化[cLUT]
映射。
[cLUT]
colourMap差异
所以从上到下看,你希望在视觉上实现反向 - 转换问题
Vendor specific [cLUT]-Forward-conversion mapping NDVI-indexSpace->colorSpace ambiguity:
------------------------------------------------------------------------
[+1.0]->Red
[+1.0]->DarkBrown
[+1.0]->Violet
[+1.0]->DarkBlue
[+1.0]->DarkGreen
------------------------------------------------------------------------
colorSpace -> NDVI-indexSpace [cLUT]-Reverse-conversion ambiguity:
------------------------------------------------------------------------
[Red]->+1.0
[Red]->+0.8
...
..
.