2 个版本
0.1.2 | 2024 年 1 月 11 日 |
---|---|
0.1.1 | 2024 年 1 月 10 日 |
1747 在 开发工具 中
64KB
1.5K SLoC
flir_rs
用于处理 FLIR 摄像头热图像的库和工具。
概述
此软件包提供两种功能
-
从原始传感器值和环境参数(通常存储为图像中的元数据)计算温度。
-
从图像元数据解析参数和原始传感器值。支持解析带有 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]
工具
该软件包还提供了两个实用二进制文件
- stats:为一系列图像/JSON生成温度统计数据
- transform:为图像生成温度值 16 位单通道 TIFF 文件,值归一化以编码给定的温度范围。
依赖关系
~22–32MB
~305K SLoC