今天要做一個實驗,需要用到opencv,所以打算寫一些代碼,結果按照網上的配置都有一些問題。所以把自己正確配置的經驗給出來。
首先作者使用的是opencv-3.4.3-vc14_vc15.exe這個文件,文件的下載地址在
https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.4.3/
點擊上面的文件就可以開始下載了,下載後,雙擊,其實就是讓你解壓,見下圖
解壓完成後我們只需要做幾個簡單的步驟:
1、創建c++項目
2、添加包含目錄和庫目錄
3、添加附加依賴項
我們現在進行講解:
1、創建項目
打開vc 2015之後,創建項目,visual C++ ,win32控制檯應用程序,修改項目名稱(也可以不修改)
2、添加包含目錄和庫目錄
菜單欄裏面的項目-》【項目名稱】的屬性,會出現下面的頁面,把平臺選成x64
點擊VC++目錄。點擊包含目錄,後面會有個下拉箭頭點一下,選擇編輯,然後左上角有個新行的按鈕,把三個路徑添加到裏面去。分別是
...\opencv\build\include
...\opencv\build\include\opencv
...\opencv\build\include\opencv2
如下圖的前三個。
同樣的方式添加庫目錄裏的一個文件...\opencv\build\x64\vc15\lib
接下來可以到vc15/lib的文件夾下面看看,這裏只有world343d的lib文件。把這個文件名複製上。如果是其他版本的話,應該有挺多文件的。如果可能都添加上吧。
我們還是在回到屬性頁,點擊進到鏈接器-》輸入,在附加依賴項裏加入複製的文件名就可以了。
選擇應用之後,回到編輯界面,把窗口上的位數改成x64。到此就完成配置了。
那麼就能夠開始編寫程序了。
嘗試運行這個程序:
#include "stdafx.h"
#include <opencv2/core/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main() {
string imageName("C:\\Users\\Pictures\\pic1.jpg"); // 圖片在電腦中的絕對地址
Mat image;//Mat是OpenCV最基本的數據結構,這是定義一個圖像矩陣類型
image = imread(imageName.c_str(), IMREAD_COLOR);//讀入圖片數據
if (image.empty())//讀取失敗時
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
namedWindow("Display window", WINDOW_AUTOSIZE); // 創建一個窗口
imshow("Display window", image); // 在窗口中顯示圖片
waitKey(0); // 等待一次按鍵,程序結束
return 0;
}
運行結果: