Python高光谱图像可视化展示(imgvision 1.7.3)

光谱图像的可视化

高光谱图像具有较高的光谱维度,无法像RGB图像一样直接进行可视化。
imgvision库用于进行图像处理与质量评价。该库仅基于Numpy库进行编写,通过矩阵的方式对图像进行快速处理,包括不限于光谱图像的不同光源下颜色空间转换、RGB图像不同光源下的色空间转换、光谱图像余弦距离的监督聚类、图像的质量评价等。

安装imgvision 1.7.3

imgvision 通过pip直接进行安装:

pip install imgvision

相比较1.6.5,新版本重写架构,提升了光谱图像转换速度。此外还支持将光谱图像转换为NiKon D700 相机下的RGB图像。其他参数与函数使用方法未发生变化。

高光谱图像可视化

imgvision.spectra( )将进行快速的高光谱图像可视化。

import imgvision as iv
import numpy as np
import matplotlib.pyplot as plt
#导入高光谱图像
HSI = np.load('Hyperspectral_Image.npy')
print(HSI.shape)
#(512,512,31)  该光谱图像是 空间维度512×512,光谱维度31(400nm~700nm 10nm间隔)

#光谱图像的RGB显示	
	#创建转换器
convertor = iv.spectra()
	#RGB图像转换
RGB = convertor.space(HSI)
	# RGB图像显示
plt.imshow(RGB)
plt.show()

以上案例详细参数为,400nm~700nm 间隔10nm的高光谱图像在D65光源下AdobeRGB展示结果。如果需要对其他波段范围,其他间隔的高光谱图像,在不同光源下的不同颜色空间展示,下面的案例将详细阐述。以下案例将展示如何将一张任意波段范围以及波段间隔的高光谱图像转换至不同光源下不同颜色空间的影响操作

import imgvision as iv
import numpy as np
import matplotlib.pyplot as plt
#导入高光谱图像
HSI = np.load('Hyperspectral_Image2.npy')
print(HSI.shape)
#(225,246,87)  该光谱图像是 空间维度225×246,光谱维度87(370nm~800nm 间隔5nm)

#光谱图像的RGB显示	
	#创建转换器   illuminant='D50'表示D50下显示。支持光源包括A/B/C/D50~75,以及自定义光源
	#band 为波段参数,如370~800nm.间隔5nm 即 band = np.arange(370,805,5); 若370~702nm.间隔4nm 即 band = np.arange(370,706,4)
convertor = iv.spectra(illuminant='D50',band = np.arange(370,805,5))
	#RGB图像转换 若展示sRGB则space='srgb';若展示XYZ图像,则space='xyz';若展示NikonD700相机的显示结果,则space='nkd700'. 注意nkd700下的RGB未经过Gamma校正。
Image = convertor.space(HSI,space='srgb')
	# 图像显示
plt.imshow(Image)
plt.show()
  • 11
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
高光谱图像是指在大量连续的波段上获取的图像数据,每个波段都包含了物体的某种特征信息。在Matlab中,我们可以对高光谱图像进行可视化处理,以更好地理解和分析图像。 首先,我们需要读取高光谱图像数据,并将其转换为Matlab中的矩阵格式。可以使用imread函数读取常见的图像格式,如JPEG、PNG等。如果图像数据是以其他格式存储的,可以使用专门的函数进行读取和转换。 一般情况下,高光谱图像具有很高的维度,包含了数百个波段的数据。为了方便可视化处理,我们可以选择其中几个感兴趣的波段进行显示。可以通过索引操作或者使用image函数来选择并显示特定波段的图像。 在可视化处理过程中,我们还可以使用各种颜色映射函数来增强图像的表现力。Matlab提供了多种预定义的颜色映射函数,可以根据具体需求选择合适的颜色映射方式。可以使用colormap函数将颜色映射应用到图像上。 此外,我们还可以对图像进行一些增强操作,以提高图像的可视化效果。比如,可以对图像进行亮度、对比度的调整,或者进行直方图均衡化等操作。 除了单个波段的可视化,还可以通过将不同波段的数据合并成RGB图像来实现全景的高光谱图像可视化。可以使用cat函数将多个波段的图像数据连接起来,并通过image函数显示合并后的RGB图像。 综上所述,Matlab提供了丰富的工具和函数,可以进行高光谱图像可视化处理。通过选择合适的波段、颜色映射,以及进行图像增强等操作,可以更好地理解和分析高光谱图像
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曹栩珩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值