久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

淺談OpenCV[轉(zhuǎn)]

 沉毅館 2011-10-13

     OpenCV是一個由Interl公司支持的開源機(jī)器視覺庫,,關(guān)于它的介紹,,網(wǎng)上隨便一搜就車載斗量。這里我不談OpenCV的主要內(nèi)容,,而是將這段時間來對它的使用心得作個簡單介紹,,以啟發(fā)打算用這個庫的朋友的思路,與大家一起來分享,。

     我在學(xué)校的時候,,雖然是圖像處理研究方向,但真正具體的應(yīng)用到圖像的很多東西,,還是在參加工作以后的事,。以前在處理圖像的時候,我們從不擔(dān)心速度的問題,, 以為計算機(jī)硬件發(fā)展到今天,,無所不能的了,雙核乃至四核的處理速度簡直要趕上宇宙飛船了,。但用在機(jī)器視覺上,,那又是另外一碼事。通常而言,,機(jī)器視覺要求對 圖像的處理速度都是以毫秒(ms)為單位,,具體而言是幾點幾個毫秒,硬件再硬,,如果算法不好,,速度就永遠(yuǎn)提不上去,所以速度還是至關(guān)重要的東西,,并不是所 謂由硬件技術(shù)就決定了的,。

     速度是一個方面,精度又是另一個重要方面了,。視覺中對精度的要求,,通常是以亞像素標(biāo)準(zhǔn)來衡量的。所以對圖像處理的算法,,不是一般的算法來解決,,往往都得 使用子像元算法,這樣才能達(dá)到亞像素標(biāo)準(zhǔn)。通常我們對一幅圖像的像素坐標(biāo)都是用整數(shù)計算,,但在機(jī)器視覺中普遍采用亞像素標(biāo)準(zhǔn),,都是浮點數(shù)來計算的。但有的 雖然寫出來的是浮點數(shù),,未必就是用的子像元算法,,它的結(jié)果根本就不是亞像素。視覺中精度的要求,,也是要求極高,一般以微米(um)為計量單位,,像幾點幾個 微米,,而只有使用子像元算法才能真正達(dá)到這個要求。

    總的說來,,目前國內(nèi)還沒有一個真正意義上的成功的機(jī)器視覺開發(fā)包,,國內(nèi)的機(jī)器視覺方面的大公司基本上還是以代理國外的軟件為主。一方面固然是國內(nèi)的起步 晚,,但我覺得更多原因還是國內(nèi)在這方面沒有下功夫去做一些基礎(chǔ)性的研究工作,,總是靠代理別人的東西來實現(xiàn)一個視覺系統(tǒng)的開發(fā),。而OpenCV就是一個在機(jī) 器視覺方面基礎(chǔ)工作做得最好的,。

    總的說來,OpenCV提供的函數(shù)庫涉及的方面很廣,,圖像處理功能強(qiáng)大,,但它僅僅是供研究的一個基礎(chǔ)的東西,并不是一計膏藥,,往哪一貼哪就好使,。我們只有在借助它提供的一些基礎(chǔ)功能上進(jìn)行深入研究,才能開發(fā)出屬于自己的產(chǎn)品來,。

     OpenCV作為一個開源的函數(shù)庫,,為我們提供了很多方便,看它的源代碼,,確實有很多值得學(xué)習(xí)的獨到地方,。但作為開源的,局限也就在此,。它的很多東西并不 是最優(yōu)的,,如果真要那樣,直接就可以拿來在商業(yè)上運(yùn)用了,。所以,,我們只有不斷的對它進(jìn)行改造,才能更貼近我們的應(yīng)用,,這里結(jié)合我在使用的幾處加以說明,。

     首先是圖像的定位,。OpenCV也提供了一個圖像匹配的函數(shù),,這個函數(shù)還是寫的不錯的,但要直接用到商業(yè)上就不行了,。因為它的處理速度很慢,精度也不是亞 像素的,,而且沒有旋轉(zhuǎn)。它僅僅是一個單純的灰度定位,。要怎么用好這個函數(shù)呢,,在使用這個函數(shù)的時候,我還是下了很多功夫的,,對此做了一些改進(jìn),,讓它真正的 實現(xiàn)了商業(yè)價值,。如今我用OpenCV編寫的定位軟件,,其速度和精度絲毫不比國外的那些名牌軟件差多少,像halcon和sapera這樣的軟件巨頭,,我 用OpenCV做出來的定位效果,,比如一幅分辨率為1280*1024的圖像,它們的速度是幾個毫秒,,而我做出來的也最多多3至4個毫秒,精度也差不多,, 但由于OpenCV本身不是亞像素的局限所在,,所以精度通常在一個像素左右。   

    再說說幾何定位,,halcon是采用基于幾何形狀的算法來進(jìn)行定位的,,可以說做得非常的好,好就好在它的模版圖像形狀可以任意選取,,任意旋轉(zhuǎn),。而 Sapera的基于邊緣輪廓的定位還要上一個層次,關(guān)于它的算法,,目前還沒有人了解,,至今還是個謎。在很多機(jī)器圖像定位上,幾何定位效果更好,,更準(zhǔn)確,。灰 度定位在一些圖像區(qū)域直方圖相近似的情況下,,往往很難找準(zhǔn)目標(biāo)區(qū)域,。而幾何定位,,根據(jù)區(qū)域的幾何特征來做出判斷,,不單準(zhǔn)確,而且執(zhí)行起來效率更高,。目前我 用OpenCV做的幾何定位總體上說效果還不錯,,但精度還趕不上,在圖像邊緣的離合上還不那樣準(zhǔn)確,,不過在后續(xù)的研究中,,還是會趕上的,。

     一般而言,,對于圖像的目標(biāo)區(qū)域都是有形狀的,但在實際運(yùn)用中,,我遇到一個客戶只要求定位直線的,,由于直線不屬于一個有形狀的區(qū)域,它的特征很難描述,,所以 看似最簡單的卻最難辦,。OpenCV采用Hough變換來檢測直線和圓,效果也并不好,。因為Hough變換的實質(zhì)也就是兩種不同空間的映射,,它在噪聲大的 圖像中,檢測出來的結(jié)果千奇百怪,。所以要準(zhǔn)確的找到邊,,必然得對圖像做好預(yù)處理,讓處理后的邊緣很明顯表現(xiàn)出來,,再進(jìn)行Hough檢測就容易多了,。

    在機(jī)器視覺中,Blob分析是要經(jīng)常遇見的,,OpenCV也有Blob跟蹤的實例,,但我沒去認(rèn)真用過,而是自己做了個算法采用它也實現(xiàn)了,,且效果也不錯,。 我在做一個啤酒瓶磨具號碼檢測的項目里,就調(diào)用了自己設(shè)計的Blob分析算法,效果都還不錯,。在具體使用中,,往往要用到我們自己定義的圖像類型,于是我又 把OpenCV里的IplImage結(jié)構(gòu)進(jìn)行了改造,,然后定義了屬于自己的圖像類,,可以隨意讀取,這樣方便了很多,。其實OPenCV里面對文件的操作寫得 相當(dāng)好,,非常方便。

    總的來說,,OpenCV是一個非常不錯的開源項目,,有很多東西需要我們?nèi)W(xué)習(xí)。但它的源代碼,,要讀明白也非易事,。因為它涉及到大量的宏定義,很多函數(shù)語句 都是些宏定義在里面,,還互相嵌套,,看起來相當(dāng)?shù)睦щy。而且本人接觸它的時間也不過兩三個月,,所以理解得也不透徹,。還得一邊用一邊學(xué),在實踐中摸索和消化,。 在此只為提示一個思路而言,,個中算法不便言明,否則老板看見,,定然要批評了,。商場如戰(zhàn)場,一切都要做好保密工作,,哈哈!(若有朋友對軟件有需求,,可與俺聯(lián) 系哈)

高手 于深圳

2007.10.2

SkySeraph Oct24th HQU


作者:skyseraph
出處:http://www.cnblogs.com/skyseraph/
Email/GTalk: [email protected] QQ:452728574
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,,但未經(jīng)作者同意必須保留此段聲明,,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多