使用Matlab创建卫星真彩色图像

时间:2015-05-20 10:35:36

标签: matlab colors rgb satellite-image

我正在尝试使用matlab从卫星数据创建真彩色RBG图像,但我不知道该怎么做。

假彩色RGB图像很简单,只需使用正确的红色,绿色和蓝色通道即可实现

    RGB(:,:,1)=(ref16)'; %red - reflectance 1.6mic
    RGB(:,:,2)=(ref06)'; %green - reflectance 600nm
    RGB(:,:,3)=(ref05)'; %blue - reflectance 500nm
    image(RGB)

在这种情况下,我使用卫星频道的反射率,范围从0到1,所以我不需要修改原始数据

但是当我尝试绘制真彩色图像时,我遇到了很多麻烦。

根据文献,以下配置文件应该可以从MERIS Level-1b数据产品(我正在使用的数据)中获得良好的RGB图像。红色,绿色和蓝色组件的线性组合基于CIE 1931色彩空间的色彩匹配功能。

    RGB(:,:,1)=log(1.0+0.35*radiance_2+0.60*radiance_5+radiance_6+0.13*radiance_7)'
    RGB(:,:,2)=log(1.0+0.21*radiance_3+0.50*radiance_4+radiance_5+0.38*radiance_6)'
    RGB(:,:,3)=log(1.0+0.21*radiance_1+1.75*radiance_2+0.47*radiance_3+0.16*radiance_4)'

Radiance是从0到400的实际值(应用比例因子),所以我想我必须标准化RGB数组(0-1或0-255)来创建图像。

但是自己进行标准化或仅仅使用im2uint8并不会产生正确的图像。

我可能做错了,因为我不熟悉颜色配置文件。在matlab中有没有办法直接使用CIE rgb组合创建图像(我认为我从上面的公式得到的那个)?

有人在那里熟悉使用matlab和卫星数据的图像吗?

谢谢!

0 个答案:

没有答案