【OpenCV】CodeBlocks+OpenCV3.2環境搭建
本機環境
Windows 10 64位
之後的環境以及程式碼都是64位環境下進行材料準備
- OpenCV 3.2.0
- MinGW x64 下載地址
- CodeBlocks 16.01
- Cmake x64 3.7.2
安裝配置
3.1 安裝MinGW64
這裡先說下為什麼要用MinGW64。之前參照了網上前輩的教程,在cmake的裡的編譯器用了CodeBlocks裡自帶的MinGW來編譯OpenCV的原始碼,結果總是編譯到40%多報錯,原因不得其解。後來谷歌到可能是環境的原因,於是便將編譯器換成了64位編譯之,順利通過!
下載好的MinGW
雙擊安裝,架構一定要選x86_64,選好安裝位置後就開始線上安裝了。
3.2 下載解壓OpenCV
將OpenCV解壓到你制定的目錄即可
3.3 用Cmake編譯OpenCV
在編譯之前首先需要配置一下環境變數,在環境變數的Path中將剛剛安裝好的MinGW64和OpenCV的路徑配置一下。
開啟Cmake,選擇剛才解壓的OpenCV的sources資料夾和要編譯輸出的資料夾
點選Configure,選擇CodeBlocks環境和本地編譯器
注意了!這裡要選擇MinGW64位的編譯器才不會出錯
關閉後自動配置,如果你不懂需要勾選哪些那麼就保持預設就好。
點選Generate,等待完成後在你指定的輸出資料夾開啟命令視窗輸入:mingw32-make install。此過程大約持續本個小時左右,視機器效能而定。編譯好的檔案在指定輸出資料夾(F:\opencv\binaries)的install資料夾下。
P.S:如果在編譯過程中卡住不動,可以將命令提示框關掉後重新開啟編譯。
另外參照前輩經驗只需將編譯好的install資料夾下的include資料夾、x64/mingw/bin、x64/mingw/lib三個資料夾保留即可,將其拷貝到CodeBlocks新建的opencv資料夾裡3.4 在CodeBlocks裡配置OpenCV
首先,開啟CodeBlocks配置64位的編譯器。開啟Settings-Compiler-Copy,給新配置起個別名,例如GNU GCC Compiler(x64),Set as default。
然後,在編譯器設定裡指定你MinGW64的位置,並做如下設定:
到這裡,CodeBlocks的編譯環境配置好了。接下來配置OpenCV
新建專案(其實也可以直接新建OpenCV Project)–右鍵專案選擇Build Option–在Linker Settings裡將剛剛編譯好的OpenCV下lib庫新增進去即可
在Search Directories-Compiler裡新增include和下面的2個資料夾目錄。
Linker裡新增bin
至此,全部的開發環境配置完成了。執行Demo
在專案的main.cpp裡編寫程式碼如下:
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main(int argc, char *argv[])
{
Mat img = imread("lena.jpg", CV_LOAD_IMAGE_COLOR);
if(img.empty())
return -1;
namedWindow( "lena", CV_WINDOW_AUTOSIZE );
imshow("lena", img);
waitKey(0);
return 0;
}
執行結果
OpenCV第一次配置起來很麻煩,總有這樣那樣的錯誤,摸索了一天終於還是搞定了,如有什麼問題可以留言,有錯之處還請指出。