爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2615|回复: 2

FY4A AGRI L1真彩色图合成

[复制链接]

新浪微博达人勋

发表于 2023-2-17 11:03:39 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 MeteoInfo 于 2023-2-17 11:06 编辑

FY4A AGRI L1数据的前三个通道波长分别为470nm、650nm和830nm,分别可以大致对应可见光的蓝、绿、红通道,但波长并不在三色通道的最佳范围,直接合成为真彩色图色彩偏差较大。有一些文章探讨了如何改进真彩色图的合成,比如调整合成后图像红色通道部分(陈博洋等,2018),或者利用机器学习算法生成绿光波段数据(Xie et al., 2021)。这里给出一个利用MeteoInfoLab生成真彩色合成图的简单例子,读取三个波长的数据,经过简单的变换后利用imshow函数生成RGB彩色图,然后用imagelib包中的hsb_adjust函数对图像的色调、饱和度和亮度进行调整是图像看起来更美观。当然这只是一个很简单的处理过程,真彩色合成图像效果还有很大提升空间。

脚本程序:
  1. fn = 'D:/Temp/LaSW/airship/FY4A/FY4A-_AGRI--_N_DISK_1047E_L1-_FDI-_MULT_NOM_20221031060000_20221031061459_4000M_V0001.HDF'
  2. f = addfile(fn)

  3. B = f['NOMChannel01'][::-1]
  4. G = f['NOMChannel02'][::-1]
  5. R = f['NOMChannel03'][::-1]
  6. B = B / 4095.
  7. G = G / 4095.
  8. R = R / 4095.
  9. B[B>1] = nan
  10. G[G>1] = nan
  11. R[R>1] = nan
  12. R_G = R / G
  13. R = R * 0.8
  14. R1 = R.copy()

  15. C = R_G > 2
  16. R[C] = G
  17. G[C] = R1

  18. x = linspace(-5496000.0,5496000.0, 2748)
  19. y = linspace(-5496000.0,5496000.0, 2748)

  20. #Plot
  21. proj = projinfo(proj='geos', lon_0=104.7, height=35786000.0)
  22. figure()
  23. axesm(projection=proj, gridlabelloc='all', griddx=30,
  24.     griddy=30, gridline=True, frameon=False)
  25. geoshow('country', edgecolor='g')
  26. layer = imshow(x, y, [R,G,B], interpolation='bilinear', proj=proj)
  27. #Adjust image
  28. imagelib.hsb_adjust(layer, h=0, s=0.1, b=0.3)
  29. title('FY4A L1 true color image example')


fy4a_agri_l1_truecolor.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2023-3-8 09:54:12 | 显示全部楼层
王老师你好,我按照上面的代码绘制出了好几张风云4A的真彩图,但是都有一个特点,就是地球上显示的红色区域太多了,比如马来西亚周边区域、中国华北平原和中南沿海,这些区域理应是绿色,不过澳洲的颜色正常(均参照的国家局的风云4卫星网页)。请问一下代码中对三个波段做简单处理的原理是什么,4095、0.8、2等系数有何含义,如果希望达到国家局网站的颜色效果,应该从哪方面着手呢?
——一名刚接触气象GIS的程序员
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-3-9 20:57:33 | 显示全部楼层
cugjack 发表于 2023-3-8 09:54
王老师你好,我按照上面的代码绘制出了好几张风云4A的真彩图,但是都有一个特点,就是地球上显示的红色区域 ...

除以4095是为了让有效数值在0-1之间,其它参数可以参考一楼提到的第一篇文献。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表