新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Linux的嵌入式紅外熱成像系統(tǒng)設(shè)計(jì)

基于Linux的嵌入式紅外熱成像系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2010-04-06 來(lái)源:網(wǎng)絡(luò) 收藏

圖3 軟件流程圖


2 界面及圖像顯示程序
Qt是Trolhech公司推出的一個(gè)多平臺(tái)的C++圖形用戶界面應(yīng)用程序框架。它提供給應(yīng)用程序開(kāi)發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所用功能。Qt具有完全面向?qū)ο蟮奶攸c(diǎn),很容易擴(kuò)展,并且允許真正地組件編程。本程序共由QApplication、QWidget、QImageShow和QBmpSave、QtextRemark、QPain五大類組成,其中QimageShow、QBmpSave和QTextRemark是自定義的類。QApplication是QT程序必須有的一個(gè)類,每一個(gè)QT應(yīng)用程序都要包含QApplication對(duì)象,QApplication管理應(yīng)用程序各種各樣的資源。QWidget類是所有用戶界面對(duì)象的基類。QimageShow負(fù)責(zé)圖像及溫度的實(shí)時(shí)顯示。

QbmpSave負(fù)責(zé)圖像的存儲(chǔ),存儲(chǔ)格式為16bitBMP格式。QtextRemark實(shí)現(xiàn)了注釋文件的新建、打開(kāi)、編輯等常用功能。


圖像顯示程序
采集圖像數(shù)據(jù)為RGB24格式,幾個(gè)重要函數(shù)如下:


fd=open(INFRARED_DEVICE,O_RDWR);//打開(kāi)紅外探頭設(shè)備


pict.palette=VIDEO_PALETTE_RGB24;//設(shè)置圖像格式


frames=(unsigned char *)mmap(0,mbuf.size,PROT_READPROT_WRITE,MAP_SHARED,fd,0);//通過(guò)內(nèi)存映射獲取圖像數(shù)據(jù)


構(gòu)建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()));


溫度動(dòng)態(tài)顯示程序
用ALPHA通道,使用半透明效果實(shí)現(xiàn)跟蹤鼠標(biāo)并輸出對(duì)應(yīng)點(diǎn)溫度(point.x、point.y記錄當(dāng)前鼠標(biāo)所指向坐標(biāo))。


Int Width,Hight;//定義顯示框的高度和寬度Pixmap= QPixmap(100,50);//設(shè)定顯示框大小


Pixmap.fill(QColor(255,255, 255,127));//設(shè)定溫度顯示效果為半透明效果


Painter.drawpixmap(point.x,point.y,pixmap)//跟蹤鼠標(biāo)顯示出對(duì)應(yīng)點(diǎn)溫度


BMP位圖保存程序
位圖文件(Bitmap-File,BMP)可看成由4個(gè)部分組成:位圖文件頭(bitmap-file header)、位圖信息頭(bitmap-information header)、彩色表(color table)和定義位圖的字節(jié)陣列,它們的名稱和符號(hào)如表1所示。


程序先建立存儲(chǔ)文件,進(jìn)行相應(yīng)的文件信息設(shè)置,文件信息的設(shè)置要和所采集圖像數(shù)據(jù)一致,否則不能正確顯示結(jié)果,然后將信息保存到文件中。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