資源描述:
《ubuntu下基于opencv的canny邊緣檢測(cè)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、Ubuntu下基于OpenCV的Canny邊緣檢測(cè)摘要:詳細(xì)地介紹了用于數(shù)字圖像處理的開放源代碼的計(jì)算機(jī)視覺類庫—OpenCV。利用OpenCV中的數(shù)字圖像處理函數(shù)使復(fù)雜的問題變得簡(jiǎn)單化。介紹了OpenCV的特點(diǎn)和功能,討論了在Ubuntu環(huán)境下如何配置OpenCV,最后在此基礎(chǔ)上給出了一個(gè)Canny邊緣檢測(cè)應(yīng)用實(shí)例,其對(duì)數(shù)字圖像處理的研究具有一定的實(shí)用價(jià)值。 關(guān)鍵詞:數(shù)字圖像處理計(jì)算機(jī)視覺OpenCVUbuntu :TP391.41:A:1007-9416(2011)01-0053-02 Cannyedgedetec
2、tionbasedonOpenCVinUbuntu XuCaijing (Nanjingfire-fightingsergeancyestoschoolCultureteachingnanjing211133) Abstract:Describedindetailfordigitalimageprocessingoftheopensourceputervisionlibrary—OpenCV.UseOpenCVindigitalimageprocessingfunctionscansimpliflytheplexp
3、roblem.DescribesthefeaturesandfunctionsofOpenCV,anddiscussedhoent.Finally,baseonCannyedgedetectionisgivenanapplicationexample.Ithascertainpracticalvalueontheresearchofdigitalimageprocessing. Keyageprocessing;putervision;OpenCV;Ubuntu 1、引言 近年來,無論在生活還是在工程運(yùn)用中涉及到得圖像
4、絕大多數(shù)是數(shù)字圖像。它是用一個(gè)數(shù)字陣列表示的,該陣列的每個(gè)元素稱為像素,該像素是組成數(shù)字圖像的基本元素,按照某種規(guī)律變成一系列二進(jìn)制代碼(0和1)來表示圖像上的每個(gè)點(diǎn),所以又被稱為離散圖像。對(duì)數(shù)字圖像的處理已廣泛應(yīng)用到工業(yè)、農(nóng)業(yè)、微生物、醫(yī)學(xué)、航空航天及國防等諸多領(lǐng)域。 隨著數(shù)字圖像處理應(yīng)用的日益廣泛,數(shù)量大、處理時(shí)間長(zhǎng)和速度慢等缺點(diǎn)也顯現(xiàn)出來。雖然隨著處理器速度和內(nèi)存容量的指數(shù)式增長(zhǎng),上述的問題有所改善,但問題還是相當(dāng)突出。所以研究者不斷地開發(fā)出圖像處理的高效算法及圖像處理的軟件包,這些軟件包對(duì)計(jì)算機(jī)圖像處理和計(jì)算機(jī)視覺的研
5、究提供很大的便利。但是也存在著諸多的缺點(diǎn):(1)大多數(shù)軟件包沒有高級(jí)數(shù)學(xué)計(jì)算函數(shù);(2)MatLab是圖像處理很好的軟件,但是它的運(yùn)行速度是不能忍受的;(3)絕大多數(shù)的軟件包不支持可嵌入性等?! ”疚闹饕榻BOpenCV(opensourceputervisionlibrary)的特點(diǎn),以及它在Ubuntu環(huán)境下的配置,最后給出了一個(gè)Canny邊緣檢測(cè)應(yīng)用實(shí)例。 2、OpenCV介紹 開發(fā)源代碼的計(jì)算機(jī)視覺類庫OpenCV是由Intel公司位于俄羅斯的研究實(shí)驗(yàn)室開發(fā)出來的。為了考慮計(jì)算的速度,大多數(shù)圖像處理的軟件包是用C
6、/C++編寫的,OpenCV也不例外。它是由300多個(gè)C函數(shù)和C++類所組成的庫,在IPL(imageprocessinglibrary)基礎(chǔ)上發(fā)展而來的。主要由4個(gè)模塊組成:(1)cv:主要的OpenCV函數(shù);(2)cvaux:輔助性的OpenCV函數(shù);(3)cxcore:數(shù)據(jù)結(jié)構(gòu)與線性代數(shù)支持;(4)highgui:圖像界面函數(shù)?! ?、OpenCV的特點(diǎn) 雖然很多文獻(xiàn)都提到了OpenCV的特點(diǎn),但是都沒有對(duì)其進(jìn)行系統(tǒng)地描述總結(jié),本文對(duì)其特點(diǎn)進(jìn)行了歸納總結(jié),如下: (1)具有良好的獨(dú)立性。包含了300多個(gè)C函數(shù)和C+
7、+類,不依賴于外部庫,即可獨(dú)立運(yùn)行,也可以運(yùn)行時(shí)使用其它外部庫。(2)具有良好的跨平臺(tái)性。OpenCV是由跨平臺(tái)的中高層API構(gòu)成,為程序員提供了能在很多平臺(tái)上都適用的移植性好的算法基礎(chǔ)操作,很好地支持SVC++6.0、MSVC++.2003、MSVC++.2005、BorlandC++Builder和Ubuntu等,可以作為二次開發(fā)的理想工具。(3)具有豐富的圖像處理函數(shù)。OpenCV包含了列表、隊(duì)列、集合、圖等基本的數(shù)據(jù)結(jié)構(gòu);求特征值、奇異值等的矩陣和向量及線性代數(shù)的操作;圖像濾波、邊緣檢測(cè)、角點(diǎn)檢測(cè)、數(shù)學(xué)形態(tài)學(xué)操作等的基本
8、數(shù)字圖像處理;還包括對(duì)圖像的高級(jí)處理,如特征檢測(cè)與跟蹤、運(yùn)動(dòng)分析、目標(biāo)分割與識(shí)別以及3D重建等各種應(yīng)用。(4)處理速度快。OpenCV中的算法都是基于封裝于IPL的具有很高靈活性的動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu),基于Intel處理器指令集開發(fā)的優(yōu)化代碼,所有處理的速度相當(dāng)快。而且