当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于Linux的嵌入式红外热成像系统设计

系统结构设计
本系统通过红外焦平面阵列探测器将红外图像送入红外图像采集模块并完成模数转化,转化后的数字信号送入图像校正模块进行非均匀校正、测温和滤波处理,校正后的图像数据再送入图像显示终端,图像显示终端将图像信息进行灰度拉伸、伪彩变换后在终端进行显示,并可完成图像分析、图像存储等多种功能。本系统可应用于远程检测和移动监控等多个领域。系统总体方案如图1所示。

图1红外热成像系统框图

系统硬件设计
1 硬件结构
本文设计的红外成像系统的结构可分为红外镜头、信号预处理、数字信号处理、控制显示四大部分,系统硬件结构如图2所示。红外焦平面阵列探测器完成光电转化功能,信号预处理电路包括视频信号分离电路和视频信号调整电路,预处理后的模拟信号经高速A/D转化后由双口RAM送入DSP。由于DSP具有高速的处理能力,要求DSP能有效地与低速外设连接,否则整个系统的数据处理能力就会受到影响,因此需要把图像数据进行高速缓存。双口RAM具有两套独立的数据、地址和控制总线,因而可从两个端口同时读写而互不干扰,并且具有随机存取的优点,读写具有很大的灵活性。DSP完成红外图像数据的非均匀校正、中值滤波等大运算量处理,减轻ARM的运算负担,因此成像系统具有很强的可靠性和实时性。ARM-Linux完成灰度拉伸、伪彩变换、数据分析处理、红外图像显示及系统控制。

图2 红外热成像系统硬件框图


2 主要芯片介绍
ARM处理器体积小、内核耗电少、具有良好的图像处理能力。ARM处理器本身是32位设计,但也配备16位指令集。因此存储器比等价32位代码节省35%,同时保留了32位系统的所有优势。系统处理器采用的是三星公司基于ARM的ARM920T处理器核。本系统选用TI公司的TMS320C6000系列DSP。

系统软件设计
本文采用嵌入式ARM-Linux操作系统进行系统管理,在编译内核阶段加入了对红外探测器和LCD的支持,在ARM-Linux操作系统下实现红外成像系统应用程序,利用QT实现红外成像系统的界面控制及红外图像显示功能。


1 系统控制软件设计
系统控制程序控制着系统的初始化、参数配置、图像的采集、校正、分析、显示的全过程,其功能主要分为后台的控制和前台的界面及图像动态显示两大部分。显示终端发送命令后,系统开始初始化过程,设定图像采集模式,启动采集过程。接下来系统将连续查询图像采集控制寄存器的值,查询是否完成一幅图像的采集,如果没有完成,继续查询图像采集控制寄存器,直到查询到采集完成一幅图像,启动图像读取子程序,把图像数据送入到DSP中完成滤波及非均匀校正,校正后的图像数据送入到图像显示子程序中,根据用户指定的显示模式,将灰度图显示为伪彩图,并完成相关的分析处理。程序流程如图3所示。[!--empirenews.page--]

图3 红外热成像系统软件流程图


2 界面及图像显示程序
Qt是Trolhech公司推出的一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt具有完全面向对象的特点,很容易扩展,并且允许真正地组件编程。本程序共由QApplication、QWidget、QImageShow和QBmpSave、QtextRemark、QPain五大类组成,其中QimageShow、QBmpSave和QTextRemark是自定义的类。QApplication是QT程序必须有的一个类,每一个QT应用程序都要包含QApplication对象,QApplication管理应用程序各种各样的资源。QWidget类是所有用户界面对象的基类。QimageShow负责红外图像及温度的实时显示。

QbmpSave负责红外图像的存储,存储格式为16bitBMP格式。QtextRemark实现了注释文件的新建、打开、编辑等常用功能。


图像显示程序
采集图像数据为RGB24格式,几个重要函数如下:


fd=open(INFRARED_DEVICE,O_RDWR);//打开红外探头设备


pict.palette=VIDEO_PALETTE_RGB24;//设置图像格式


