?

基于Android的物聯網網關圖像處理系統的設計

2022-05-25 15:46王翰釗李秀麗
電視技術 2022年4期
關鍵詞:功能測試解碼器內核

王翰釗,李秀麗

(河南測繪職業學院,河南 鄭州 450000)

0 引 言

隨著計算機技術與互聯網技術的普及,圖像處理已經成為熱門的研究話題。目前借助計算機技術或數字技術能夠得到模擬信號,完成圖像信息的基礎處理和轉化。但是在計算機快速發展過程中,難以滿足圖像處理的更高要求?;诖?,本文將物聯網技術與圖像處理技術相融合,設計基于Android的物聯網網關圖像處理系統。

1 圖像處理系統設計方案

1.1 硬件設計

系統硬件設計中,攝像頭和視頻解碼器是圖像采集模塊的主要組成部分。解碼器主要是對成功獲取的圖像信號進行解碼,并將解碼后的數字視頻流上傳至核心處理器,在核心處理器中完成圖像的處理。嵌入式處理器由CPU演變而來,主要負責圖像處理系統的運算和控制,具備較強的儲存保護、中斷處理能力,能夠充分滿足用戶的需求。本研究選用TCC8801核心處理器,集成了高速緩存和圖形處理單元(Graphics Processing Unit,GPU)、圖像信號處理器(Image Signal Processor,ISP)等硬件,支持多媒體功能、全高清視頻編解碼、3D圖像處理等功能,在圖像處理系統中較為適用。此外,本次系統設計選用TVP5150款視頻解碼器,其功能框架如 圖1所示。

圖1 TVP5150視頻解碼器功能框架

1.2 軟件設計

圖2為圖像處理系統的軟件設計框架。

圖2 圖像處理系統的軟件設計框架

根據圖2,App主要通過Binder機制與Frame work建立通信。在初始化狀態,通過Camera Service開啟守護進程,為上層應用提供接口。Frame work通過回調函數與Camera HAL傳遞數據,其中Camera HAL通過V4L2架構中的函數與攝像頭驅動實現數據傳遞。

1.3 系統開發環境

Android系統以Linux為建立基礎,運行中需要重新編譯類庫函數文件和驅動程序文件。首先完成虛擬機的安裝,并將鏡像文件安裝在虛擬機的操作系統中;其次構建交叉編譯環境,并將內核移植其中;最后確定根文件的移植,完成系統開發環境的構建。

1.3.1 虛擬機安裝

虛擬機主要是為客戶端操作系統提供支持,通過分享目錄的構建實現無縫視窗模式和虛擬硬盤快照。首先下載最新版本的虛擬機安裝壓縮文件并完成安裝和啟動,進入主界面執行新建虛擬電腦操作并輸入新的名稱。一般新建虛擬電腦要有唯一的名稱標識,以此來區分虛擬電腦的硬件配置、系統、軟件、數據等。其次根據系統硬件自行設定分配內存大小,并選擇新的虛擬硬盤,明確磁盤的性質。最后選擇虛擬機在本地硬盤中的位置及大小確定創建,結果顯示虛擬機創建成功[1]。

1.3.2 系統環境的創建

Linux系統的構建是在虛擬機安裝之后,本次設計中搭建Ubuntu Linux系統。Ubuntu Linux系統可以在計算機或服務器中單獨安裝,也可以與Windows系統共同安裝到同一臺計算機上。如果要在計算機上同時安裝Ubuntu Linux和Windows,那么需要先安裝Windows系統,否則Ubuntu Linux將無法啟動。此外,在Windows安裝過程中需要為Ubuntu Linux系統預留足夠的硬盤空間[2]。

1.3.3 交叉編譯環境的創建

交叉編譯是指在一種環境中編譯出代碼,使其在另一種環境中也適用。具體來說,在一個平臺上生成另一個平臺可以執行的代碼。一般交叉編譯環境的創建需要借助二進制代碼,通過識別和執行功能對高級計算機語言代碼進行編譯。在本次設計中,由于內核文件的配置不同,因此需要對內核文件創建交叉編譯環境。

交叉編譯環境創建步驟包括:在系統中建立交叉編譯器的安裝目錄;將下載好的交叉編譯器源碼包解壓到目錄中;完成解壓后修改文件中的環境變量,加入交叉編譯器所在路徑;配置文件更新;編寫簡單測試程序,生成可執行文件復制到掛載目錄下,交叉編譯環境成功建立。

1.3.4 內核移植

在嵌入式系統中,Linux內核需要加載引導程序才能夠運行。在本次設計中選用Little Kernel,其具備代碼量小、可維護性高以及運行速度快等優點,被廣泛應用在各類智能終端開發中[3]。

1.3.5 根文件系統的移植

根文件系統是存儲器上一種特定的嵌入式文件系統,在儲存容量較大的設備上較為適用,主要優勢為速度快、占用內存少。通過分割的方式將文件切割成大小一樣的數據塊,并對數據塊進行存儲。數據塊頭主要負責文件系統的校驗碼與組織信息,并監測出現錯誤的數據塊。在文件系統使用時,其信息會自動儲存。由于Linux屬于開源操作系統,因此需要移植最新的Linux內核版本,獲取內核源代碼。

2 系統架構分析

本次系統設計利用TCC8801處理器、解碼器和攝像頭來完成對圖像的采集和處理等操作[4]。由處理器提供接口,利用內部控制寄存器對傳感器的色調和飽和度進行調節。當雙向數據線和時鐘線都處在高電平信號位置時,總線通過SDA向12C設備發送數據[5]??偩€控制器負責發送信號,信號共8位,最后一位表示數據傳輸的方式,前7位皆為設備的位置。當數據最后一位為0時,表示數據可以正常發送;當數據最后一位為1時,表示控制器已經接收到設備發送來的數據。設備可以持續發送相關的信號,最后由12C設備發出停止的信號,終止數據傳輸過程。完成視頻解碼器驅動設計后,需要將圖像信息上傳至處理器[6]。根據數據手冊,通過Camera模塊將圖像信息傳送到TCC8801處理器中,之后利用圖像處理模塊對圖像模擬數據進行處理,顯示圖片并完成存儲。

選用V4L2架構,利用統一函數完成視頻設備的識別和操作,為其驅動提供編程結構。在視頻系統開發中,V4L2架構起著較為關鍵的作用。V4L2架構為Linux系統提供編程接口,在應用層獲取視頻數據流的過程中通過接口驅動程序完成交互。通過V4L2架構提供的標準接口,促使程序環境保持在穩定狀態。在V4L2架構驅動的過程中,利用接口函數完成變量的傳遞并向程序發送命令,以此實現相應的處理功能。

3 圖像處理系統調式與功能測試

圖像處理系統設計完成后,需要對其進行功能測試。為了驗證系統設計的完整性和可靠性,對Android下的物聯網網關圖像處理系統進行功能測試,主要包含Android系統ROM的燒寫、物聯網網關開機功能測試以及圖像處理系統功能測試等[7]。以Android系統ROM(即Android系統鏡像)的燒寫為例,包含多方面內容。首先利用工具實現系統的重新安裝,對Android ROM中的數據利用內核編譯之后再在設備中進行燒寫。一般來說,燒寫系統僅具備讀出的功能,并不能進行修改和刪除。其次使用FWDNv7燒寫Android系統ROM。重新編譯修改和移植后的驅動程序文件和類庫文件,在物聯網網關設備中完成燒寫,對系統功能進行檢測。最后將Android系統ROM按照相關的流程步驟燒寫到物聯網網關中。

經過加電開機由USB連接開發PC機端→安裝編譯程序完成文件→在網關應用程序面板選擇“相機”→點擊圓形拍照按鈕→采集預覽圖像并儲存的過程,成功實現了圖片的采集和處理,驗證了所設計系統的可行性。

4 結 語

經過不斷調試和測試,基于Android的物聯網網關圖像處理系統可靠性較高,功能較為完善,最終實現了既定目標。但是本設計還存在部分問題需要解決,例如圖像的清晰度還需要進一步提升等。未來將以提高圖像信號處理的分辨率作為研究重點,以此不斷優化完善圖像處理系統。

猜你喜歡
功能測試解碼器內核
多內核操作系統綜述①
某內花鍵等速傳動軸八功能測試夾具設計
科學解碼器(一)
強化『高新』內核 打造農業『硅谷』
活化非遺文化 承啟設計內核
科學解碼器(二)
科學解碼器(三)
線圣AudioQuest 發布第三代Dragonfly Cobalt藍蜻蜓解碼器
微軟發布新Edge瀏覽器預覽版下載換裝Chrome內核
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合