SOPC技術在視覺測量中的設計方案與應用
2.3 系統軟件的設計
本系統的控制流程相對簡單,因此在 Nios II軟核中沒有內嵌操作系統,而是通過 IO操作調用中斷的方式實現運行狀態的控制、數據通信、協調外設等基本操作,控制系統各硬件模塊,使系統軟硬件協同工作。整個系統搭建成功之后,在 PC機上編寫應用程序對整個SOPC系統的運行進行控制。
3 系統算法的具體實現
3.1 濾波模塊
根據所采集到的圖像的特點,本文采用 3×3的模板實現中值濾波,這種方法不僅可以濾除圖像中的噪聲,而且可以將邊緣信息很好的保留下來。一般求取中值的方法是采用取冒泡法排序,但這種算法并不適合硬件實現??紤]到硬件實現的特點和效率,本文采用了一種全新的求取中值的算法,其原理如圖 3所示。其中 max、mid、min分別表示三輸入的最大值、中值和最小值比較器。最后經幾輪比較后求得中值。
3.2 邊緣提取模塊及二值化模塊
邊緣提取采用 Roberts算子。 Roberts邊緣檢測算子利用局部差分算子尋找邊緣,其計算由式 1給出。
由于待處理圖像特征明顯,采用經驗閾值法對圖像進行二值化,算法簡單、實現方便。
3.3 邊緣細化模塊
本文的邊緣是建立在二值化之后的,因此處理的圖像都是二值化的,邊緣非常清晰,不需要太復雜的算法。這里采用兩個 3×3模板作乘積,如圖所示, X為待處理像素。如果模板乘積不為 0,于是中心象素為 1,反之為 0,即點的周圍有灰度為 0的象素,則保留此點,否則剔除。如此很容易得到二值化后點的單象素邊緣。
3.4 后續處理部分
后續處理部分由于其數據處理量并不大且算法比較復雜,所以在本系統中,這部分算法在 NiosⅡ中以軟件的方法實現。由于篇幅所限,在此不作詳細介紹。
4 系統測試結果的分析與總結
圖 4為原始圖像。圖 5為處理后的最終圖像,點中心已經標注如圖所示。
經測試,本系統所有算法用 C語言在 PC機(配置: Pentium( R) 4 CPU 3.00GHz, 512MB內存)上實現,所需時間為 2'12",而本系統僅需 30",其中主要耗時為 NiosII軟件處理部分,系統的硬件算法部分所耗時間不到 1"。
本文作者創新點:一是采用 FPGA設計硬件模塊實現圖像預處理算法,這是視覺測量系統在處理效率上的創新;二是在系統中加入Nios II CPU,用以 FPGA難以實現的算法,從而使基于 SOPC技術的視覺測量系統更具靈活性,這是視覺測量系統在靈活性方面的創新?;谝陨蟽牲c創新設計的視覺測量系統兼顧了效率和靈活性,為視覺測量系統的設計和研究提供了一種新的思路。
評論