国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
OpenCV+Ruby構(gòu)建圖像處理研究平臺(tái)
OpenCV
OpenCV是一個(gè)很流行的圖像處理庫(kù),它為圖像處理算法研究提供了很好的平臺(tái),甚至很多產(chǎn)品在OpenCV的基礎(chǔ)上稍作修改就可以達(dá)到目標(biāo)。有關(guān)OpenCV的介紹,abruzzi有一篇不錯(cuò)的介紹帖子(http://www.javaeye.com/topic/463668),所以這里就不再做詳細(xì)介紹。

Why OpenCV + Ruby ?
學(xué)院派的圖像處理研究者喜歡用MATLAB,而實(shí)際產(chǎn)品開發(fā),則用C/C++居多,特別是嵌入式系統(tǒng),最終都要用C/C++重新實(shí)現(xiàn)算法甚至要用匯編優(yōu)化部分代碼。

當(dāng)然,很多公司是學(xué)院派和工程派兼之。

用MATLAB的好處是可以快速實(shí)現(xiàn)算法,缺點(diǎn)是當(dāng)你想把算法變成產(chǎn)品的時(shí)候,要經(jīng)過一個(gè)比較長(zhǎng)的過程,要把算法用C/C++再實(shí)現(xiàn)一遍。

OpenCV本身就是用C++寫的,而且很多算法已經(jīng)經(jīng)過了優(yōu)化,性能不錯(cuò)。因此如果直接基于OpenCV開發(fā)算法,在最終轉(zhuǎn)化為產(chǎn)品的時(shí)候就很方便。

直接基于OpenCV開展算法研究的一個(gè)最大問題是缺乏快速驗(yàn)證的平臺(tái)。雖然OpenCV提供了highgui用于簡(jiǎn)單的結(jié)果展示,但是離“方便”還是缺很遠(yuǎn)。我過去是用VC/MFC構(gòu)建開發(fā)平臺(tái),提供了很多方便的功能輔助算法研究,但是平臺(tái)的構(gòu)建和維護(hù),以及功能的增加都要花費(fèi)巨大的努力,算法研究人員要為維護(hù)平臺(tái)而煞費(fèi)苦心。

一個(gè)通用的,易于維護(hù),可擴(kuò)展的平臺(tái)對(duì)圖像處理算法研究非常有幫助。

Ruby語言擁有容易學(xué)習(xí),語法優(yōu)雅,表達(dá)能力強(qiáng)的特點(diǎn),而且加上RubyGnome2 GUI庫(kù),可以很方便地實(shí)現(xiàn)理想中的圖像處理算法研究平臺(tái)。

另外,還有其他幾個(gè)因素使得Ruby適合做這樣的平臺(tái):
1. RubyInline可以讓你在ruby程序中嵌入C代碼,這對(duì)于嘗試一些貼近底層的算法調(diào)整非常方便。
2. Ruby的C擴(kuò)展還算比較容易編寫。
3. Ruby是動(dòng)態(tài)語言,可以方便地為平臺(tái)增添插件功能,或者提供一個(gè)腳本控制臺(tái)。

在這里不能不提到Python,Python是一門優(yōu)秀的腳步語言,也有很多庫(kù)支持,特別是OpenCV官方就提供了Python的綁定。用Ruby或是Python只是個(gè)人喜好的問題。


Tui Image Studio
這是一個(gè)用Ruby寫的,支持OpenCV的跨平臺(tái)圖像算法研究平臺(tái)軟件。它為圖像處理研究提供了許多基本設(shè)施,例如直方圖查看,區(qū)域分割與選擇,攝像頭連接等,而更多的圖像處理算法則通過插件的形式來提供。

當(dāng)你想嘗試一個(gè)新的算法的時(shí)候,如果現(xiàn)有的插件中不能實(shí)現(xiàn),就可以新寫一個(gè)插件。多個(gè)插件可以以鏈接的方式協(xié)同工作,當(dāng)然插件也可以暴露供外部調(diào)用的接口。

插件的界面和流程控制用ruby編寫。當(dāng)需要用C的時(shí)候,你可以編寫C擴(kuò)展或者直接在插件的ruby代碼中嵌入C代碼,Tui平臺(tái)會(huì)通過RubyInline自動(dòng)為你編譯。

通常情況下,為OpenCV本身提供的功能編寫插件,包括UI代碼都在100行以內(nèi)。

在Tui中算法驗(yàn)證通過以后,把這個(gè)算法在實(shí)際產(chǎn)品中實(shí)現(xiàn)則相對(duì)簡(jiǎn)單:因?yàn)槎际腔贠penCV,增加的算法代碼也都是用C寫的。

你編寫的插件越多,積累的算法也就越多,下一步算法研究也就越容易。

另外,Tui平臺(tái)還提供分布式處理工具:有些算法需要巨大的運(yùn)算量,要對(duì)一個(gè)數(shù)萬張圖片的圖庫(kù)驗(yàn)證一個(gè)算法需要很長(zhǎng)的時(shí)間,這個(gè)時(shí)候你就需要幾臺(tái)或數(shù)十臺(tái)PC來進(jìn)行并行運(yùn)算。Tui為你提供了這樣的便捷工具,你可以發(fā)布你的插件到所有安裝了Tui的機(jī)器并分配驗(yàn)證任務(wù),最后收集結(jié)果報(bào)告。

Tui Image Studio截圖:



圖中演示了Canny邊緣檢測(cè),直方圖,高通濾波,以及一個(gè)從攝像頭獲取實(shí)時(shí)視頻并做人臉檢測(cè)的插件。

Conclusion
OpenCV+Ruby為圖像處理研究提供了一個(gè)利器,可以快速驗(yàn)證算法并平滑過渡到最終產(chǎn)品。Ruby用作GUI程序開發(fā)已不僅僅是玩具而已,RubyGnome2可以用于開發(fā)復(fù)雜的,嚴(yán)肅的桌面應(yīng)用程序。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
幾種常用圖像處理開源庫(kù)簡(jiǎn)介及使用總結(jié)
數(shù)字圖像處理初學(xué)者學(xué)習(xí)路線
通過OpenCV和Python進(jìn)行文本傾斜校正
OpenCV學(xué)習(xí)筆記(基于OpenCV 2.4)一:哈嘍CV | 貝殼里的海
機(jī)器視覺
opencv簡(jiǎn)單的霍夫線變換應(yīng)用,得到物體角度
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服