999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的鐵軌檢測算法設計與研究

2011-02-28 05:10:28劉在群陳佐佐陳明艷
關鍵詞:程序區(qū)域檢測

劉在群,阮 軍,陳佐佐,陳明艷,郭 嫚

(武漢理工大學 信息學院,湖北 武漢 430070)

1 基于FPGA的嵌入式系統(tǒng)開發(fā)流程

設計一個嵌入式系統(tǒng),主要包括硬件平臺搭建和應用軟件編寫。基于FPGA技術,硬件平臺搭建和軟件編寫都可在相應的軟件平臺上完成。EDK(Embedded Development Kit)是Xilinx公司開發(fā)嵌入式系統(tǒng)的套件工具。EDK套件工具主要包括硬件平臺產(chǎn)生器、軟件平臺產(chǎn)生器、仿真模型生成器和軟件編譯調(diào)試等工具,利用其集成開發(fā)環(huán)境XPS(platform studio)可以方便地完成嵌入式系統(tǒng)的開發(fā)設計[1],設計流程如圖1所示。

2 硬件平臺搭建過程

分析系統(tǒng)需求中,鐵軌檢測主要是進行圖像的分析處理,包括三個主要部分:圖像輸入、圖像處理和結果顯示。本項目使用依元素公司生產(chǎn)的Xilinx Spartan-3a系列xc3s700a的FPGA開發(fā)板,軟件版本為Xilinx10.1。圖像輸入有下列途徑:USB接口、RS232串口、100 M以太網(wǎng)接口、EDK套件XMD調(diào)試平臺直接下載等。本文將圖像數(shù)據(jù)轉(zhuǎn)換為.ELF文件格式,直接燒寫入Flash中。本文不追求實現(xiàn)視頻流處理,并且圖像要多次使用,源圖像存儲在Flash中最合理。圖像處理由Microblaze軟核系統(tǒng)和檢測程序共同完成;圖像顯示由TFT控制器通過VGA輸出信號在液晶顯示屏顯示。具體硬件平臺搭建過程如下:

(1)按照XPS應用向?qū)В⒆钚∠到y(tǒng),配置Microblaze軟核系統(tǒng)參數(shù)和添加UART外設。

(2)添加IP核,并連接到相應總線,主要為內(nèi)存控制器、通信控制和GPIO等。

(3)添加自定義的IP。盡管Xilinx提供了許多免費IP,但是免費的IP不能滿足用戶的所有設計。本項目需要自定義的IP有用于控制液晶顯示的TFT_Controller和用于內(nèi)存地址總線及數(shù)據(jù)總線復用的Mux_logic IP。PLB_TFT_Controller主要產(chǎn)生 RGB信號、行場掃描、同步信號等,Mux_logic IP用于對SDRAM和Flash總線復用進行控制,輸入為SDRAM和Flash的控制IP產(chǎn)生的地址總線信號和數(shù)據(jù)總線信號及使能信號,輸出為復用地址總線、數(shù)據(jù)總線信號。

(4)配置相應IP,并進行信號互聯(lián),將需要控制硬件的port連接到外部。分配地址空間,添加UCF配置文件。

(5)生成硬件比特流文件和硬件驅(qū)動文件。硬件結構原理圖如圖2所示。

圖2 硬件構架原理圖

3 軟件設計過程

3.1 鐵軌檢測原理

本項目中鐵軌檢測主要考慮兩種方案[2]:基于邊緣特征和基于區(qū)域特征。(1)基于邊緣特征檢測方法先在全局范圍檢測出邊緣線,再通過模型或特征限制條件,從邊緣圖中獲得目標邊緣。(2)基于區(qū)域特征的鐵軌檢測,利用區(qū)域統(tǒng)計特性,即鐵軌區(qū)域區(qū)別于周圍環(huán)境獨特統(tǒng)計特性來判斷鐵軌區(qū)域。兩種方法中,前者檢測到的鐵軌線較為準確,但是其對二值化閾值嚴重依賴;后者抗噪性較好,但檢測的鐵軌線不夠準確,本文主要討論基于區(qū)域特征的鐵軌檢測。

基于區(qū)域特征鐵軌檢測流程如圖3所示,分為四個步驟:

(1)降低分辨率。在濾波之前,先降低圖像分辨率,以消除圖像細節(jié),也可減輕后續(xù)處理的計算負擔。

