注意:
本文使用環境和工具:
windows10 64位專業版
visualstudio2013
opencv2.4.11
筆者經過測試,使用以下環境均可:
作業系統:win7,win8,win8.1
編譯器:visualstudio2010,2013,2015
opencv2.4.x
如果使用opencv3.0.0或者更新版本,由於動態鏈結庫的變化,會導致有些步驟與下文不同!
直接執行安裝檔案,將opencv釋放到某個目錄下即可,雖然筆者經過測試,使用漢語名完全沒有問題,但是仍然推薦該目錄使用英文名.
下面使用』(opencv安裝目錄)』來代替opencv的父目錄.
(opencv安裝目錄)\opencv
\build
\x86\vcx
\bin
(opencv安裝目錄)\opencv
\build
\x64\vcx
\bin
這兩個是opencv所需的環境變數,需要寫入到path中,系統變數和使用者變數均可,筆者推薦使用使用者變數.此處需要注意的是,vcx 處,vs版本和對應資料夾的關係
vs2010--
vc10
vs2012--
vc11
vs2013--
vc12
每乙個使用opencv的新專案在建立的時候都需要進行下面的設定,opencv的專案設定有三項:包含目錄,庫目錄,附加依賴項.
如何找到這三個專案:
在解決方案管理器下,右鍵解決方案->屬性->vc++目錄:
可以看到包含目錄和庫目錄:
在鏈結器->輸入 中,可以看見附加依賴項:
如何設定這三個專案:
1.包含目錄
包含目錄就是編譯器根據」#include」指令尋找標頭檔案的地方,此處需要設定為:
(opencv安裝目錄)\opencv
\build
\include
(opencv安裝目錄)\opencv
\build
\include
\opencv
(opencv安裝目錄)\opencv
\build
\include
\opencv2
2.庫目錄
庫目錄就是編譯器根據**中的鏈結庫指令和附加依賴項尋找外部鏈結庫的位置,需要格外注意的是,在opencv2.4.x版本中,debug和release版本使用的庫目錄是不一樣的,這兩個不能混用或者調換否則無法通過編譯.
//以visualstudio2013,x86版本為例:
//debug:
(opencv安裝目錄)\opencv
\build
\x86\vc12\lib
//release:
(opencv安裝目錄)\opencv
\build
\x86\vc12\staticlib
3.附加依賴項
附加依賴項就是程式需要使用的外部庫的名稱,由於庫目錄已經指定了載入目錄,所以這裡只需要填寫檔名就可以了,在這裡填寫檔名和下面的方法是等效的:
#pragma comment( lib, "opencv_calib3d2411d.lib" )
opencv2.4.11中所有的動態庫:(debug模式使用)
opencv_calib3d2411d.lib
opencv_contrib2411d.lib
opencv_core2411d.lib
opencv_features2d2411d.lib
opencv_flann2411d.lib
opencv_gpu2411d.lib
opencv_highgui2411d.lib
opencv_imgproc2411d.lib
opencv_legacy2411d.lib
opencv_ml2411d.lib
opencv_nonfree2411d.lib
opencv_objdetect2411d.lib
opencv_ocl2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_superres2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_videostab2411d.lib
opencv2.4.11中所有的靜態庫:(release版本使用)
ilmimf.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
opencv_calib3d2411.lib
opencv_contrib2411.lib
opencv_core2411.lib
opencv_features2d2411.lib
opencv_flann2411.lib
opencv_gpu2411.lib
opencv_highgui2411.lib
opencv_imgproc2411.lib
opencv_legacy2411.lib
opencv_ml2411.lib
opencv_nonfree2411.lib
opencv_objdetect2411.lib
opencv_ocl2411.lib
opencv_photo2411.lib
opencv_stitching2411.lib
opencv_superres2411.lib
opencv_ts2411.lib
opencv_video2411.lib
opencv_videostab2411.lib
zlib.lib
除了上面所說的設定方法,還可以使用vs的」屬性管理器」,對debug和release模式分別建立配置檔案
1.新建專案:
2.開啟屬性管理器:
3.為debug新增新專案屬性表:
4.開啟屬性表,編輯debug模式的屬性,編輯方法和上文一樣.
5.同樣還可以為release新增屬性,方式都一樣,
6.在執行編譯的時候,可以通過這個按鈕切換編譯要使用的屬性是哪一種:
7.可以把屬性表儲存下來,以後建立的專案直接匯入屬性表,就不需要每次都配置這些東西了.
OPENCV 1 學習筆記
灰度圖 2維矩陣 彩色圖 3維矩陣 ps 目前大部分裝置都是用無符號 8 位整數 型別為 cv 8u 表示畫素亮度 mat類定義 class cv exports mat 單通道影象 元素型別一般為 8u 即 8 位無符號整數 也可以是 16s 32f 等 這些型別可以直接用 uchar short...
Opencv2與opencv1的區別
一 opencv2與opencv1的區別 opencv1.0 版本於2006年面世,主要基於c語言。2009年發布opencv2,主要基於c 此時opencv庫被劃分成多個模組,這些模組被編譯成庫檔案後,位於lib資料夾中。主要有以下模組 版本1的結構見我的這篇blog opencv core 模組...
學習openCV 1 關於通道和灰度的解釋
關於通道的解釋 1 比較通俗易懂的解釋是 灰度圖的通道數為1,彩色圖的通道為3。基本上,描述乙個畫素點,如果是灰度,那麼只需要乙個數值來描述它,就是單通道。如果乙個畫素點,有rgb三種顏色來描述它,就是三通道。2 4通道通常為rgba,在某些處理中可能會用到。2通道影象不常見,通常在程式處理中會用到...