目錄
- Opencv安裝、環(huán)境變量配置
- Visual Studio 庫的兩種配置
本文使用操作系統(tǒng)為Windows10,僅適用于windows環(huán)境Visual Studio編譯器上的?Opencv開發(fā)配置。Opencv所有平臺通用的配置方式是從官網(wǎng)下載源碼,然后使用CMake編譯成對應(yīng)平臺的庫,比如Windows平臺,使用CLion IDE + gcc配置Opencv,就需要用CMake + gcc將源碼編譯成庫文件,然后然后CLion才可以配置并使用這些庫(主要保持編譯器版本匹配)??雌饋砗苈闊Π?,但有一個例外,那就是Visual Studio編譯器,Opencv官方提供了該編譯器的Opencv預(yù)編譯庫,不需要自己編譯。所以在windows上可以使用VS的小伙伴不要自己編譯庫了,麻煩又容易出錯。
Opencv安裝、環(huán)境變量配置
請在官網(wǎng)下載符合你要求的版本,Releases - OpenCV,下載的是壓縮包,雙擊解壓即可,無需像類似應(yīng)用程序安裝一樣的步驟,解壓目錄既是庫的保存目錄。
接下來需要配置動態(tài)庫的環(huán)境變量,在剛才的解壓目錄中找到“opencv\build\x64\vc15\bin”,這是Opencv動態(tài)庫的位置,因為我下載的是64位Opencv,所以去x64。在目前最新的4.6版本中,提供了vc14和vc15兩個版本,這表示編譯庫使用的msvc(VS編譯器)版本,vc15對應(yīng)msvc2017。自己使用VS版本應(yīng)當(dāng)大于vc版本,我使用的是VS2019,所以配置vc15的庫。
現(xiàn)在需要配置系統(tǒng)環(huán)境變量了,將剛才bin目錄“E:\Opencv_4.6.0\opencv\build\x64\vc15\bin”(本文是這個目錄)添加到Path中,很多人都是這樣配的,但我推薦另一種。請在系統(tǒng)變量中增加“OPENCV_DIR”,它的目錄是“E:\Opencv_4.6.0\opencv\build\x64\vc15“,然后將“%OPENCV_DIR%\bin”加入Path,為什么要多這一步呢?在VS中配置Opencv庫時,我們將使用“OPENCV_DIR”代替“E:\Opencv_4.6.0\opencv\build\x64\vc15”,不僅VS中可以這樣代替,整個系統(tǒng)中都是可以的,一旦庫的位置發(fā)生變動或者更改庫,只需要修改“OPENCV_DIR”即可。
Visual Studio 庫配置
?不僅適用VS?Opencv配置,其他庫的配置過程也是如此。這里很多博客做了誤導(dǎo),或者有一些不必要步驟,其實只需要三步:包含目錄、庫目錄、附加依賴項。但也有兩種配置方式,同學(xué)們?nèi)芜x一種即可。
配置方式一
創(chuàng)建一個VS項目,點擊”項目“——>”屬性“,打開項目配置屬性頁,”VC++目錄“——>”包含目錄“,將頭文件目錄”E:\Opencv_4.6.0\opencv\build\include“寫入。前文說過這里的寫法是”$(OPENCV_DIR)\..\..\include“,”..\“表示上一級目錄。然后配置”VC++目錄“——>”庫目錄“,這里寫入靜態(tài)庫和動態(tài)庫的目錄“$(OPENCV_DIR)\lib”。最后,“鏈接器”——>“輸入”——>“附加依賴項”,這里寫入項目將調(diào)用的具體庫名稱,Opencv已經(jīng)將整合為一個靜態(tài)庫文件“opencv_world460.lib”,可以在“opencv\build\\x64\vc15\lib”看到,相信大家也看到了“opencv_world460.lib”命名規(guī)律。現(xiàn)在配置好了嗎?
哦,對了,屬性頁最上面的配置管理器,我在這里Release/x64,那么換成Debug/x64呢,剛才的配置就沒了,因為開發(fā)程序Debug和Release都要,所以還得配置DeBug。步驟和要填的目錄都一樣,但有一個細微的不同之處,“附加依賴項”填入“opencv_world460d.lib”,帶d.lib在Debug模式使用,不帶d.lib在Release模型使用。由于庫是64位的版本,所以只在x64運行。
?配置方式二
配置的第一個屬性換成“C/C++”——>“常規(guī)”——>“附加包含目錄”,與方法一中“包含目錄”含義和目錄一樣;第二個屬性換成“鏈接器”——>“常規(guī)”——>“附加庫目錄”,第三個屬性同上。
好了,配置完成了,找個代碼測試一下吧。
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;int main()
{
? ? Mat image;
? ? image = imread("D:/VScode/luna.jpg", IMREAD_COLOR); // Read the file
? ? if (image.empty()) // Check for invalid input
? ? {
? ? ? ? cout << "Could not open or find the image" << std::endl;
? ? ? ? return -1;
? ? }
? ? namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
? ? imshow("Display window", image); // Show our image inside it.
? ? waitKey(0); // Wait for a keystroke in the window
? ? return 0;
}
?參考博文:Visual Studio 下配置屬性頁的一些說明_晚安丶的博客-CSDN博客文章來源:http://www.zghlxwxcb.cn/news/detail-484765.html
如有幫助,歡迎點贊?文章來源地址http://www.zghlxwxcb.cn/news/detail-484765.html
到了這里,關(guān)于Visual Studio + Opencv配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!