imqqq111 2023-10-27 15:50 采纳率: 0%
浏览 313
已结题

大疆H20T热红外图像拼接方法

最近用到大疆的H20t热成像传感器,大疆智图重建出图不带温度信息,且只能拼接500张以下图片,现在需要一个解决方法,将大疆原始图片转换为TIF图片,再加上POS信息,在PIX4d里进行拼接,并含有温度信息。ChatGPT回答别来,酬劳可议~

  • 写回答

15条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-10-27 15:51
    关注
    获得0.45元问题酬金

    引自强大而免费的微信小程序:皆我百晓生

    方案:

    1. 将大疆原始图片转换为TIF格式:使用OpenCV库中的cv2.imread()和cv2.imwrite()函数读取和保存图片,将原始图片转换为TIF格式。

    2. 添加POS信息:POS信息是位置和方向信息,可以使用大疆的FlightDataRecord文件或者相机GPS信息作为参考来添加POS信息。可以使用exiftool库来读取和写入图片的元数据信息,其中GPS信息可以通过解析GPS定位数据来获取。

    3. 拼接图片:使用PIX4D软件进行图像拼接,可以直接将转换为TIF格式且包含POS信息的图片导入到PIX4D软件中进行拼接操作。

    4. 添加温度信息:在PIX4D中进行拼接操作后,可以在输出结果中添加温度信息。可以使用Python编写脚本来处理PIX4D的输出结果图片,并在图片中添加温度信息。

    参考代码:

    import cv2
    import exiftool
    
    def convert_to_tif(input_image, output_image):
        image = cv2.imread(input_image)
        cv2.imwrite(output_image, image)
    
    def add_pos_info(image, pos_info):
        with exiftool.ExifTool() as et:
            metadata = et.get_metadata(image)
            metadata["GPSLatitude"] = pos_info["latitude"]
            metadata["GPSLongitude"] = pos_info["longitude"]
            metadata["GPSAltitude"] = pos_info["altitude"]
            et.write_metadata(image, metadata)
    
    # 调用示例
    # 转换为TIF格式
    convert_to_tif("input.jpg", "output.tif")
    
    # 添加POS信息
    pos_info = {
        "latitude": 12.3456,
        "longitude": 78.9012,
        "altitude": 100.0
    }
    add_pos_info("output.tif", pos_info)
    

    上述代码使用cv2.imread()函数读取原始图片,并使用cv2.imwrite()函数保存为TIF格式。然后使用exiftool库读取和写入图片的元数据信息,通过修改GPS信息来添加POS信息。

    请根据实际情况进行参数的调整和细节的处理。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 修改了问题 10月27日
  • 创建了问题 10月27日