用python显示Lunar图像过程中的学习以及遇到的问题

看到这些卫星表面图像(@SegerYu),很是惊奇。于是学习如何获得该数据。

1、进入国家天文台https://moon.bao.ac.cn/ce5web/moonGisMap.search

注册账号——>获得图像资料

2、对文件进行解码(用Python打开嫦娥玉兔的科学数据 - 知乎工作台 - Heywhale.com

流程为:通过pds4_tools得到图像数据,通过demosaicing_CFA_Bayer_Menon2007对图像数据进行解码,通过线性拉伸将数据映射到显示器。

其中遇到的问题为exposure.rescale_intensity用法:

存在

这不正确!原因可能在于:数据的类型。于是:对数据进行定义

或者,对输出进行规定

3、显示效果

from pds4_tools import pds4_read

import matplotlib.pyplot as plt

import numpy as np

import cv2

import pandas as pd

from colour_demosaicing import (

    demosaicing_CFA_Bayer_bilinear,

    demosaicing_CFA_Bayer_Malvar2004,

    demosaicing_CFA_Bayer_Menon2007,

    mosaicing_CFA_Bayer)

import colour

from skimage import exposure

path = r'F:\lunar_ImageData\CE5-L_GRAS_PCAML-I-008_SCI_N_20201203054903_20201203054903_0004_A.2BL'

d = pds4_read(path, quiet=True)

fig, axes = plt.subplots(1,1,figsize=(10,10))

img = np.array(d[0].data)

img_t1=colour.cctf_encoding(demosaicing_CFA_Bayer_Menon2007(img,'RGGB'))

minvalue, maxvalue = np.percentile(img_t1, (1, 99))

img_t2= np.uint8(exposure.rescale_intensity(img_t1, in_range=(minvalue, maxvalue),out_range=(0, 255)))

cv2.namedWindow('img', 0)

cv2.imshow('img', img_t2)

cv2.waitKey(0)

cv2.destroyAllWindows()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值