![嵌入式課程設計基于ARM嵌入式圖像處理系統(tǒng)設計與實現_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/f4f8b689-13e5-422e-82d8-26a720de0e9a/f4f8b689-13e5-422e-82d8-26a720de0e9a1.gif)
![嵌入式課程設計基于ARM嵌入式圖像處理系統(tǒng)設計與實現_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/f4f8b689-13e5-422e-82d8-26a720de0e9a/f4f8b689-13e5-422e-82d8-26a720de0e9a2.gif)
![嵌入式課程設計基于ARM嵌入式圖像處理系統(tǒng)設計與實現_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/f4f8b689-13e5-422e-82d8-26a720de0e9a/f4f8b689-13e5-422e-82d8-26a720de0e9a3.gif)
![嵌入式課程設計基于ARM嵌入式圖像處理系統(tǒng)設計與實現_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/f4f8b689-13e5-422e-82d8-26a720de0e9a/f4f8b689-13e5-422e-82d8-26a720de0e9a4.gif)
![嵌入式課程設計基于ARM嵌入式圖像處理系統(tǒng)設計與實現_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/f4f8b689-13e5-422e-82d8-26a720de0e9a/f4f8b689-13e5-422e-82d8-26a720de0e9a5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于ARM嵌入式圖像處理系統(tǒng)設計與實現1.設計目的嵌入式系統(tǒng)設計及應用課程是電類專業(yè)的主要技術基礎課。嵌入式系統(tǒng)設計及應用課程設計是學習嵌入式系統(tǒng)課程之后的實踐教學環(huán)節(jié),是對課程理論和課程實驗的綜合和補充,其目的在于研究一種能夠進行高速圖像處理的嵌入式系統(tǒng)架構的設計與實現方法。針對嵌入式系統(tǒng)本身的特點,設計出具有較強通用性的嵌入式圖像處理平臺。圖像數據是一種重要的信息資源,隨著以計算機和計算機技術為核心的信息科學的發(fā)展,圖像處理在通訊、管理、醫(yī)學、地震、氣象、航空航天以及教育等領域,發(fā)揮著愈來愈重要的作用。嵌入式平臺擁有小巧、價格低廉、功耗小及維護成本低等優(yōu)點。因此基于嵌入式平臺構建圖像處理系
2、統(tǒng)可以降低其生產維護成本,提高其可靠性和可控件,具有較高的市場價值。本課設為了加深對嵌入式系統(tǒng)設計及應用課程知識的理解和綜合應用,培養(yǎng)學生綜合運用基礎理論知識和專業(yè)知識解決實際工程設計問題的能力,以及工程意識和創(chuàng)新能力。2.設計方案論證2.1設計原理本課程設計設計采用的是一個240*320分辨率的16位液晶屏幕,可以通過操作S3C2410內部的相關寄存器來直接控制顯示,由于采用了ARMLinux作為操作系統(tǒng),可以直接操作“nux下的Framebuffer設備來完成圖像的顯示,幀緩沖(Framebuffer)是Linux為顯示設備提供的一個接口,把顯存抽象后的一種設備,他允許上層應用程序在圖形模
3、式下直接對顯示緩沖區(qū)進行讀寫操作。這種操作是抽象的、統(tǒng)一的。用戶不必關心物理顯存的位置、換頁機制等等具體細節(jié)。這些都是由Framebuffer設備驅動來完成的。在應用程序中首先要打開Framebuffer設備,在Linux系統(tǒng)中Framebuffer設備一般映射為/dev/fb,可以有多個設備。然后調用ioctl提供的借口獲取設備信息,主要是獲得當Framebuffer設備的分辨率、色深、每一行數據占的字節(jié)數。關鍵的一步是將屏幕緩沖區(qū)映射到用戶空間,Framebuffer設備可以看成是顯存的映像,但是Linux所有的設備驅動均在內核態(tài)工作,所以無法在當前進程空間中直接訪問,通過映射機制可以直接
4、把顯存的起始地址映射到當前進程的地址空間,從而可以快速方便的實現顯存,建立映射的方法如下:Pfd=mmap(0,FBDraw_finfo,smem_len,PROT_READ|PROT_WRFTE,MAP_SHARED,df,0);/以read、write和share方式映射屏幕上左邊為(x,y)的點在顯存中的位置是:Pfd+x*(fb_vinfo.bits_pixel)3)+y*fb_finfo.line_length,對這個位置賦相應的顏色值就可以再屏幕上顯示出來。需要注意的是當色深(fb_vinfo.bits_per_pixel)不同時,顏色值的格式也不一樣。把經過圖像處理后的圖像數據或
5、者采集到的原始圖像數據轉化成Framebuffer設備的顏色數據格式(RGB565、RGB888等)后,將數據復制到從地址pfb開始的內存中,就可以事先圖像的顯示。2.2概述圖像處理技術又稱“機器視覺”,乃是將被測對象的圖像作為信息的載體,從中提取有用的信息來達到測量的目的,具有非接觸、高速、獲得信息豐富等優(yōu)點。系統(tǒng)一般通過攝像頭采集對象的圖像信息,然后通過處理系統(tǒng)對采集到的圖像進行數字化的處理和分析,根據檢測要求可得到對象的特征信息,隨后進一步對此進行判斷并輸出結果。如圖1 所示,連桿的表面缺陷通過一個方形LED漫反射光源均勻照亮待檢測的破口區(qū)域,光線照射到對象表面后,通過光學鏡頭成像在攝像
6、頭內的光電耦合CCD 元件3上并轉化成相應的數字圖像信號,CCD 元件可理解為一個由感光像素組成的點陣,每一個像素都一一對應了被測對象的二維圖像特征。數字圖像信號經過圖像處理系統(tǒng)對圖像特征信息的提取和計算得到所需的測量值,隨后通過RS232 通訊接口把數據傳輸給PLC 進行邏輯判斷,判斷的結果直接通過設備前面板上的指示燈輸出。圖1 攝像頭采集對象的圖像信息2.3 BMP文件的讀入在嵌入式平臺上,并沒有現成的BMP文件的庫函數可以使用。因此,如何把一個BMP文件讀人到內存中進行圖像處理算法移植的根本前提。本系統(tǒng)中,主要處理的圖像有兩大塊:真彩圖和256色的圖像(包括256級厭度圖),因此對應設計
7、了兩個BMP文件的讀入函數,并將這兩個函數放在Graphich和Graphicc中,以備后續(xù)的開發(fā)使用。兩個函數為:GetTruePixel(char bmpnameIl,U32 color24011320J,int*mapwidthint*mapheight);Get256Pixel(char bmpname。U8 cdorbutl240113201,U32 pale256int 4mapwidth,int*mapheight)。函數l用于將一個名稱為bmpnameH的真彩圖像數據讀入color矩陣,同時獲得圖像的寬和高;函數2用于將一個名稱為bmpname的256色圖像數據讀人colorb
8、uf矩陣,同時,對應的調色板數據讀入pale矩陣中并獲得圖像的寬和高。2.4圖像增強算法設計在圖像處理中,當光學系統(tǒng)成像時出現背景與目標灰度范圍相對比較窄,即低對比度的情況,一般會采用對圖像進行灰度的拉伸變換,從而加大特征目標與背景的灰度差,實現圖像增強,以利于提取出特征目標來灰度變換可分為線性灰度變換、分段線性變換、非線性變換本研究采用線性灰度變換,該方法用于克服當圖像由于成像時曝光不足或過度所產生的對比度不足的弊病假設原圖像八茗,y)的灰度范圍為a,b,希望變換后圖像g(x,y)的灰度范圍擴展到c,d,其數學表達式為:g(x,y)=c (0f(x,y)a)g(x,y)=(d-c)/(b-a
9、)+c (af(x,y) b)g(x,y)=d (bf(x,y) Mf)式中:Mf表示(x,y)的最大值2.5圖像分割算法設計經過圖像增強后,要將一幅圖像分解為若干互不交疊的、有意義的、具有相同性質的區(qū)域,并從中提取出所感興趣的目標,即圖像分割圖像分割有邊緣檢測和閾值分割,這里采用閾值分割方法閾值分割是基于灰度閾值的分割方法,它通過設置閾值,把像素點按灰度級分若干類,從而實現圖像分割把一幅灰度圖像轉換成二值圖像是閾值分割的最簡單形式,設原始圖像為f(x,y),首先就是按一定準則在f(x,y)中找出一個灰度值t作為閾值,將圖像分割為兩部分,即把大于等于該閾值的像素點的值置成1,小于閾值的像素點置
10、為0閾值運算后的圖像為二值圖像g(x,Y)g(x,y)=1 (f(x,y) t)g(x,y)=0 (f(x,y)t)上式中全局閾值t的選擇直接影響到分割效果通??梢酝ㄟ^分析灰度直方圖來確定它的值,最常見的方法是利用灰度直方圖來確定它的值,利用灰度直方圖求雙峰,選擇兩峰之間谷底處的灰度值作為閾值2.6圖像平滑算法設計圖像在生成和傳輸過程中常受到各種嗓聲的干擾和影響,使圖像質量下降。為了抑制噪聲改善圖像質量,必須對圖像進行平滑處理。通常,將數字圖像的平滑技術4劃分為兩類。一類是全局處理,即對噪聲圖像的整體或大的塊進行校正得到平滑圖像。但這類方法需要知道信號和噪聲的統(tǒng)計模型,且運算量較大。另一類平滑
11、技術是對噪聲圖像使用局部算子。當對某一像素進行平滑處理時,僅對它的局部小鄰域的一些像素加以運算,其優(yōu)點是計算效率高,而且可以多個像素并行處理,因此可以實現實時或者準實時處理。(1)平滑線性濾波器(均值濾波)一般來說,假設MXN的圖像(x,y)為給定的含有噪聲的圖像,用m*n大小的濾波器掩模進行線性濾波結果為g(x,y),在數學上可以表現為:其中,a=(m-1)/12, b=(n-1)/12, w(s,t)為濾波器系數。為了得到一副完整的經過濾波處理的圖像,必須對x=0,1,2,.M-1和y =0,工,2,.,N-1依次應用公式。這樣,就保證了對圖像中的所有像素進行了處理。一般可選取以下幾種模板
12、: 模版1 模版2 模版3比較常用 的是模板3,它又被稱為高斯(Gauss)模板,它為了突出模板中心像素本身的重要性,對所有的模板系數,不是一視同仁,而是引入了加權系數,可以看出,離原點距離越近的點,加權系數越大??臻g均值處理的一個結果是,較大物體變得像“斑點”而易于檢測,但那些較小物體的強度與背景混合在了一起。為此,在濾波后可增加閥值處理,即將濾波后的圖像與選定的閥值相比較,根據比較結果決定最后的灰度值。該方法對抑制椒鹽噪聲比較有效,對保護僅有微小灰度差的細節(jié)和紋理也有效。(2)平滑非線性濾波器(統(tǒng)計排序濾波器)統(tǒng)計排序 濾波器是一種非線性的空間濾波器,它的響應基于圖像濾波器包圍的圖像區(qū)域中
13、像素的排序,然后由統(tǒng)計排序結果決定的值代替中心像素的值。統(tǒng)計排序濾波器中最常見的例子就是中值濾波器,正如其名,它是將像素鄰域內灰度的中值代替該像素的值。中值濾波器的主要功能是使擁有不同灰度的點看起來更接近于它的臨近值。中值濾波器使用非常普遍,這是因為對于一定類型的隨機噪聲,它提供了一種優(yōu)秀的去噪能力,比小尺寸的線性平滑濾波器的模糊程度明顯要低。中值濾波器對處理脈沖噪聲(椒鹽噪聲)非常有效,因為這種噪聲是以黑白點疊加在圖像上的。盡管在圖像處理中,中值濾波器是用得最廣泛的統(tǒng)計濾波器,但這并不是說它是唯一的。所謂中值就是一系列像素值的第50%個值,當我們取100%個值,此時就是最大濾波器,相反,當取
14、0%的值時就變成了最小濾波器。2.7 圖像縮放(平移以及轉置)一般采用插值法,有如下幾種插值算法:最鄰近插值(近鄰取樣法):最臨近插值的的思想很簡單。對于通過反向變換得到的的一個浮點坐標,對其進行簡單的取整,得到一個整數型坐標,這個整數型坐標對應的像素值就是目的像素的像素值,也就是說,取浮點坐標最鄰近的左上角點(對于DIB是右上角,因為它的掃描行是逆序存儲的)對應的像素值??梢?,最鄰近插值簡單且直觀,但得到的圖像質量不高。雙線性內插值:對于一個目的像素,設置坐標通過反向變換得到的浮點坐標為(i+u,j+v),其中i、j均為非負整數,u、v為0,1)區(qū)間的浮點數,則這個像素得值 f(i+u,j+
15、v) 可由原圖像中坐標為 (i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所對應的周圍四個像素的值決定,即:f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)其中f(i,j)表示源圖像(i,j)處的的像素值,以此類推這就是雙線性內插值法。雙線性內插值法計算量大,但縮放后圖像質量高,不會出現像素值不連續(xù)的的情況。由于雙線性插值具有低通濾波器的性質,使高頻分量受損,所以可能會使圖像輪廓在一定程度上變得模糊。3.設計內容3.1硬件設計數字圖像處理系統(tǒng)是執(zhí)行處理圖像、分析理解圖像信息
16、任務的計算機系統(tǒng).盡管圖像處理技術應用廣泛,圖像處理系統(tǒng)種類很多,但他們的基本組成是相近的口它們主要含有:圖像輸入設備、執(zhí)行處理分析與控制的計算機圖像處理機、輸出設備、存儲系統(tǒng)中的圖像數據庫、圖像處理程序庫與模型庫。其中,負責執(zhí)行圖像處理與分析的圖像處理機是整個系統(tǒng)的核心部分,它關系著圖像的處理效果,及系統(tǒng)的整體性能。本系統(tǒng)選用的是韓國三星電子公司推出的一款基于ARM920T內核的S3C2410嵌入式微處理器。S3C2410把外部復位信號作為一個中斷處理,在系統(tǒng)復位時,程序指針(PC)被設置為0,程序跳轉到0x00000000開始運行。此空間對應BankO,系統(tǒng)的2MB的NORFIash和處理
17、器的Bank0相連接。在NORFlash中存儲的是BootLoader,它負責配置處理器的結構、工作模式以及自動檢測系統(tǒng)的各個硬件是否工作正常。系統(tǒng)經過初始化和自檢后,BootLoader負責把16MBNANDFlash的zlmage(即軟件系統(tǒng)的鏡像文件)復制到0xc0008000地址(此地址是系統(tǒng)64MB SDRAM的首地址)。然后,引導程序把PC指向0xc0008000地址,系統(tǒng)開始運行。圖2 ARM開發(fā)板S3C2410芯片3.2軟件設計結合S3C2410處理器的特點基于該芯片構建嵌入式圖像處理系統(tǒng),設計者必須考慮其通用性、響應速度及對于硬件的可操控性。正是基于這樣的考慮,分三層構建嵌入
18、式圖像處理系統(tǒng)的軟件體系:ARM Linux的建立;圖形用戶界面(MiniGui)的移植;圖像處理軟件的設計編碼。其中ARM Linux的建立是構建嵌入式Linux系統(tǒng)的通用步驟 3.3 LCD顯示模塊從S3C24 10的LCD控制器出來的信號線包括24根數據線和若干根控制線。這些信號線是經過74HC245隔離后接到LCD模塊的,對于256色LCD只需要其中低8位數據線即可(如圖所示)。LCD模塊除了需要控制信號和數據信號外,還需要一個22V左右的工作電壓和上千伏的背光電壓。前者MAX629升壓后得到,后者由一個逆變器模塊提供。圖3 S3C24103.4運行代碼程序圖像數據存儲的主程序:FIL
19、E*file=fopen(O.bmp,wb);writebmpfileheader(file);/*寫文件頭函數*/writebmpinfoheader(file);/* 寫信息頭函數*/writeimagedata(file);/* 寫圖像數據函數*/fclose(fi le);voidwriteimagedata(FILE* file) Int datapointer;Int mydata ;for (int i= 0; i = 239; i+)/*共240行*/datapointer -data+(239-i )*3 20 ;for(int j= 0;j =150) pos=0; for
20、(t=0;t5;t+) textinit1t=strxt; SetTextCtrlText(text1,textinit1,TRUE); for(t=0;t=0;i-)pbmp=bmp;if(!ReadOSFile(pfile, bmp,wold*nbyte+(wold*nbyte)%2)break;for(j=0;jwold;j+) color=*pbmp; for(k=0;knbyte-1;k+) color=8;pbmp+;color|=*pbmp; pbmp+;colorbufij=color;wnew = (U32)(wold*zoomRatio+0.5); hnew = (U32)
21、(hold*zoomRatio+0.5); for(y1=0;y1hnew;y1+)for(x1=0;x1=0;i-)pbmp=bmp;if(!ReadOSFile(pfile, bmp,cx*nbyte+(cx*nbyte)%2)break;for(j=0;jcx;j+)color=*pbmp;for(k=0;knbyte-1;k+)color=8;pbmp+;color|=*pbmp;pbmp+;SetPixel(pdc,i, j, color); CloseOSFile(pfile); OSTimeDly(200); 4.運行結果4. 1圖像平移效果圖平移前的圖像如圖3所示:圖4 平移前的圖像平移后的圖像:圖5 平移后的圖像4.2圖像轉置效果圖圖6 圖像轉置效果4.3 圖像縮放效果圖7 圖像的縮放效果5設計體會通過這次課程設計,我收獲了很多,也使我對嵌入式相關的基本知識有了進一步的提高,并在實踐中對各種概念有了進一步的深化,開始的時候總覺得很簡單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- SHMT-IN-3-生命科學試劑-MCE-3565
- 2025年度知識產權合同變更補充協議書
- 2025年度員工股份激勵與股權鎖定協議
- 二零二五年度荒山承包造林生態(tài)保護合同
- 二零二五年度教育投資銀行擔保協議
- 施工現場施工防事故制度
- 父母如何培養(yǎng)孩子的批判性思維與決策能力
- 科技領域安全風險評估及保障措施
- DB6528T 074-2024庫爾勒香梨人工授粉技術規(guī)程
- XX市幼兒園學生家長安全責任合同2025
- 雕塑采購投標方案(技術標)
- 演藝項目投資計劃書
- 醫(yī)療器械耗材售后服務承諾書
- 北京房地產典當合同書
- 文學類文本閱讀 高一語文統(tǒng)編版暑假作業(yè)
- 文明施工考核標準
- 《霧都孤兒人物分析4000字(論文)》
- MZ/T 039-2013老年人能力評估
- GB/T 6329-1996膠粘劑對接接頭拉伸強度的測定
- 2023年遼寧鐵道職業(yè)技術學院高職單招(語文)試題庫含答案解析
- (2019新教材)人教A版高中數學必修第二冊全冊學案
評論
0/150
提交評論