frames=(unsigned char *)mmap(0,mbuf.size,PROT_READPROT_WRITE,MAP_SHARED,fd,0);//通过内存映射获取图像数据


构建QimageShow图像表示类,再使用QPaint画图:


image=QimageShow(frames+ mbuf.offsets[frame],width,height,QImage::Format_RGB 888);
painter.drawImage(QRect ((width()-w)/2,(height()-h)/2,w,h),m_image,QRect(0,0,m_image.width(),m_image.height()));


温度动态显示程序
用ALPHA通道,使用半透明效果实现跟踪鼠标并输出对应点温度(point.x、point.y记录当前鼠标所指向坐标)。


Int Width,Hight;//定义显示框的高度和宽度Pixmap= QPixmap(100,50);//设定显示框大小


Pixmap.fill(QColor(255,255,  255,127));//设定温度显示效果为半透明效果


Painter.drawpixmap(point.x,point.y,pixmap)//跟踪鼠标显示出对应点温度


BMP位图保存程序
位图文件(Bitmap-File,BMP)可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它们的名称和符号如表1所示。


程序先建立存储文件,进行相应的文件信息设置,文件信息的设置要和所采集图像数据一致,否则不能正确显示结果,然后将信息保存到文件中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

经过几十年发展,嵌入式技术已经用在了我们生活中的方方面面,但是嵌入式始终都带有小众,专业性强的属性,让很多非嵌入式领域的同学望而却步。近十几年的发展,物联网覆盖了越来越多领域,包括了家居,商业,工业,农业等领域,不仅吸引...

关键字: 嵌入式 物联网 技术

随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通...

关键字: 嵌入式 物联网 计算机

最近看到APP上,给我推送了很多类似的回答,借此机会,也想着重新审视一下自己的学习历程,以及结合自身和大牛,分享一些学习经验,希望对大家有所启发和帮助。

关键字: APP 嵌入式 C语言

大家好,我是鲏。认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。所以从大学期间一直到现在,除了工作中的项目外,我依然保持着自己做项目的习惯,有坚...

关键字: 系统设计 技术选型 需求分析

万物智联时代,嵌入式技术及其应用的形态将更加丰富和多元,同时也将日益呈现深度物理融合、混合架构共存、群体智能协同、网络安全攸关等诸多新的计算特性。显然,经典的嵌入式系统体系结构、软硬件技术和开发方法都已很难应对新趋势下的...

关键字: 嵌入式 物联网 计算机

物联网是新一代信息技术的重要组成部分,是互联网与嵌入式系统发展到高级阶段的融合。通用计算机经历了从智慧平台到互联网的独立发展道路;嵌入式系统则经历了智慧物联到局域智慧物联的独立发展道路。

关键字: 嵌入式 物联网 计算机

今天,小编将在这篇文章中为大家带来工控主板的有关报道,通过阅读这篇文章,大家可以对工控主板具备清晰的认识,主要内容如下。

关键字: 工控主板 嵌入式 主板

随着工业4.0、医疗电子、智能家居、物流管理和电力控制等快速的发展和推进,嵌入式系统利用自身的技术特点,逐渐成为众多行业的标配产品。嵌入式系统具有可控制、可编程、成本低等,它在未来的工业和生活中有着广阔的应用前景。在现在...

关键字: 嵌入式 物联网 人工智能

长久来看,嵌入式只会越来越火,随着人工智能时代的发展,嵌入式必定又将迎来一次浪潮和技术的巨大变革。人工智能越是想要表达智能水平,就越要依靠嵌入式技术,嵌入式技术将朝着自动化控制和人机交互发展。嵌入式因其体积小、可靠性高、...

关键字: 嵌入式 物联网 人工智能

嵌入式软件技术到目前为止己经在很多领域起到了中流砥柱的作用,例如在电子消费、移动通讯方面,这种技术为我国的很多行业提供了更多的可能性。未来,嵌入式软件技术会为人类做出更大的贡献。伴随着计算机技术与电子技术的成熟发展,电子...

关键字: 嵌入式 软件 人工智能

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