利用Matlab生成卫星真彩色图像

利用Matlab生成卫星真彩色图像,matlab,colors,rgb,satellite-image,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) 在本例中,我

我正试图用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)'
辐射度是从0到400的真实值(应用了比例因子),因此我想我必须规范化RGB阵列(0-1或0-255)来创建图像

但是,自己进行标准化或者仅仅使用im2uint8并不能生成正确的图像

很可能我做的每件事都错了,因为我不熟悉颜色配置文件。在matlab中有没有一种方法可以直接使用CIE rgb组合(我想我是从上面的公式中得到的组合)来创建图像

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


谢谢

这会有帮助吗?不是真的,我认为我的主要问题是使用MATLAB表示CIE颜色配置文件,即使用CIE值创建RGB阵列。无论如何谢谢你!