#image #thermal #flir

bin+lib flir_rs

处理 FLIR 摄像头的图像

2 个版本

0.1.2 2024 年 1 月 11 日
0.1.1 2024 年 1 月 10 日

1747开发工具

MIT 许可证

64KB
1.5K SLoC

flir_rs

Crates.io Rust license Documentation

用于处理 FLIR 摄像头热图像的库和工具。

概述

此软件包提供两种功能

  1. 从原始传感器值和环境参数(通常存储为图像中的元数据)计算温度。

  2. 从图像元数据解析参数和原始传感器值。支持解析带有 Flir 参数 FFF 编码的 R-JPEG,以及解析 ExifTool 生成的 JSON(来自 exiftool -b -j 的输出)。

 let path = "demo.jpg";
 let path = Path::new(path);
 let img = image::open(path).unwrap();
 let (width, height) = img.dimensions();
 let img = ThermalImage::try_from_rjpeg_path(path).unwrap();
 let settings = img.settings;
 let sensor_values = img.image.iter().map(|s| *s).collect::<Vec<_>>();
 let mut temp_vec = vec![vec![0.0; img_width]; img_height];
 for (i, val) in sensor_values.chunks(img_width).enumerate() {
     for (j, temp) in val.iter().enumerate() {
        // temp is sensor_value
         temp_vec[i][j] = *temp;
     }
 }
 for pos in &box_1_vec {
     let val = temp_vec[pos.1][pos.0];
     // 4.0 is object distance
     // new_temp is sensor_value to celcius
     let new_temp = settings.raw_to_temp(4.0, val);
     box_1_temp_vec.push(new_temp);
 }

有关更多信息,请参阅 [crate 文档][docs]

工具

该软件包还提供了两个实用二进制文件

  1. stats:为一系列图像/JSON生成温度统计数据
  2. transform:为图像生成温度值 16 位单通道 TIFF 文件,值归一化以编码给定的温度范围。

依赖关系

~22–32MB
~305K SLoC