基于OpenCV的圖像處理程序開發方法的研究_第1頁
基于OpenCV的圖像處理程序開發方法的研究_第2頁
基于OpenCV的圖像處理程序開發方法的研究_第3頁
基于OpenCV的圖像處理程序開發方法的研究_第4頁
基于OpenCV的圖像處理程序開發方法的研究_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于OpenCV的圖像處理程序開發方法的研究劉麗梅鄭新武陳永明王磊(廈門大學機電工程系,福建廈門 361005摘要:OpenCV是一個開放源代碼的機器視覺庫,可在應用VC+進行程序開發的過程中,直接調用OpenCV視覺庫的特定函數,開發出自己的圖像處理程序。文章通過示例程序“Canny邊緣檢測”,論述了將VC與OpenCV相結合進行圖像處理程序開發的具體方法。關鍵詞:OpenCV;VC+;圖像處理;邊緣檢測中圖分類號:TP391 TN911.73 文獻標識碼:A 文章編號:1672-4801(201005-021-04機器視覺和圖像處理技術已經廣泛應用于工業技術、醫療、航空航天、軍事等各個領域

2、。由于視頻圖像處理程序的開發工作量龐大,如果研發人員自主開發程序必定耗費大量時間和精力。應用OpenCV作為圖像處理基礎類庫,在VC環境下進行程序開發,可以大大縮短開發周期,提高工作效率。1 OpenCV簡介1,2OpenCV的全稱是Open Source Computer Vision Library,由Intel微處理器研究實驗室(Intels Microprocessor Research Lab的視覺交互組(The Visual Interactivity Group開發,是專門用于數字圖像處理的函數庫,能夠在Windows、Linux、Mac平臺中運行。它由一系列C函數和少量C+類構

3、成,提供了針對各種格式的視頻圖像源文件(如:bitmap圖像,video文件和實時攝像機視頻流的幀提取函數和多種標準圖像處理算法,這些函數在具體的開發項目中直接調用,即可完成復雜龐大的開發任務。OpenCV為Intel Integrated Performance Primitives (IPP供了透明接口,如果有為特定處理器優化的IPP庫, OpenCV將在運行時自動加載這些庫。在具備多核處理器的計算機上,OpenCV能夠通過IPP庫發揮多核處理器的并行處理能力和多線程計算的功能。OpenCV和IPP庫的關系如圖1所示。 圖1 IPP與OpenCV的關系2 OpenCV的體系結構OpenCV

4、被設計為模塊化結構,其中大部分類及庫函數都有特定的實際應用背景,因此整個庫的體系結構簡單明了,如圖2所示。OpenCV中每個函數的命名都以“cv”開始,然后是該函數的行為及目標,如cvSnakeImage。根據上述函數體系,研發人員可根據應用程序所要實現的功能,方便地選擇所需庫函數,快速開發程序。3 基于OpenCV的邊緣檢測程序的開發只要正確安裝OpenCV并在應用程序中正確設置與OpenCV的連接,就可以直接調用其中的圖像處理函數,具體步驟如下: 圖2 OpenCV的體系結構(1安裝OpenCV應用程序3;(2編譯所需要的靜態和動態鏈接庫文件運行OpenCV workspace->選

5、擇菜單file-> openworkspace->找到OpenCV.dsw并打開->選擇build->bacthbuild->選擇所有項->單擊build按鈕;(3創建邊緣檢測項目程序首先,選擇菜單“File”-> “New.”-> “Projects”->選擇“Win32 Application”或“Win32 console application”;圖3 開始創建項目程序其次,鍵入項目程序名稱“edge”,選擇存儲位置,可為該項目創建一個單獨的workspace(選中“Create new workspace”,也可將該項目加入到當前

6、的workspace中(選中“Add to current workspace”;單擊“ok”->選擇“An empty project”->點擊“Finish”;圖4 鍵入項目名稱,選擇程序類型最后,在工程中添加所需的OpenCV相關頭文件,其中“cv.h”、“highgui.h”、“cvaux.h”、“cvcam.h”等頭文件是必須的。 (4更改該工程的配置首先,選擇菜單“Project”->“Settings.”,激活項目配置對話框,如圖5。 圖5 更改工程的設置其次,選擇“Settings For:”->“All Configurations”,選擇“C/C+”

7、-> “Preprocessor”->在“Additional Include Directories:”中增加opencvcxcoreinclude, opencvcvinclude,opencvotherlibshighgui 及可選項opencvcvauxinclude等;選擇“Link” ->“Input” ->“Additional library path:”,輸入庫所在的路徑(由安裝地址決定如:C:ProgramFilesOpenCV libcvd.lib,C:ProgramFilesOpenCVlibhihghuid.li b,C:ProgramFile

8、sOpenCVlibcvauxd.lib。 圖6 添加路徑(5更改“Release”的配置首先,選擇“Settings For”->“Win32 Release”;其次,選擇“Link”->“General”->“Object/library modules”,加入用空格分隔的cv.lib,highgui.lib, cvaux.lib等庫文件。 圖7 更改“Release”的配置設置完畢后,即可開始程序編寫,并在程序中調用OpenCV類庫函數,最后編譯連接,生成應用程序“edge.exe”。其中,所開發程序的主要流程如圖8所示。 圖8 邊緣檢測程序的主要流程運行程序后,處理結

9、果如圖1012所示,輸出窗口帶有閾值滑動條,當閾值不同時,所顯示的邊緣信息不同,因此通過調節閾值大小,可得到最佳邊緣檢測效果。 圖9 原圖 圖10 閾值為1時邊緣信息 圖11 閾值為41時邊緣信息 圖12 閾值為81時邊緣信息4 結束語OpenCV的可移植性好,具備強大的圖像和矩陣運算能力,可大大減少開發者的工作量,有效提高開發效率和程序運行的可靠性,已經得到廣泛的應用4。運用VC與OpenCV結合進行程序開發,使視頻圖像處理技術得到了更快發展。參考文獻:1于仕琪.OpenCV教程基礎篇(第1版M.北京:北京航空航天大學出版社,2007.2Jerome Landre.PROGRAMMING W

10、ITH INTEL IPP AND INTEL OPENCVM.2003.3陳磊.計算機視覺類庫OpenCV在VC中的應用J.微計算機信息,2007(12.4馬桂珍,朱玲贊,段麗.基于opencv的視頻應用程序的開發方法J.現代電子技術.2007(4.5楊淑瑩.VC+圖像處理程序設計(第2版M.北京:清華大學出版社,2005.6Mathew Price.Using the Intel OpenCV LibraryM.2004.7Linda G.Shapiro,George C.Stockkman.Computer VisionM.USA:Prentice Hall,2001.作者簡介:劉麗梅(1985年-,女,碩士研究生,研究方向:測試計量技術及儀器。謹致作者敬請本刊作者允諾:稿件中沒有侵犯他人著作權或其它權利的內容并且文責自負;投寄給本刊的稿件(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論