||
FY4A AGRI L1数据的前三个通道波长分别为470nm、650nm和830nm,分别可以大致对应可见光的蓝、绿、红通道,但波长并不在三色通道的最佳范围,直接合成为真彩色图色彩偏差较大。有一些文章探讨了如何改进真彩色图的合成,比如调整合成后图像红色通道部分(陈博洋等,2018),或者利用机器学习算法生成绿光波段数据(Xie et al., 2021)。这里给出一个利用MeteoInfoLab生成真彩色合成图的简单例子,读取三个波长的数据,经过简单的变换后利用imshow函数生成RGB彩色图,然后用imagelib包中的hsb_adjust函数对图像的色调、饱和度和亮度进行调整是图像看起来更美观。当然这只是一个很简单的处理过程,真彩色合成图像效果还有很大提升空间。
fn = 'D:/Temp/LaSW/airship/FY4A/FY4A-_AGRI--_N_DISK_1047E_L1-_FDI-_MULT_NOM_20221031060000_20221031061459_4000M_V0001.HDF'
f = addfile(fn)
B = f['NOMChannel01'][::-1]
G = f['NOMChannel02'][::-1]
R = f['NOMChannel03'][::-1]
B = B / 4095.
G = G / 4095.
R = R / 4095.
B[B>1] = nan
G[G>1] = nan
R[R>1] = nan
R_G = R / G
R = R * 0.8
R1 = R.copy()
C = R_G > 2
R[C] = G
G[C] = R1
x = linspace(-5496000.0,5496000.0, 2748)
y = linspace(-5496000.0,5496000.0, 2748)
#Plot
proj = projinfo(proj='geos', lon_0=104.7, height=35786000.0)
figure()
axesm(projection=proj, gridlabelloc='all', griddx=30,
griddy=30, gridline=True, frameon=False)
geoshow('coastline', color='g')
layer = imshow(x, y, [R,G,B], interpolation='bilinear', proj=proj)
#Adjust image
imagelib.hsb_adjust(layer, h=0, s=0.1, b=0.3)
title('FY4A L1 true color image example')
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-30 13:25
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社