Evilxs 2023-03-07 09:32 采纳率: 100%
浏览 74
已结题

ENVI实现热成像与可见光图像融合

img


温度点生成的图像与可见光配准是不是可以理解为拍的热成像与可见光的配准
在ENVI里波段叠加和图像融合怎么实现以及生成带温度值的灰度图像

  • 写回答

6条回答 默认 最新

  • 极客智能体-在线 2023-03-07 18:27
    关注

    以下答案由GPT-3.5大模型与博主波罗歌共同编写:
    热成像与可见光图像融合温度点生成的图像与可见光配准在ENVI中一般可以通过以下步骤实现:

    1. 将热成像图像和可见光图像导入ENVI软件中,并进行配准。一般可使用ENVI中的图像配准工具实现。配准后,两个图像可以经过坐标变换实现重合。

    2. 对热成像图像进行温度点生成,即根据热成像图像中每个像素的温度值,在对应的位置生成一个灰度值与温度呈线性关系的灰度点,并将其添加到热成像图像中。

    3. 将热成像图像和可见光图像进行波段叠加,可以实现两幅图像的有机融合。ENVI中提供了多种波段叠加方法,如简单加权平均法,比例混合法等。

    4. 对波段叠加后的图像进行温度色彩表设定,可以生成带温度值的灰度图像。ENVI中提供了多种色彩表,如自定义色彩表,渐变色彩表等。

    下面是可能的Python代码实现:

    from spectral import *
    import numpy as np
    
    # 导入热成像和可见光图像
    thermal_image = envi.open('thermal_image.hdr', 'thermal_image.raw')
    visible_image = envi.open('visible_image.hdr', 'visible_image.raw')
    
    # 图像配准
    thermal_image = thermal_image[visible_image.geo].astype(np.float32)
    
    # 获取温度点坐标和温度值
    thermal_data = thermal_image.load()
    temp_points = []
    for i in range(thermal_image.shape[0]):
        for j in range(thermal_image.shape[1]):
            temp = thermal_data[i, j]
            if temp != 0:
                temp_points.append([i, j, temp])
    
    # 在热成像图像中添加温度点
    for point in temp_points:
        i, j, temp = point
        thermal_data[int(i), int(j)] = temp
    
    # 波段叠加
    merged_image = thermal_image + visible_image
    
    # 温度色彩表设定
    merged_image.set_display_mode('overlay')
    merged_image.set_colormap_colors(['black', 'red', 'yellow', 'white'])
    merged_image.set_colormap_range(0, 100)
    
    # 显示图像
    view = imshow(merged_image)
    

    这段代码实现了热成像图像和可见光图像的配准,温度点的生成,波段叠加和温度色彩表设定,并通过spectral库的imshow函数显示出生成的灰度图像。其中,'thermal_image.hdr'和'visible_image.hdr'是ENVI格式的图像文件,代码中读入并进行相应的处理。波段叠加和温度色彩表设定则可以通过设置ENVI对象的属性实现。
    如果我的回答解决了您的问题,请采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月7日

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备