先祝大家節日快樂😁
這裏的環境是Windows10、VisualStudio2019、OpenCV2.4.4。其它版本的VS也可以按照以下步驟設置,OpenCV3.X和4.X好像沒那麼麻煩,請參考其它博客。
下載OpenCV2.4.4源碼
1. 在github上找到opencv的項目:
https://github.com/opencv/opencv
2. 點release,找到已發佈的代碼:
3. 往下滑,一直"next",找到自己要的版本,點擊下載:
4. 解壓到某個目錄
我的是在這裏:D:\Programs\opencv-2.4.4\opencv-2.4.4
安裝CMake
1. 下載CMake
去CMake官網的download頁面(https://cmake.org/download/)下載對應平臺的版本,我的是windows64位。最好裝最新版本的CMake,不然可能不支持VisualStudio2019(VC16)。
2. 自己安裝
安裝VisualStudio2019
1. 默認已經你裝好了
編譯OpenCV
1.打開CMake,選擇OpenCV源碼路徑和編譯build路徑
D:\Programs\opencv-2.4.4\opencv-2.4.4
是源碼的路徑
D:\Programs\opencv-2.4.4\opencv-2.4.4\build
是我新建的
2.配置編譯版本
第一次點擊Configure
後,會彈出一個界面,設置自己用的VisualStuido版本和目標平臺。這裏目標平臺關係到後面使用VisualStudio編譯時,“配置管理器”中選擇什麼“活動解決方案平臺”。我這裏選擇Win32。
3.生成OpenCV編譯項目
在上一步點擊Finish
後,CMake就會開始配置了,配置完如下圖所示。
有很多紅色的提示,不管它,再點一次Configure。
沒問題了,Configuring done。
然後點旁邊的Generate
按鈕,生成VS項目。
3.打開生成的OpenCV的項目
在CMake直接點擊Open Project
按鈕,或者在D:\Programs\opencv-2.4.4\build
目錄下找到項目打開。
方法1:
方法2:
4.用VisualStudio編譯項目
(1)剛纔用CMake配置項目的時候選擇了Win32,所以這裏VisualStudio也要選擇Win32,x64的話請自行設置。
(2)在“解決方案管理器”中找到CMakeTargets,右鍵“ALL BUILD”,開始編譯。
很遺憾,編譯失敗了,一堆error
^_^
看錯誤提示,基本是由於找不到std::max
和std::min
兩個函數,導致後面一系列錯誤。這個問題可以通過Baidu或者Google解決。我的做法是找到報錯的位置,在對應的cpp文件中加上#include<algorithm>。
修改後重新編譯,很好,成功。
然後右鍵INSTALL
,點擊生成。
完成後,編譯出來的文件在D:\Programs\opencv-2.4.4\build\install
路徑下。
新建一個文件夾,叫做OpenCV2.4.4_vc16_win32
,把編譯好的文件拷過來,其它可以不要了。
配置OpenCV2.4.4環境
1.設置環境變量
設置動態鏈接庫的路徑,以便系統調用。
右鍵桌面的電腦圖標→屬性→高級系統設置→高級→環境變量→系統變量→Path→編輯→新建,加入編譯好的\bin
目錄的路徑。沒有生效的話重啓一下系統。
1.配置VS工程
新建一個項目,在“屬性管理器”中對DebugWin32右鍵,添加新項目屬性表。
自己設一個名字和路徑:
雙擊打開剛纔新建的屬性表。
加入OpenCV頭文件路徑:
設置OpenCV庫的路徑:
把D:\Programs\opencv-2.4.4\OpenCV2.4.4_vc16_win32\lib
路徑下所有.lib
文件的名字寫到這裏來:
測試一下
從攝像頭讀取圖像然後顯示出來
#include <opencv\cv.h>
#include <opencv\highgui.h>
int main()
{
CvCapture* input_video = cvCreateCameraCapture(0);
IplImage* frame;
while (true)
{
frame = cvQueryFrame(input_video);
if (frame == NULL) {
cout << "ERROR: NULL frame readed..." << endl;
cvWaitKey(30);
return -1;
}
cvShowImage("yemiekai", frame);
cvWaitKey(30);
}
return 0;
}
還有bug請baidu、google解決。
參考:
《VisualStudio2010配置OpenCV的一種一勞永逸的方法》:
https://blog.csdn.net/bendanban/article/details/28661763
《vs2019編譯opencv》:
https://www.cnblogs.com/mangoroom/p/11000030.html
感謝所有寫blog的博主~