高光谱图像可视化增强matlab和python

该文提供了用于高光谱图像可视化的MATLAB和Python函数,包括rsshow_bandwise和normalize函数,用于对图像的每个波段进行数据缩放和归一化处理,以增强视觉效果。通过对图像像素值的上下限设定并线性变换,确保了图像数据在显示时具有更好的对比度和可读性。
摘要由CSDN通过智能技术生成

高光谱图像可视化 视觉增强matlab函数

function I=rsshow_bandwise(I, scale)
    if nargin==1
        scale=0.005;
    end
    I = double(I);
    for i = 1:size(I,3)
        band = I(:,:,i);
        q = quantile(band(:),[scale, 1-scale]);
        [low, high] = deal(q(1),q(2));
        band(band>high) = high;
        band(band<low) = low;
        band = (band-low)/(high-low);
        I(:,:,i)=band;
    end
end

function I = normalize(I)
    low = min(I(:));
    high = max(I(:));
    I = (I - low) / (high - low);
end

高光谱图像可视化 视觉增强python函数

def rsshow_bandwise(I, scale=0.005):
    num_band = I.shape[-1]
    I = I.astype(np.double)
    for i in range(num_band):
        band = I[:,:,i]
        low, high = np.quantile(band, [scale, 1-scale])
        band[band > high] = high
        band[band < low] = low
        band = (band-low)/(high-low)
        I[:, :, i] = band
    return I

def rsshow(I, scale=0.005):
    low, high = np.quantile(I, [scale, 1-scale])
    I[I > high] = high
    I[I < low] = low
    I = (I-low)/(high-low)
    return I

def normalize(I):
    low, high = I.min(), I.max()
    I = (I - low) / (high - low)
    return I
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值