新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Linux的嵌入式紅外熱成像系統設計

        基于Linux的嵌入式紅外熱成像系統設計

        作者: 時間:2010-04-06 來源:網絡 收藏

        圖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所示。


        程序先建立存儲文件,進行相應的文件信息設置,文件信息的設置要和所采集圖像數據一致,否則不能正確顯示結果,然后將信息保存到文件中。

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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 闵行区| 冕宁县| 南川市| 星座| 勐海县| 湘潭县| 科技| 滨海县| 桐梓县| 宣威市| 思茅市| 古浪县| 金昌市| 大邑县| 保亭| 泸水县| 波密县| 黄龙县| 东源县| 闸北区| 五峰| 渝北区| 庆云县| 邢台市| 四川省| 瓦房店市| 金溪县| 乌鲁木齐县| 苍山县| 微博| 明溪县| 科技| 崇左市| 台东市| 宜兴市| 兴山县| 华蓥市| 若羌县| 股票| 沙田区| 葵青区|