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