OpenCV的加速嵌入式系統開發(fā)中的應用
嵌入式處理器的性能日益提升、價格不斷下降,帶來日益廣泛的嵌入式計算機視覺應用,包括從安全及工業(yè)監(jiān)控到自動化車輛與汽車安全等領域。開發(fā)人員可充分利用越來越高級的硬件,在不影響基本質量的同時,更快速、更低成本地開發(fā)具有突破性性能的產品。
本文引用地址:http://cafeforensic.com/article/150861.htm開發(fā)周期縮短而帶來的巨大壓力,迫使嵌入式系統開發(fā)人員必須高效利用嵌入式領域與傳統PC工作站領域的現有技術;適應并復用現有穩(wěn)定軟件可為嵌入式開發(fā)人員提供不斷開發(fā)重大新項目的必備基礎。
OpenCV就是PC軟件進入嵌入式開發(fā)領域的一個實例。OpenCV是一款免費的開源計算機視覺庫,可提供從影像過濾及轉換,到特性抽象與機器學習等幾十個不同類別的數百種算法。它已被成千上萬的開發(fā)人員所使用,而且還在不斷發(fā)展之中。目前有很多庫是針對嵌入式系統的,但很少有像OpenCV這樣能夠在計算機視覺領域得到普遍推廣,而且涵蓋如此豐富的算法。
圖1:OpenCV庫縮略圖
盡管OpenCV最初來源于Intel的x86架構,但它也不失為目前功能日益強大的嵌入式器件的自然選擇。OpenCV現已移植到嵌入式處理器常用CPU選擇ARM架構上,這點也并不奇怪。我們完全能夠在嵌入式器件上原封不動地采用OpenCV的交叉編譯版,不過,存儲器限制與其它架構注意事項可能會帶來一個技術難題。因此我們需要對OpenCV進行優(yōu)化,以使它在新的主機上實現更高性能與更高效率。
對嵌入式平臺而言,“優(yōu)化”這個詞以前意味著要無限制地研究低級架構中不重要的細節(jié),反復編寫匯編語言代碼。然而幸運的是,隨著嵌入式處理器復雜性的提升,嵌入式開發(fā)工具已變得日益強大,用戶友好性也得以大幅提高。
典型的嵌入式器件可描述為系統級芯片(SoC),其中不僅包含ARM處理器,而且還含有多種外設與加速器,可將CPU從相關支持任務中解放出來。SoC甚至可能具有多個ARM內核,或其它功能齊全的協處理器。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論