皇冠代理登2体育彩票店内装修 一块小小的免费PCB,就能让手机秒变热成像仪! 如故贼拉高清的那种! 皇冠体育 总开导资本也就100元傍边! 这不得围不雅一下! 一、开源形色 抛开了传统的热成像仪制作形式,使用可见光camera和热成像制作了一个双目手机热成像仪。像素:640x480。 当今,款式已全开源。 ——这个热成像仪的瞎想旨趣是什么?电路如何瞎想?软件如何瞎想?使用了什么算法和手段? 底下逐个进行分析! 二、款式功能杀青旨趣 2024欧洲杯决赛,德国国家队主力门将纳曼私人原因无法出战,只能...
一块小小的免费PCB,就能让手机秒变热成像仪!
如故贼拉高清的那种!
总开导资本也就100元傍边!
这不得围不雅一下!
一、开源形色
抛开了传统的热成像仪制作形式,使用可见光camera和热成像制作了一个双目手机热成像仪。像素:640x480。
当今,款式已全开源。
——这个热成像仪的瞎想旨趣是什么?电路如何瞎想?软件如何瞎想?使用了什么算法和手段?
底下逐个进行分析!
二、款式功能杀青旨趣
2024欧洲杯决赛,德国国家队主力门将纳曼私人原因无法出战,只能派出年轻后备门将顶替位置。然而这位年轻门将展现惊人能力,帮助大战中夺得。皇冠代理登2了解功能旨趣前应知:
热成像仪,为什么要瞎想成“双目”的?
可见光相机具有分辨率高、帧率高的特质。热成像传感器不错测量温度漫衍,关联词分辨率低、帧率低。
使用可见光图像来赔偿热成像图像,就不错达到热成像图——质料高、分辨率高的成果。
那具体的功能杀青是怎样的?底下就分析一下!
本款式全体功能框架图如下。
领先MCU通过I2C接口读取热成像传感器数据,通过USB接口授向USB Hub。
Camera通用免驱USB录像头,也接到USB Hub上头。
然后将Usb Hub和Android手机集中。
接着,Android手机的期骗层就会获得到两个传感器的数据。
通过一定算法进行交融,就能得到——分辨率较高、质料较好的热成像图!
这是滚水壶热量漫衍图:
这是白日公园的热量漫衍图:
这是夜间街谈的热量漫衍图:
想杀青这么的成果,软硬件该如何瞎想呢?
三、硬件瞎想旨趣
澳门金沙河赌场视听旨趣图
PCB图
本章会将旨趣图拆分为5部分,逐个评释一下。
1.MCU
MCU使用的是STM32F411CEU6,带USB FS,其带浮点运算单位可对热成像数据进行解算。
2.USB Hub
USB Hub使用的是SL2.1A,相沿USB HS,不错用于传输录像头数据。此处接了晶振,可不焊合。
Camera则通过焊合形式集中到CAM_DM/CAM_DP。
USB1是一个USB TypeC公头,用于集中办机。
3.热成像传感器
热成像传感器使用的是MLX90640。
皇冠客服飞机:@seo3687分辨率:32x24像素;I2C接口最高速度:1MHz。
4.电源
电源这里径直使用了一块LDO进行稳压,型号是ME6211。
这不错径直用低ESR的陶瓷电容进行输入输出的稳压。
5.其他
电源灯和测试LED电路:
调试SWD接口:
测试点,固件使用UART2四肢Debug串口:
日前,围绕金融机构特色服务、便民措施和服务承诺等话题,新华保险深圳分公司党总支副书记、副总经理(主持工作)梁启文接受了南都·湾财社记者专访,分享消保实践之道。
日前,围绕金融机构特色服务、便民措施和服务承诺等话题,太平财产保险有限公司深圳分公司(以下简称“太平财险深圳分公司”)党委书记、总经理许少武接受了南都·湾财社记者专访,分享实践之道。
完成了硬件部分的瞎想,我们再长远剖析一下,软件部分的核默算法是什么!
四、软件瞎想旨趣
软件部分,将要点分析——软件瞎想想路、Android APP瞎想、数据交融算法,这三个部分。
1.软件瞎想想路
开导环境使用STM32CubeIDE。
软件全体瞎想框架图如下:
通过I2C从mlx90640读取数据,进行打包,再使用USB发送读取到的数据。
整个这个词过程使用一个轮回即可。
皇冠代理登2其中mlx90640的温度测量范围是-40到300摄氏度。
值得刺眼的是:
温度测量范围需要保留两位少许,调度为整型为-4000到30000,也不错用16位整型掩盖,使用一个0x8000为肇始码,后续跟768个温度数据。
mlx90640官方也曾提供驱动,只需要杀青对应I2C的读写操作,即可通过API来读取传感器数据。
USB库由CubeIDE自动生成,径直调用USBCDC发送数据即可。
2.Android APP
Android端主要精致——数据读取、交融和泄露功能的杀青。
这里有两个USB成就:
一个是USB串口,用于传输热成像数据;一个是USB录像头,用于传输图像数据。
①软件框架
Camera和热成像传感器的数据读取齐有对应的库相沿。
由于两个库对数据的读取齐是用的异步回调的形式,因此这里遴荐双buffer缓存的机制
就以Camera为例,剖释一下数据读取的逻辑:
驱动化一个长度为2的部队。回调发生时,就新肯求一块buffer,然后将YUV数据拷贝到这块buffer中,再将这块buffer放入部队。
再起一个线程,不休从部队中读取数据,用于数据交融。
淌若线程读取太慢,回调发现部队也曾满,则从部队中取出一块buffer丢弃,然后再将新的buffer放入部队。
淌若回调一直不来,线程部队为空,则跳过下一次再读取。因为每一次回调齐会新肯求一块buffer,因此buffer不存在并提问题。
部队添加和删除探听的齐是吞并个数据结构,存在并提问题,操作时需要刺眼上锁。
如上所述,Camera有两个部队:
一个存放YUV数据;一个存放热成像数据。
体育彩票店内装修只通过一个线程来探听两个部队。两个部队齐罕有据时才取出,并进行数据交融。
由此我们得出,软件总体运行进程如下:
②Camera数据读取和预览
www.zavdu.comAndroid对录像头的相沿使用UVCAndroid。
该库基于saki4510t/UVCCamera开导,提供了更为直爽的接口。
③热成像数据读取和预览
热成像数据通过USBCDC传输,在Android端看到的是一个假造串口。
Android开导环境中,主要使用felHR85/UsbSerial提供假造串口的操作相沿,并在回调中将热成像数据放入部队中。
3.数据交融
上头提到过屡次“数据交融”。
那么,要如何获得数据,并进行交融呢?
①获得数据
使用一个线程即可获得数据。
这里瞻望可见光相机的帧率会比热成像帧率更高。
沙巴炸金花因此在恭候mYUVQueue部队罕有据时才会进行数据交融。
当 mThermalQueue 没罕有据时,则默许使用上一帧的数据。
诈骗②交融算法
这里录像头聚积的是可见光的图像,分辨率是640x480;
热成像聚积的是温度漫衍,分辨率是32x24。
交融算法的筹办是——通过参考可见光的图像,让热成像聚积的温度图像分辨率更高,领有更多的细节。
该算法基于一个假定:表情附进的像素,唐突率来自吞并个物体,对应的温度也应该附进。
该算法的进程如下:
将热成像温度的漫衍,通过线性插值扩大到640x480像素。
皇冠体育以现时像素点为中心,采选一个长宽为REF_LEN的方形区域。
假定现时camera像素的亮度值为v;方形区域中每个camera像素的亮度值为v_i;每个thermal像素的亮度值为t_i。谋略现时像素和参考区域每个像素的差值delta_v_i。
谋略统统矩阵,统统暗意每个像素的权重。
当delta_v_i >= 0时,k_i = 1 - delta_v_i / 255;当delta_v_i < 0时,k_i = 1 + delta_v_i / 255。
谋略计算值矩阵,暗意每个像素联系于现时像素温度的计算值,t_hat_i = k_i * t_i。
谋略计算值矩阵的平均值,即现时像素的温度计算值。
由以上算法可知,在参考值矩阵中,与现时像素值色度差值越小,对应的统统k_i也就越大,对应温度的计算值也就越大,对应的计算的温度也就越接近。
举个栗子。
使用如下两个图片进行腹地仿真。
第一张是camera拍的图片,第二张是热成像获得的经过插值放大后的温度漫衍图片。分辨率均为640x480。
当REF_LEN = 4时,交融落拓如下:
当REF_LEN = 7时,交融落拓如下:
可见,加入交融算法之后,蓝本插值放大的低频信息中,多出了一些高频细节。
色调映射
完成一个热成像仪的终末一步,便是将交融后的图像转为伪彩色,再按照YUV的形式映射到camera图像中。
最终成果如下:
因为色调映射的原因,蓝本热成像交融出的高频细节被消亡在海量的camera图像细节中,因此图像交融算法的成果并不彰着,后续可能会分为两种模式划分进行输出。
参考辛勤:
[1]https://oshwhub.com/colourfate/binocular_thermal_imager
— 完 —
嘉立创EDA·头条号
关怀我,看一手优质开源款式