红外热成像仪测温模块 阵列插值-由 32*24 像素到 512*384 像素

简介: MLX90640 的 32*24=768 像素虽然比以往的 8*8 或者 16*8 像素提高了很多,但若直接用这些像素还是不能很好的形成热像图,为了使用这些像素点平滑成像就需要对其进行插值,使用更多的像素来绘制图像。看了一些别人的算法,感觉主要就是多项式插值,仅是插值方法的组合方式不同。

红外热成像仪测温模块开发笔记(五)阵列插值-由 3224 像素到 512384 像素
红外成像仪效果图.png

MLX90640 的 3224=768 像素虽然比以往的 88 或者 16*8 像素提高了很多,但若直接用这些像素还是不能很好的形成热像图,为了使用这些像素点平滑成像就需要对其进行插值,使用更多的像素来绘制图像。
看了一些别人的算法,感觉主要就是多项式插值,仅是插值方法的组合方式不同。
算法依据
比较有代表性的是杭州电子科技大学杨风健等《基于 MLX90620 的低成本红外热成像系统设计》,使用三次多项式+双线性插值,将原 164 像素扩展为 25664 像素。双线性插值的本质就是一次函数(一次多项式)。该文章得到的结论是:
(1) 双线性插值法计算量小、速度快,但对比度低、细节模糊。
(2) 三次多项式插值,图像效果较清晰,对比度较高,但计算量较大。
(3) 先双线性插值再三次多项式插值,效果优于上两种单一插值方法。
(4) 先三次多项式插值再双线性插值,高低温分布更加明显,图像效果更接趋于真实。同时,该文章还使用了一种对图像质量的评估方法---熵&平均梯度
熵,热力学中表征物质状态的参量之一,用符号 S 表示,其物理意义是体系混乱程度的度量。用于图像评价表示图像表达信息量的多少。图像熵越高信息量越大。
平均梯度,指图像的边界或影线两侧附近灰度有明显差异,即灰度变化率大,这种变化率的大小可用来表示图像清晰度。它反映了图像微小细节反差变化的速率,即图像多维方向上密度变化的速率,表征图像的相对清晰程度。值越大表示图像越清晰。

插值实现
每行或者列的首个像素在前面插值 2 个点 1~n-1 像素,每个像素后面插值 3 个点最后一个像素,在后面插值 1 个点 n+2+(n-1)3+1=n+2+n3-13+1=4n+2-3+1=4n,即:像素变为原来的 4 倍 上面的处理方法,首个像素之前插入 2 个点,最后一个像素之后插入 1 个点,下次插值时,应首个之前插值 1 个点,末个像素之后插值 2 个点,以达到图像平衡。 每次插值后像素为插值前的 4 倍,经过两次插值,即可将 3224 改变为 512*384 像素。下面是已经实际使用的插值算法,不过是用 Pascal(Delphi)写的,有兴趣的可以改为C 语言的,语句对应直接改就行,语言本来就是相通的嘛。
红外成像仪安防生物识别 发热检测.jpeg

//这是一维数组插值算法
//SourceDatas:TDoubles;插值前的一维数组
//Dir:Integer;在哪个方向和末尾插入 2 个值(0:前面;1:末尾)
//times:Integer 多项式的项数,一次多项式是 2 项,二次多项式是 3 项
//返回值:插值后的一维数组(数量是插值前*4) function PolynomialInterpolationArr(
SourceDatas:TDoubles; Dir:Integer;
times:Integer):TDoubles;//一维数组插值
var

i,j,k:Integer; 
arrCount:Integer; 
相关文章
uni-app事件冒泡 如何解决事件冒泡 推荐tap事件
uni-app事件冒泡 如何解决事件冒泡 推荐tap事件
|
存储 关系型数据库 MySQL
云计算|OpenStack|社区版OpenStack安装部署文档(四 --- 镜像服务glance安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(四 --- 镜像服务glance安装部署---Rocky版)
442 0
|
8月前
|
存储 人工智能 Shell
PVE开源虚拟化常见配置
PVE开源虚拟化常见配置
839 12
PVE开源虚拟化常见配置
|
并行计算 Linux 异构计算
JAX 中文文档(一)(1)
JAX 中文文档(一)
1102 0
|
Linux Windows
Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x80370114Err
Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x80370114Err
4583 3
|
编解码 Linux Windows
FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr
在Windows环境下,为FFmpeg集成音频编解码库,包括libogg、libvorbis和opencore-amr,涉及下载源码、配置、编译和安装步骤。首先,安装libogg,通过配置、make和make install命令完成,并更新PKG_CONFIG_PATH。接着,安装libvorbis,同样配置、编译和安装,并修改pkgconfig文件。之后,安装opencore-amr。最后,重新配置并编译FFmpeg,启用ogg和amr支持,通过ffmpeg -version检查是否成功。整个过程需确保环境变量设置正确,并根据路径添加相应库。
469 1
FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr
|
前端开发 API Android开发
25. 【Android教程】列表控件 ListView
25. 【Android教程】列表控件 ListView
796 3
|
编译器 测试技术 API
JAX 中文文档(四)(4)
JAX 中文文档(四)
212 0
|
传感器
红外热成像仪 红外图像伪彩色编码
什么是红外成像伪彩编码 红外成像的最终目的是用图像来表现温度变化,并且可以通过颜色来区分出不同热量的物体轮廓和形状。那么,到底用什么颜色来表示什么温度呢?是否有什么标准规范呢?
红外热成像仪  红外图像伪彩色编码
|
Ubuntu Linux
荔枝派Zero(全志V3S)驱动开发之USB摄像头 1
荔枝派Zero(全志V3S)驱动开发之USB摄像头
519 0

热门文章

最新文章