斷斷續續搞了兩天,才把環境搭起來,看了N多的博客,踩了N多的坑,下面我把自己的過程複述一遍,儘量保證從頭到尾。
搭建環境
1.下載並安裝opencv
進入opencv官網 https://opencv.org,選擇Releases
往後翻找到OpenCV-3.0.0 Beta,點擊Windows,到下一網址繼續點擊就開始下載了。
爲什麼選擇這個版本?
因爲opencv3只有這個版本的庫文件是支持V10,網上很多說比如V10對應VS2010,V11對應2012等等,但我搜索到官網的論壇上的一條回答是:Visual C++ 2008 (vc9), VC++ 2010 (vc10) and VC++ 2012(vc11 and vc11_ui),主要還是看你有沒有安裝相關庫程序。軟件版本應該不是問題,我的這臺電腦只有VS2010,所以就找對應的了。
雙擊解壓,並設置路徑,解壓完成找到解壓的目錄,把bulid和sources移出來。
2.配置環境變量
- 我的電腦 —> 右鍵 屬性 —> 左邊 高級系統設置
- 高級 —> 環境變量
- 系統變量 —> 找到Path並打開 —> 新建三個路徑
D:\Opencv\opencv-3.0.0-beta\build\x86\vc10\bin
D:\Opencv\opencv-3.0.0-beta\build\x86\vc10\bin
D:\Opencv - 最後全部都確定
3.新建工程
新建項目—> Visual C++ —> Win32控制檯應用程序 —> 下一步 —> 空項目 —> 完成
4.配置項目的屬性管理器,包含opencv
打開工程的屬性管理器(找不到在視圖裏打開)—>
右鍵 Debug|Win32 —> 添加新項目屬性表 —> 這裏的名字是opencvx32
右鍵 Release|Win32 —> 添加現有屬性表 —> 把剛纔新建的opencvx32加入
雙擊剛纔新建的屬性表—> VC++目錄
向 包含目錄 添加下面路徑:
D:\Opencv\opencv-3.0.0-beta\build\include\opencv2
D:\Opencv\opencv-3.0.0-beta\build\include\opencv
D:\Opencv\opencv-3.0.0-beta\build\include
向 庫目錄 添加下面路徑:
D:\Opencv\opencv-3.0.0-beta\build\x86\vc10\lib
鏈接器 —> 輸入
向 附加依賴項 添加下面文件:
opencv_ts300.lib
opencv_ts300d.lib
opencv_world300.lib
opencv_world300d.lib
5.測試程序
解決方案資源管理器 —> 在 源文件 目錄 —> 右鍵 添加新建項 —> C++文件(.cpp)
—> 選擇.cpp文件加入以下測試代碼。
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main()
{
Mat Pic_test = imread("C:\\Users\\asus\\Pictures\\gaki.jpg"); //存放自己圖像的路徑
if (Pic_test.empty())
{
printf("無法打開,目標路徑錯誤... \n");
while(1);
}
else
{
imshow("test oppencv ", Pic_test);
waitKey(0);//等待按鍵
}
return 0;
}
最終的成果:
解決錯誤
error LNK2001: 無法解析的外部符號 "public: virtual void __cdecl cv::HOGDescriptor:庫目錄沒選好或者附加依賴項不夠齊全
https://blog.csdn.net/dlh_sycamore/article/details/79464051
應用程序無法正常啓動(0xc000007b):系統缺少文件
https://www.cnblogs.com/edielei/p/4295490.html
該文件包含不能在當前代碼頁(936)中表示的字符:打開cpp更改存儲編碼
https://blog.csdn.net/dj0379/article/details/47269153
vs2010 無法找到調試信息 或者調試信息不匹配
https://www.xuebuyuan.com/1390397.html
由於找不到msvcp140d.dll 無法繼續執行代碼:從網上下載並安裝到C:\Windows\System32,其他文件一樣操作
https://blog.csdn.net/zhihuoqian9683/article/details/78757740
參考
https://blog.csdn.net/z_jun1981/article/details/81456204
https://blog.csdn.net/weixin_42476992/article/details/82878360
https://blog.csdn.net/whitehack/article/details/6902546
https://blog.csdn.net/qq_32211827/article/details/55657146
https://answers.opencv.org/question/28462/what-are-v9-v0-v11-and-mingw/