蘇慧娟++于正林++張桂林
摘 要:OpenCV是近年來最受歡迎的計算機視覺應用庫。在其基礎上編寫圖像處理代碼效率得到有效提高。本文旨在對OpenCV進行一個快速全面簡介,通過介紹其數據結構、HighGUI庫,圖像處理函數使讀者能快速形成對OpenCV印象。文章詳細介紹了2.4.4版本在VS2010中的安裝測試說明。讀者能夠在此基礎上架構自己代碼。文章最后通過自適應閾值分割實例來介紹OpenCV的具體應用。
關鍵詞:OpenCV VS2010 圖像處理
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1672-3791(2014)03(b)-0018-02
OpenCV誕生于Inter研究中心,采用C/C++編寫,包含覆蓋計算機視覺眾多應用領域的五百多個函數。如工廠產品檢測,醫學成像,立體視覺和機器人等。Open CV 除可運行在Linux/Windows/Mac等操作系統上之外,提供了Python,mat lab等其他語言接口。其目的在于開發一個普遍可用的計算機視覺庫,為基本的視覺應用提供開放且優化的源代碼,使開發者能夠在這個通用的架構上可以繼續進一步的工作。Open CV被設計成可移植性的庫。它的代碼可被主流編譯器進行編譯,幾乎可運用于所有商業系統,在已知的可運行open CV系統平臺上,基于32位的Inter架構的Windows/Linux系統支持最好。最初團隊建設性的工作由世界各地的會員接棒,核心開發從Inter轉移到別處。OpenCV代碼可部分或者整體嵌入其他應用程序中,用戶可以選擇將自己改進的部分提交到openCV庫中,因此這是相對活躍的開發項目。用戶可以通過SourceForge網站上的OpenCV庫的SVN獲得修復bug后的最新的代碼。
1 Open CV的結構和內容
Open CV提供了三種基本數據類型:CvPoint,CvSize和CvArr。更為常用的還有由其派生出來的CvRect,CvScalar和IplImage。嚴格說OpenCv雖是由C語言實現,但是其設計思想卻融入了面向對象和面向模板的設計方法。IplImage是對“圖像”層次進行編碼的基本結構。OpenCV提供大量圖像矩陣操作符,實現了圖像處理中的基本操作,例如加法、乘法、對角化、正規化等矩陣運算和一些復雜的圖像統計操作等。
OpenCV將與操作系統、文件存儲和攝像機之類硬件進行交互的函數納入HighG
UI庫中。通過提供一對簡單的函數cvLoadImage()、cvSaveImage()來讀取和存儲圖像,這兩個函數會自動根據文件的后綴完成所有的編碼和解碼工作。用戶省去了面對各種硬件讀入數據麻煩,專心代碼部分。此外,利用庫中封裝的一些函數可以方便的加入一些鼠標、光標、鍵盤事件響應和滑動條控件。
OpenCV還提供了可以處理更加復雜圖像處理變換的函數,將大量高級算法進行封裝,用戶通過設置其中參數來選擇究竟用那種具體算法來實現某種功能。這省去了大量底層代碼重復建構過程,使得開發周期縮短。
2 OpenCV在VS2010中的安裝簡介
以OpenCV最新的安裝版本2.4.4在VS2010中的配置為例進行說明。將軟件下載解壓到某一文件夾下,由于后面頻繁的將include文件夾里的庫文件進行添加,將其路徑復制在寫字板可省去頻繁手工敲入的麻煩,第一步先設置變量:用戶變量和系統變量分別添加上bin文件夾的路徑…opencv\build\x86\vc10\bin。若是64位機器,將其中的X86改成X64即可。查詢自己機器32還是64可以通過以下路徑實現:點擊開始-運行,敲入cmd.在出現的命令提示符中輸入systeminfo回車即可在系統類型后面查看X86即32位,X64即64位。用戶變量下面點擊新建建立一個路徑是include文件夾所在路徑的path。
接下來新建一個工程,通過設置該工程來完成Opencv頭文件包含,也可以進行軟件測試驗證設置是否成功。這里選最簡單的完成顯示圖像lena這一功能的簡單代碼測試。
uild\x86\vc10\lib中的所有文件即debug 和release版本下的各個庫函數。
接下來找一段最簡單的顯示圖像函數將源程序文件添加到新建的工程中。將lena圖片放在和源程序一個文件夾里進行調試,若是可以顯示圖像即驗證設置成功。
3 OpenCV應用程序實例
4 結語
OpenCV由于其代碼完全開放,用戶不但可以對源代碼直接使用,而且還可以進行修改,加入新類,此外,開放的源代碼對于學習者理解圖像處理中很多經典算法的原理及實現過程也是很有幫助的,而且OpenCV操作方便,不但可以作為應用程序的后臺處理程序,而且可以作為控制臺程序進行操作。OpenCV在眾多圖像處理領域具有廣泛前景。
參考文獻
[1] 于仕琪,劉瑞禎.學習OpenCV[M].清華大學出版社,2009.
[2] 郭慶耀.VC2010下安裝Opencv2.4.4[EB/OL].http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%
AE%89%E8%A3%85OpenCV2.4.4.
[3] 賈小軍,喻擎蒼.基于開源計算機視覺庫OpenCV的圖像處理[J].計算機應用與軟件,2008,25(4):276-278.
[4] 夏寬理.算法基礎[M].高等教育出版社,2003.
[5] 陰法名.基于OpenCV圖像處理[J].科技信息,2009(32):220.endprint
摘 要:OpenCV是近年來最受歡迎的計算機視覺應用庫。在其基礎上編寫圖像處理代碼效率得到有效提高。本文旨在對OpenCV進行一個快速全面簡介,通過介紹其數據結構、HighGUI庫,圖像處理函數使讀者能快速形成對OpenCV印象。文章詳細介紹了2.4.4版本在VS2010中的安裝測試說明。讀者能夠在此基礎上架構自己代碼。文章最后通過自適應閾值分割實例來介紹OpenCV的具體應用。
關鍵詞:OpenCV VS2010 圖像處理
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1672-3791(2014)03(b)-0018-02
OpenCV誕生于Inter研究中心,采用C/C++編寫,包含覆蓋計算機視覺眾多應用領域的五百多個函數。如工廠產品檢測,醫學成像,立體視覺和機器人等。Open CV 除可運行在Linux/Windows/Mac等操作系統上之外,提供了Python,mat lab等其他語言接口。其目的在于開發一個普遍可用的計算機視覺庫,為基本的視覺應用提供開放且優化的源代碼,使開發者能夠在這個通用的架構上可以繼續進一步的工作。Open CV被設計成可移植性的庫。它的代碼可被主流編譯器進行編譯,幾乎可運用于所有商業系統,在已知的可運行open CV系統平臺上,基于32位的Inter架構的Windows/Linux系統支持最好。最初團隊建設性的工作由世界各地的會員接棒,核心開發從Inter轉移到別處。OpenCV代碼可部分或者整體嵌入其他應用程序中,用戶可以選擇將自己改進的部分提交到openCV庫中,因此這是相對活躍的開發項目。用戶可以通過SourceForge網站上的OpenCV庫的SVN獲得修復bug后的最新的代碼。
1 Open CV的結構和內容
Open CV提供了三種基本數據類型:CvPoint,CvSize和CvArr。更為常用的還有由其派生出來的CvRect,CvScalar和IplImage。嚴格說OpenCv雖是由C語言實現,但是其設計思想卻融入了面向對象和面向模板的設計方法。IplImage是對“圖像”層次進行編碼的基本結構。OpenCV提供大量圖像矩陣操作符,實現了圖像處理中的基本操作,例如加法、乘法、對角化、正規化等矩陣運算和一些復雜的圖像統計操作等。
OpenCV將與操作系統、文件存儲和攝像機之類硬件進行交互的函數納入HighG
UI庫中。通過提供一對簡單的函數cvLoadImage()、cvSaveImage()來讀取和存儲圖像,這兩個函數會自動根據文件的后綴完成所有的編碼和解碼工作。用戶省去了面對各種硬件讀入數據麻煩,專心代碼部分。此外,利用庫中封裝的一些函數可以方便的加入一些鼠標、光標、鍵盤事件響應和滑動條控件。
OpenCV還提供了可以處理更加復雜圖像處理變換的函數,將大量高級算法進行封裝,用戶通過設置其中參數來選擇究竟用那種具體算法來實現某種功能。這省去了大量底層代碼重復建構過程,使得開發周期縮短。
2 OpenCV在VS2010中的安裝簡介
以OpenCV最新的安裝版本2.4.4在VS2010中的配置為例進行說明。將軟件下載解壓到某一文件夾下,由于后面頻繁的將include文件夾里的庫文件進行添加,將其路徑復制在寫字板可省去頻繁手工敲入的麻煩,第一步先設置變量:用戶變量和系統變量分別添加上bin文件夾的路徑…opencv\build\x86\vc10\bin。若是64位機器,將其中的X86改成X64即可。查詢自己機器32還是64可以通過以下路徑實現:點擊開始-運行,敲入cmd.在出現的命令提示符中輸入systeminfo回車即可在系統類型后面查看X86即32位,X64即64位。用戶變量下面點擊新建建立一個路徑是include文件夾所在路徑的path。
接下來新建一個工程,通過設置該工程來完成Opencv頭文件包含,也可以進行軟件測試驗證設置是否成功。這里選最簡單的完成顯示圖像lena這一功能的簡單代碼測試。
uild\x86\vc10\lib中的所有文件即debug 和release版本下的各個庫函數。
接下來找一段最簡單的顯示圖像函數將源程序文件添加到新建的工程中。將lena圖片放在和源程序一個文件夾里進行調試,若是可以顯示圖像即驗證設置成功。
3 OpenCV應用程序實例
4 結語
OpenCV由于其代碼完全開放,用戶不但可以對源代碼直接使用,而且還可以進行修改,加入新類,此外,開放的源代碼對于學習者理解圖像處理中很多經典算法的原理及實現過程也是很有幫助的,而且OpenCV操作方便,不但可以作為應用程序的后臺處理程序,而且可以作為控制臺程序進行操作。OpenCV在眾多圖像處理領域具有廣泛前景。
參考文獻
[1] 于仕琪,劉瑞禎.學習OpenCV[M].清華大學出版社,2009.
[2] 郭慶耀.VC2010下安裝Opencv2.4.4[EB/OL].http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%
AE%89%E8%A3%85OpenCV2.4.4.
[3] 賈小軍,喻擎蒼.基于開源計算機視覺庫OpenCV的圖像處理[J].計算機應用與軟件,2008,25(4):276-278.
[4] 夏寬理.算法基礎[M].高等教育出版社,2003.
[5] 陰法名.基于OpenCV圖像處理[J].科技信息,2009(32):220.endprint
摘 要:OpenCV是近年來最受歡迎的計算機視覺應用庫。在其基礎上編寫圖像處理代碼效率得到有效提高。本文旨在對OpenCV進行一個快速全面簡介,通過介紹其數據結構、HighGUI庫,圖像處理函數使讀者能快速形成對OpenCV印象。文章詳細介紹了2.4.4版本在VS2010中的安裝測試說明。讀者能夠在此基礎上架構自己代碼。文章最后通過自適應閾值分割實例來介紹OpenCV的具體應用。
關鍵詞:OpenCV VS2010 圖像處理
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1672-3791(2014)03(b)-0018-02
OpenCV誕生于Inter研究中心,采用C/C++編寫,包含覆蓋計算機視覺眾多應用領域的五百多個函數。如工廠產品檢測,醫學成像,立體視覺和機器人等。Open CV 除可運行在Linux/Windows/Mac等操作系統上之外,提供了Python,mat lab等其他語言接口。其目的在于開發一個普遍可用的計算機視覺庫,為基本的視覺應用提供開放且優化的源代碼,使開發者能夠在這個通用的架構上可以繼續進一步的工作。Open CV被設計成可移植性的庫。它的代碼可被主流編譯器進行編譯,幾乎可運用于所有商業系統,在已知的可運行open CV系統平臺上,基于32位的Inter架構的Windows/Linux系統支持最好。最初團隊建設性的工作由世界各地的會員接棒,核心開發從Inter轉移到別處。OpenCV代碼可部分或者整體嵌入其他應用程序中,用戶可以選擇將自己改進的部分提交到openCV庫中,因此這是相對活躍的開發項目。用戶可以通過SourceForge網站上的OpenCV庫的SVN獲得修復bug后的最新的代碼。
1 Open CV的結構和內容
Open CV提供了三種基本數據類型:CvPoint,CvSize和CvArr。更為常用的還有由其派生出來的CvRect,CvScalar和IplImage。嚴格說OpenCv雖是由C語言實現,但是其設計思想卻融入了面向對象和面向模板的設計方法。IplImage是對“圖像”層次進行編碼的基本結構。OpenCV提供大量圖像矩陣操作符,實現了圖像處理中的基本操作,例如加法、乘法、對角化、正規化等矩陣運算和一些復雜的圖像統計操作等。
OpenCV將與操作系統、文件存儲和攝像機之類硬件進行交互的函數納入HighG
UI庫中。通過提供一對簡單的函數cvLoadImage()、cvSaveImage()來讀取和存儲圖像,這兩個函數會自動根據文件的后綴完成所有的編碼和解碼工作。用戶省去了面對各種硬件讀入數據麻煩,專心代碼部分。此外,利用庫中封裝的一些函數可以方便的加入一些鼠標、光標、鍵盤事件響應和滑動條控件。
OpenCV還提供了可以處理更加復雜圖像處理變換的函數,將大量高級算法進行封裝,用戶通過設置其中參數來選擇究竟用那種具體算法來實現某種功能。這省去了大量底層代碼重復建構過程,使得開發周期縮短。
2 OpenCV在VS2010中的安裝簡介
以OpenCV最新的安裝版本2.4.4在VS2010中的配置為例進行說明。將軟件下載解壓到某一文件夾下,由于后面頻繁的將include文件夾里的庫文件進行添加,將其路徑復制在寫字板可省去頻繁手工敲入的麻煩,第一步先設置變量:用戶變量和系統變量分別添加上bin文件夾的路徑…opencv\build\x86\vc10\bin。若是64位機器,將其中的X86改成X64即可。查詢自己機器32還是64可以通過以下路徑實現:點擊開始-運行,敲入cmd.在出現的命令提示符中輸入systeminfo回車即可在系統類型后面查看X86即32位,X64即64位。用戶變量下面點擊新建建立一個路徑是include文件夾所在路徑的path。
接下來新建一個工程,通過設置該工程來完成Opencv頭文件包含,也可以進行軟件測試驗證設置是否成功。這里選最簡單的完成顯示圖像lena這一功能的簡單代碼測試。
uild\x86\vc10\lib中的所有文件即debug 和release版本下的各個庫函數。
接下來找一段最簡單的顯示圖像函數將源程序文件添加到新建的工程中。將lena圖片放在和源程序一個文件夾里進行調試,若是可以顯示圖像即驗證設置成功。
3 OpenCV應用程序實例
4 結語
OpenCV由于其代碼完全開放,用戶不但可以對源代碼直接使用,而且還可以進行修改,加入新類,此外,開放的源代碼對于學習者理解圖像處理中很多經典算法的原理及實現過程也是很有幫助的,而且OpenCV操作方便,不但可以作為應用程序的后臺處理程序,而且可以作為控制臺程序進行操作。OpenCV在眾多圖像處理領域具有廣泛前景。
參考文獻
[1] 于仕琪,劉瑞禎.學習OpenCV[M].清華大學出版社,2009.
[2] 郭慶耀.VC2010下安裝Opencv2.4.4[EB/OL].http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%
AE%89%E8%A3%85OpenCV2.4.4.
[3] 賈小軍,喻擎蒼.基于開源計算機視覺庫OpenCV的圖像處理[J].計算機應用與軟件,2008,25(4):276-278.
[4] 夏寬理.算法基礎[M].高等教育出版社,2003.
[5] 陰法名.基于OpenCV圖像處理[J].科技信息,2009(32):220.endprint