opencv和opengl哪個(gè)更有前途?
OpenGL
OpenGL的發(fā)展一直處于一種較為遲緩的態(tài)勢,每次版本的提高新增的技術(shù)很少,大多只是對其中部分做出修改和完善。1992年7月,SGI公司發(fā)布了OpenGL的1.0版本,隨后又與微軟公司共同開發(fā)了Windows NT版本的OpenGL,從而使一些原來必須在高檔圖形工作站上運(yùn)行的大型3D圖形處理軟件也可以在微機(jī)上運(yùn)用。1995年OpenGL的1.1版本面市,該版本比1.0的性能有許多提高,并加入了一些新的功能。其中包括改進(jìn)打印機(jī)支持,在增強(qiáng)元文件中包含OpenGL的調(diào)用,頂點(diǎn)數(shù)組的新特性,提高頂點(diǎn)位置、法線、顏色、色彩指數(shù)、紋理坐標(biāo)、多邊形邊緣標(biāo)識的傳輸速度,引入了新的紋理特性等等。OpenGL 1.5又新增了“OpenGL Shading Language”,該語言是“OpenGL 2.0”的底核,用于著色對象、頂點(diǎn)著色以及片斷著色技術(shù)的擴(kuò)展功能。
OpenGL 2.0標(biāo)準(zhǔn)的主要制訂者并非原來的SGI,而是逐漸在ARB中占據(jù)主動地位的3DLabs。2.0版本首先要做的是與舊版本之間的完整兼容性,同時(shí)在頂點(diǎn)與像素及內(nèi)存管理上與DirectX共同合作以維持均勢。OpenGL 2.0將由OpenGL 1.3的現(xiàn)有功能加上與之完全兼容的新功能所組成(如圖一)。借此可以對在ARB停滯不前時(shí)代各家推出的各種糾纏不清的擴(kuò)展指令集做一次徹底的精簡。此外,硬件可編程能力的實(shí)現(xiàn)也提供了一個(gè)更好的方法以整合現(xiàn)有的擴(kuò)展指令。
目前,隨著DirectX的不斷發(fā)展和完善,OpenGL的優(yōu)勢逐漸喪失,至今雖然已有3Dlabs提倡開發(fā)的2.0版本面世,在其中加入了很多類似于DirectX中可編程單元的設(shè)計(jì),但廠商的用戶的認(rèn)知程度并不高,未來的OpenGL發(fā)展前景迷茫。
為什么存在OpenCV
計(jì)算機(jī)視覺市場巨大而且持續(xù)增長,且這方面沒有標(biāo)準(zhǔn)API,目前的計(jì)算機(jī)視覺軟件大概有以下三種:
1) 研究代碼(慢,不穩(wěn)定,獨(dú)立并與其他庫不兼容)
2) 耗費(fèi)很高的商業(yè)化工具(比如Halcon, MATLAB+Simulink)
3) 依賴硬件的一些特別的解決方案(比如視頻監(jiān)控,制造控制系統(tǒng),醫(yī)療設(shè)備)
這是目前的現(xiàn)狀。而標(biāo)準(zhǔn)的API將簡化計(jì)算機(jī)視覺程序和解決方案的開發(fā)。OpenCV致力于成為這樣的標(biāo)準(zhǔn)API。
2、 項(xiàng)目歷史
1999年1月,CVL項(xiàng)目啟動。主要目標(biāo)是人機(jī)界面,能被UI調(diào)用的實(shí)時(shí)計(jì)算機(jī)視覺庫,為Intel處理器做了特定優(yōu)化。
2000年6月,第一個(gè)開源版本OpenCV alpha 3發(fā)布。
2000年12月,針對linux平臺的OpenCV beta 1發(fā)布。
期間,繼續(xù)各種研究。。。
2006年,支持Mac OS的OpenCV 1.0發(fā)布。
2009年9月,OpenCV1.2(beta2.0)發(fā)布。
2009年10月1日,Version 2.0發(fā)布。
OpenCV 擁有包括 500 多個(gè)C函數(shù)的跨平臺的中、高層 API。它不依賴于其它的外部庫——盡管也可以使用某些外部庫。
OpenCV 使用類BSDlisence,所以對非商業(yè)應(yīng)用和商業(yè)應(yīng)用都是免費(fèi)(FREE)的。(細(xì)節(jié)參考 license)。
OpenCV 為Intel Integrated Performance Primitives (IPP) 提供了透明接口。 這意味著如果有為特定處理器優(yōu)化的的IPP 庫, OpenCV 將在運(yùn)行時(shí)自動加載這些庫。
OpenCV提供的視覺處理算法非常豐富,并且他不分以C語言編寫,加上其開源的特性,處理得當(dāng),不需要添加新的外部支持也可以完整的編譯鏈接生成執(zhí)行程序,所以很多人用它來做算法的移植,OpenCV的代碼經(jīng)過適當(dāng)改寫可以正常的運(yùn)行在DSP系統(tǒng)和單片機(jī)系統(tǒng)中,目前這種移植在大學(xué)中經(jīng)常作為相關(guān)專業(yè)本科生畢業(yè)設(shè)計(jì)或者研究生課題的選題。
OpenCV學(xué)術(shù)氣息太強(qiáng),功能雖多,但針對特定功能的優(yōu)化不足,適合創(chuàng)建原型,不適合開發(fā)產(chǎn)品,所以也沒什么前途——當(dāng)然總比死掉的OpenGL有前途。
評論