(2)濾波處理。分辨率降低后,圖像中仍有很多的突兀點,這是因為鐵軌上各種電磁信號的存在,攝像頭采集到的圖像不可避免地受到高斯噪聲、系統(tǒng)噪聲的污染。考慮到圖像特征,選用中值濾波,它在平滑脈沖噪聲方面非常有效,同時可以保護圖像尖銳的邊緣。

(3)邊緣提取。利用邊緣檢測算子檢查每個像素的鄰域并對灰度變化率進行量化,包括方向的確定。Sobel邊緣檢測算子方向性靈活,可以設置不同的系數(shù),抑制噪聲效果較好,使用范圍廣泛,因此選用Sobel算子。同時鐵軌圖像橫向變化不大,而在縱向有很大的延伸,故也只考慮圖像垂直邊緣響應。

(4)連通域搜索。二值化處理后邊緣圖包含了鐵軌信息,也含有很多非鐵軌邊緣。使用八連通區(qū)域搜索法,進行標號處理,記錄相互獨立的連通區(qū)域個數(shù)并進行標號。對連通區(qū)域按照長度大小進行排列,直到搜索出縱向最長的兩根鐵軌,然后判斷并標記左右兩鐵軌,之后進行區(qū)域填充,最終可以看到標記的鐵軌區(qū)域。

圖3 鐵軌檢測算法流程

3.2 OpenCV仿真結果

本項目程序首先實現(xiàn)OpenCV仿真,然后移植到FPGA中。OpenCV提供的圖像處理算法非常豐富,并且部分程序以C語言編寫,處理得當,不需要添加新的外部支持就可以完整的編譯連接生成執(zhí)行程序進行算法移植。本次仿真只運用“cv.h”和“highhui.h”兩個 OpenCV庫,主要是運用其圖像加載、圖像顯示等函數(shù),而中值濾波、邊緣檢測、鐵軌搜索函數(shù)自行編寫。仿真結果如圖4所示。

3.3 FPGA程序移植過程

3.3.1 圖像輸入與顯示[3]

圖4 鐵軌圖像仿真結果

本項目把圖像數(shù)據(jù)轉(zhuǎn)換為.ELF文件格式,燒錄到NOR-Flash, 在XPS的菜單下點擊Program Flash Memory,選擇自動格式轉(zhuǎn)換,即可進行燒錄,而且可以指定燒錄數(shù)據(jù)的位置。數(shù)據(jù)格式轉(zhuǎn)換利用Matlab軟件完成,程序如下:由于是灰度圖像,只讀取其亮度值。圖像分辨率為640×480。寫數(shù)據(jù)可以用 fprintf函數(shù)或 fwrite函數(shù),但是實驗表明使用fprintf函數(shù)寫數(shù)據(jù),文件大小302 kB,顯示圖像不正常;而使用fwrite函數(shù)寫數(shù)據(jù)文件僅300 kB,顯示圖像正常。說明兩種函數(shù)寫數(shù)據(jù)方式本質(zhì)不同,造成寫入數(shù)據(jù)格式不同。

圖像顯示過程:先從Flash中每次一行把數(shù)據(jù)讀入BRAM,然后把每一位亮度值移位變?yōu)镽、G、B三位,再從BRAM讀數(shù)據(jù)到SDRAM顯存,如此循環(huán)480次,用以顯示圖片。由于R、G、B值相同,顯示的便是灰度圖像。如果直接從Flash讀數(shù)據(jù)到SDRAM顯存,顯示圖像每行有不規(guī)則不連續(xù)的黑點,甚至顯示不正常。顯存的設置在 TFT-Controller IP中完成,顯存空間為 2 MB,起始地址與SDRAM起始地址相同。

3.3.2 圖像處理程序移植[3]

由于開發(fā)環(huán)境不同,移植后程序在獨立系統(tǒng)上運行,需要對OpenCV仿真程序做一些改正。FPGA編程系統(tǒng)支持C語言標準庫函數(shù),所以打印輸出顯示函數(shù)print()、動態(tài)內(nèi)存分配函數(shù)malloc()可以直接使用。盡管printf()函數(shù)也可以用于打印輸出結果,但目的是把程序放入大小為32 KB的BRAM,實驗表明它比 print()函數(shù)占用空間大一倍。在OpenCV中,可以直接使用cvShowImage()、cvReleaseImage()、cvDestroyWindow()函數(shù)顯示圖像和釋放內(nèi)存空間,在移植程序中要自行設計這些函數(shù)。移植程序中subplot()函數(shù)用于在屏幕上顯示4幅圖像(降低分辨率源圖像、濾波圖像、閾值分割圖像、鐵軌檢測圖像),DeleteAllPointElems()函數(shù)用于釋放內(nèi)存空間。其他函數(shù),例如降低分辨率函數(shù) Dec()、濾波函數(shù) filter()、邊緣檢測函數(shù)edge(),可以完全使用OpenCV中的程序,不需要做修改。移植后主程序如下:

圖5 直線鐵軌智能延長結果

本文實現(xiàn)基于FPGA的鐵軌檢測算法,首先完成OpenCV程序仿真,然后移植到FPGA構建的硬件系統(tǒng)中,可以成功檢測出鐵軌所在區(qū)域,并在一定條件下進行鐵軌智能延長。研究結果表明,檢測一幅分辨率為640×480圖像,大約需要30 s,如果應用于實時視頻流系統(tǒng)中,則硬件平臺設計需要進行精簡,以提高速度。也可考慮基于硬核、多核技術,來提高處理速度,以滿足實時視頻流處理。

[1]趙澤才,常青.基于 MicroBlaze的嵌入式系統(tǒng)設計[D].湖南:國防科學技術大學,2005.

[2]李俊,楊春金.基于邊緣特征及對稱差分的鐵路安全圖像處理技術研究[D].武漢:武漢理工大學,2009.

[3]楊杰,黃朝兵.數(shù)字圖像處理及 MATLAB實現(xiàn)[M].北京:電子工業(yè)出版社,2010.

猜你喜歡
程序區(qū)域檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
小波變換在PCB缺陷檢測中的應用
關于四色猜想
分區(qū)域
創(chuàng)衛(wèi)暗訪程序有待改進
主站蜘蛛池模板: 青青草一区| 中文字幕亚洲第一| 中文字幕在线播放不卡| 欧美日韩理论| 国产精品手机视频一区二区| 欧美在线网| 免费无码又爽又黄又刺激网站 | 97久久精品人人| 亚洲第一成网站| 伊人久热这里只有精品视频99| 99久久精品国产自免费| 97se亚洲综合在线天天| 丰满人妻被猛烈进入无码| 伊人久综合| 丰满人妻被猛烈进入无码| 97在线视频免费观看| 国产成+人+综合+亚洲欧美| 国产精品刺激对白在线| 中文字幕久久亚洲一区| 高潮毛片无遮挡高清视频播放 | 日本黄色a视频| 国产毛片基地| 日韩在线网址| 色视频久久| 久久精品国产91久久综合麻豆自制| 国产一区二区免费播放| 欧美亚洲国产精品第一页| 妇女自拍偷自拍亚洲精品| 日韩 欧美 小说 综合网 另类| 中文字幕亚洲另类天堂| 久996视频精品免费观看| 日韩一级毛一欧美一国产| 中文字幕66页| 亚洲国产理论片在线播放| 人人91人人澡人人妻人人爽| a毛片在线免费观看| swag国产精品| 欧美一级特黄aaaaaa在线看片| 九九热精品在线视频| 999国产精品永久免费视频精品久久| 国产欧美高清| 国产精品第一区| 亚洲综合久久一本伊一区| 99精品在线视频观看| 亚洲人成色在线观看| 理论片一区| 亚洲区一区| 欧美一级高清免费a| 九九视频免费在线观看| 久久成人国产精品免费软件| 欧美一级在线看| 欧美成人一级| 视频一区亚洲| 国产视频自拍一区| 波多野结衣在线se| 欧美精品综合视频一区二区| 午夜福利免费视频| 国产经典三级在线| 一级片免费网站| 国产人在线成免费视频| 日韩免费毛片| 日韩AV无码免费一二三区| 日本午夜影院| 欧美三级不卡在线观看视频| 亚洲天堂首页| 在线中文字幕日韩| 91福利在线看| 久综合日韩| 自偷自拍三级全三级视频| 亚洲国产成人麻豆精品| 午夜欧美理论2019理论| 黄色国产在线| 国内丰满少妇猛烈精品播| 日韩一级二级三级| 日韩区欧美国产区在线观看| 午夜国产精品视频| 国产精品亚洲天堂| 日韩欧美高清视频| 久久女人网| 久久久久久久蜜桃| 激情综合网址| 青青草原国产av福利网站|