FLIR是一个库,用于从完全用Python编写的FLIR图像中提取热数据,而不依赖ExifTool。
flyr的Python项目详细描述
传单
FLIR是一个库,用于从完全用Python编写的FLIR图像中提取热数据,而不依赖ExifTool。在
其他解决方案是围绕ExifTool的包装器来实际执行提取热数据的困难部分。FLIR是ExifTool的FLIR解析器的重新实现。实际上,这有以下好处:
- 更快的解码,因为不需要启动新的进程,并且内存中的数据不需要与此另一个进程通信
- 更准确,因为Flyr使用所有元数据将原始值转换为Kelvin,而其他项目则有一组硬编码。差异通常约为0.1°C,但可能高达0.6°C。此外,ExifTool对某些值进行舍入,而Flyr使用元数据中的未取整值。唯一的开始是在小数点后6位左右,所以它是否重要还有待讨论。在
- 由于
flyr.py
不是外部可执行文件,因此安装和部署更简单、更健壮 - 可以说更简单的用法:不需要创建多余的提取对象;只需调用
thermal = flyr.unpack(flir_file_path)
并完成
安装
Flyr可从PyPi:pip install flyr
安装。在
或者,下载传单.py并包含在源代码树中。在
Flyr依赖于三个外部包,都可以通过pip安装:pip install numpy nptyping pillow
。Pillow将嵌入式图像转换为numpy数组,nptyping允许高质量的数组类型注释。Numpy提供了包含热和光学数据所需的n维阵列。在
使用
在文件路径上调用flyr.unpack
,接收一个带有热数据的numpy数组。或者,首先以二进制模式打开文件进行读取,然后将文件句柄传递给flyr.unpack
。在
importflyr# Thermograms can be read directly from a file, or from a bytes stream, using# the `unpack()` function.flir_path="/path/to/FLIR9121.jpg"thermogram=flyr.unpack(flir_path)# Reading directlywithopen(flir_path,"rb")asflir_handle:# In binary mode!thermogram=flyr.unpack(flir_handle)# Reading from file handle# Temperatures available in Kelvin and in Celsiusthermal=thermogram.celsiusthermal=thermogram.kelvin# Optical image availabe toooptical=thermogram.optical# Thermogram can also be rendered using different strategies. The `render`# function has default value that can be overridden to configure it.render=thermogram.render(min_v=5.0,max_v=20.0,mode="minmax",palette="grayscale")render=thermogram.render(min_v=0.4,max_v=0.99,mode="percentiles",palette="jet")# There is also a convenience function that returns a Pillow `Image` object,# taking the same arguments as `render()`.render=thermogram.render_pil()
状态
目前,此库已经过测试,可用于:
- 第4页
- 第5页
- FLIR E6
- FLIR E8
- FLIR E8XT
- FLIR E53
- FLIR P60(PAL)
- FLIR E75
- FLIR T630SC
- FLIR T660
但是,该库仍处于早期阶段,缺乏对不一致文件的可靠处理。当它遇到这样的图像时,它会立即放弃引发ValueError,同时它也可以尽最大努力尝试提取。这是有计划的。在
相机有时能用也不能用:
- FLIR ThermaCAM P640
- FLIR ThermaCAM P660 West(通常不这样做)
发现摄像头无法工作(尚未):
- FLIR E60BX
- FLIR热电偶B400
- FLIR ThermaCAM SC640
- FLIR ThermaCam SC660 WES公司
- FLIR ThermaCAM T-400
- FLIR S60 NTSC
- FLIR SC620西部
- FLIR T400(西部)
- FLIR T640
- FLIR P660
贡献
欢迎拉取请求。对于重大变化,请先打开一个问题,讨论您希望更改的内容。大多数的帮助是目前需要支持更多的模型和测试更多的图片。建议测试和开发您自己的相机图像或FLIR工具的样品。在
致谢
如果没有ExifTool的努力documentFLIR格式,这段代码就不可能实现。 Previous work在Python中必须 也因为创造了一个可行的解决方案而受到认可。在
许可证
Flyer根据欧盟公共许可证1.2获得许可。英语版本包含在许可证文件中。在EUPL网站上可以找到所有欧盟语言的翻译,每种语言都完全合法有效。在
- 项目
标签: