嵌入式系統設計

2022-12-03 23:51:06 字數 4078 閱讀 3015

課程學習**

題目:基於arm嵌入式影象處理系統設計與實現

院系: 資訊工程與自動化學院

專業: 模式識別與智慧型系統

學生姓名

學號指導老師

2023年08月10日

摘要本文主要設計了一種基於arm的可攜式影象採集處理系統。該系統以arm7(s3c44box)為核心,配上外圍電路以實現影象處理功能,並結合多種通訊介面設計的影象傳輸通道,然後用sd卡介面提取影象資料,最後基於uc/os-ⅱ嵌入式作業系統完成影象處理過程,主要實現了影象增強、影象分割和目標定個位的功能。結果表明該系統能夠很好地解決**處理功能的實時問題,影象處理的準確率滿足了過程檢測系統的要求,實現簡單,成本比較低,特別適合對於功耗、體積要求較嚴格的過程檢測系統。

關鍵詞:arm;影象處理系統;影象增強;目標定位

目錄1 緒論 1

1.1 系統設計的意義 1

1.2 系統設計的目的 1

2 系統設計原理 3

2.1 影象處理技術原理和成像原理 3

2.2 bmp檔案格式簡介 3

2.3 影象顯示原理 4

3 系統硬體設計 6

3.1 系統硬體開發平台 6

3.2 lcd顯示模組 6

4 系統軟體設計 7

4.1 系統軟體設計應用環境 7

4.2 bmp檔案的讀入 7

4.3 影象增強演算法設計 7

4.4 影象分割演算法設計 8

4.5 影象平滑 8

4.6 影象縮放(平移以及轉置) 10

5 程式清單 12

5.1 影象資料儲存的主程式 12

5.2 影象平滑模組 13

5.3 影象平移主要** 15

5.4 影象縮放主要** 18

5.5 轉置影象主要** 20

6 執行測試結果 23

7 總結 25

參考文獻 26

1.1 系統設計的意義

嵌入式系統被ieee(國際電氣和電子工程師協會)定義為「是一種用來控制、監視或者輔助儀器、機械操作的裝置」。無論嵌入式計算機技術如何發展,都改變不了其「內含計算機」、「嵌入到物件體系中」、「滿足物件智慧型化控制要求」的技術本質,因此可以將嵌入式系統定義為:「嵌入到物件體系中的專用計算機應用系統」。

嵌入式系統在很多產業中都得到了廣泛的應用,包括消費電子、國防軍事、工業控制等領域應用的越來越廣泛,從軍用的飛彈知道系統到民用的消費電子、智慧型家電、汽車,嵌入式系統無處不在。在現代戰爭中,利用影象進行精確制導、火控、無人飛機的電視導航等,在國防中也受到了高度的重視。影象處理演算法中常有大量的運算,特別是在實時影象處理方面,因此通常採用dsp[1]或fpga[3]來實現。

但隨著微處理器技術的突飛猛進,現代mpu[1]也可以完成高速的數字影象處理。

作為嵌入式影象處理技術,其主要技術包括兩個方面,乙個是影象處理技術,另乙個則是嵌入式系統[4]應用技術。本文主要研究影象處理技術在嵌入式系統中的應用。

1.2 系統設計的目的

隨著以計算機和計算機技術為核心的資訊科學的發展,影象資料作為一種重要的資訊資源,在通訊、管理、醫學、**、氣象、航空航天以及教育等領域受到重視,所以影象處理發揮著愈來愈重要的作用。但傳統的影象處理技術主要依賴於大批量的電子計算裝置,它們帶來巨大的保養、增加行業成本。嵌入式平台擁有小巧、**低廉、功耗小及維護成本低等優點。

因此基於嵌入式平台構建影象處理系統可以降低其生產維護成本,提高其可靠性和可控制項,具有較高的市場價值。

利用嵌入式系統進行影象處理是對傳統的影象處理硬體實現方法的挑戰。它的完成將為影象處理的開闢新的實現途徑,並且為嵌入式系統的應用再次開啟一片新的領域,同時由於影象處理的應用十分廣泛,其本身也有廣泛的應用前景。

本設計的目的是研究一種能夠進行高速影象處理[5]的嵌入式系統架構的設計與實現方法。針對嵌入式系統本身的特點,設計出具有較強通用性的嵌入式影象處理平台。本文主要針對採集到的影象(bmp格式)實現平移、轉置、縮放、平滑等處理。

2.1 影象處理技術原理和成像原理

影象處理技術又稱「機器視覺」[5],乃是將被測物件的影象作為資訊的載體,從中提取有用的資訊來達到測量的目的,具有非接觸、高速、獲得資訊豐富等優點。系統一般通過攝像頭採集物件的影象資訊,然後通過處理系統對採集到的影象進行數位化的處理和分析,根據檢測要求可得到物件的特徵資訊,隨後進一步對此進行判斷並輸出結果。如圖2.

1 所示,連桿的表面缺陷通過乙個方形led漫反射光源均勻照亮待檢測的破口區域,光線照射到物件表面後,通過光學鏡頭成像在攝像頭內的光電耦合ccd 元件[3]上並轉化成相應的數字影象訊號,ccd 元件可理解為乙個由感光畫素組成的點陣,每乙個畫素都一一對應了被測物件的二維影象特徵。數字影象訊號經過影象處理系統對影象特徵資訊的提取和計算得到所需的測量值,隨後通過rs232 通訊介面把資料傳輸給plc 進行邏輯判斷,判斷的結果直接通過裝置前面板上的指示燈輸出。

ccd 透鏡led

光源物件

ccd 攝像機

圖2.1 攝像頭採集物件的影象資訊

2.2 bmp檔案格式簡介

乙個bmp檔案包括以下四部分:檔案頭,資訊頭,調色盤資料和影象資料。檔案頭長度為14個位元組。

分別為:bffype:指定檔案結構,必須是ox424d,即字串「bm "; bfsize:

指定檔案大小,包括這14個位元組;bfreservedl,bfreserved2:分別為2個位元組,為保留字,不用考慮:bfoffbits:

從檔案頭到實際的影象資料的偏移位元組數。資訊頭長度為40個位元組,分別為:bisize指定這個結構的長度為40的單位位元組;biwidth, biheight指定影象的寬度和高度,單位為畫素;biplanes必須為1; bibitcount指定表示顏色時要用到的位數;bicompression指定是否壓縮;bisizelmage指定實際影象資料占用的位元組數; bixpelspermeter, biypelspermeter指定目標裝置的水平和垂直解析度;biclrused指定本影象實際用到的顏色數,如果該值為零,則用到的顏色數為2的bibitcount次方;bicirimportant指定本影象中重要的顏色數,如果該值為零,則所有的顏色都是重要的。

第三部分為調色盤,所採集的影象資料是真彩色[6](24位)的,故不需要調色盤。調色盤實際上是乙個陣列,共有biclrused個元素。陣列中每個元素占用4個位元組,依次是一位元組的藍色分量,一位元組的綠色分量,一位元組的紅色分量,以及一位元組的保留值。

第四部分是實際的影象資料,對於用到調色盤的檔案,影象資料是該畫素值在調色盤中的索引值。需要注意的是每一行的位元組數必須是4的整倍數,如果不是,則需要補齊。

一般來說,bmp檔案的資料是從檔案中最先讀到的是影象最下面一行的左邊第乙個畫素,然後是左邊第二個畫素一接下來是倒數第二行左邊第乙個畫素,以此類推,最後得到的是最上面一行的最右乙個畫素,這與採集出的影象資料順序是不同的,每畫素的順序為bgr[6]。

2.3 影象顯示原理

本設計採用的是乙個240*320解析度的16位液晶螢幕,可以通過操作s3c2410內部的相關暫存器來直接控制顯示,由於採用了arm—linux作為作業系統,可以直接操作nux下的framebuffer裝置來完成影象的顯示,幀緩衝(framebuffer)是linux為顯示裝置提供的乙個介面,把視訊記憶體抽象後的一種裝置,他允許上層應用程式在圖形模式下直接對顯示緩衝區進行讀寫操作。這種操作是抽象的、統一的。這些都是由framebuffer裝置驅動來完成的。

在應用程式中首先要開啟framebuffer裝置,在linux系統中framebuffer裝置一般對映為/dev/fb,可以有多個裝置。然後呼叫ioctl提供的藉口獲取裝置資訊,主要是獲得當framebuffer裝置的解析度、色深及每一行資料佔的位元組數。關鍵的一步是將螢幕緩衝區對映到使用者空間,framebuffer裝置可以看成是視訊記憶體的映像,但是linux所有的裝置驅動均在核心態工作,所以無法在當前程序空間中直接訪問,通過對映機制可以直接把視訊記憶體的起始位址對映到當前程序的位址空間,從而可以快速方便的實現視訊記憶體,建立對映的方法如下:

pfd=mmap(0,fbdraw_finfo,smem_len,prot_read|prot_wrfte,map_shared,df,0);//以read、write和share方式對映螢幕上左邊為(x,y)的點在視訊記憶體中的位置是:pfd+x*(fb_>>3)+y*fb_對這個位置賦相應的顏色值就可以再螢幕上顯示出來。

嵌入式系統設計

課程 設計 題目 基於51微控制器的秒錶的實現 電腦科學與技術王偉 摘要 本次設計內容為以stc89c52微控制器為核心的秒錶,它採用獨立鍵盤輸入 1602液晶顯示的特點。利用微控制器的定時器中斷的原理,用1602液晶以及獨立按鍵來設計秒錶。將軟 硬體有機地結合起來,使其擁有正確的計時 暫停 清零的...

《嵌入式系統》設計方案

移動列印終端終嵌入式系統設計方案 閱讀目錄 一專案概述 1 二系統總體架構 2 2.1.1 各功能部件作用 2 2 2 1 手持式掃瞄器 3 2 2 2 嵌入式開發板 3 2 2 3 微型印表機的選型 4 2 2 4 遠端伺服器 5 三軟 硬體設計 5 3 2 硬體設計 6 3 2 1 嵌入式開發板...

嵌入式系統應用

電子資訊工程系實驗報告 課程名稱 嵌入式系統應用 實驗專案名稱 實驗3 gpio 中斷 定時器程式設計實驗時間 2012 10 10 班級 電信092姓名 學號 910706201 t span cr r 12 一 實驗目的 進一步熟悉ads1.2開發環境的使用方法,掌握利用ads1.2開發環境進行...