老王工控筆記
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 26 個(gè)
工控威望: 75 點(diǎn)
下載積分: 633 分
在線時(shí)間: 2(小時(shí))
注冊(cè)時(shí)間: 2020-10-12
最后登錄: 2021-02-05
查看老王工控筆記的 主題 / 回貼
樓主  發(fā)表于: 2021-01-22 09:46
               視覺(jué)OpenCV-WIN7版本安裝配置


開(kāi)源的OpenCV,有好多版本,最新是2020年12月的4.5.1版本,支持的VS版本最低V14以上,VS2015版本安裝在WIN7上好像有點(diǎn)麻煩,所以只能下載個(gè)2015年4月的2.4.11版本,支持VS2010版本350M,以下是官方下載鏈接:
https://opencv.org/releases/page/5/
1.計(jì)算機(jī)--屬性--高級(jí)系統(tǒng)設(shè)置--環(huán)境變量

2. 在系統(tǒng)變量中,找到Path,雙擊,把他的變量值改成剛才OpenCV文件存放的路徑,實(shí)際的路徑是找到其中bin的文件夾,例如我放在D盤,那我的變量值就為D:\opencv\build\x64\vc10\bin,這里最好把X64和X86都放到這里,不然后面不同編譯器調(diào)用的時(shí)候會(huì)應(yīng)用程序0xc000007b報(bào)錯(cuò),所以這里應(yīng)該寫(xiě)2個(gè),D:\opencv\build\x64\vc10\bin;D:\opencv\build\x86\vc10\bin;

3.新建一個(gè)C++,Win32項(xiàng)目,命名

4. VS2010版本的打開(kāi)視圖--其他窗口--屬性管理器

5. 雙擊Microsoft.Cpp.Win32.user,要修改三個(gè)地方,如下圖,選擇VC++目錄中,包含目錄和庫(kù)目錄,這里的路徑還是主要看你OpenCV的文件夾放哪,我的放在D盤,那我的包含目錄就是:D:\opencv\build\include;$(IncludePath),庫(kù)目錄就是:D:\opencv\build\x86\vc10\lib;$(LibraryPath),這里要注意庫(kù)目錄的路徑中有選擇X86還是X64系統(tǒng)的,需要跟鏈接器中的目標(biāo)計(jì)算機(jī)系統(tǒng)一致,這里的x64x86是指的編譯器版本,一般的話都用x86的編譯器,這個(gè)路徑中的vc10就是指的VS2010版本,vc8 = Visual Studio 2005,vc9 = Visual Studio 2008,vc10 = Visual Studio 2010,vc11 = Visual Studio 2012,vc12 = Visual Studio 2013。

如下圖,要設(shè)置第三個(gè)地方,鏈接器--高級(jí)--目標(biāo)計(jì)算機(jī)

還有個(gè)地方需要在鏈接器--輸入--附加依賴項(xiàng)中添加lib鏈接庫(kù),點(diǎn)擊編輯,如下是2.4.8版本的lib文件,直接把下面的文件復(fù)制粘貼到txt中,如果是2.4.11版本,就直接把248改成2411就行,
對(duì)于【OpenCV 3.0】,添加3.0版本的lib,新版的lib非常簡(jiǎn)單。想用debug版本的庫(kù),添加
opencv_ts300d.lib
opencv_world300d.lib 這兩個(gè)庫(kù)即可。
而想用release版本的庫(kù),添加
opencv_ts300.lib
opencv_world300.lib即可

opencv_ml248d.lib
opencv_calib3d248d.lib
opencv_contrib248d.lib
opencv_core248d.lib
opencv_features2d248d.lib
opencv_flann248d.lib
opencv_gpu248d.lib
opencv_highgui248d.lib
opencv_imgproc248d.lib
opencv_legacy248d.lib
opencv_objdetect248d.lib
opencv_ts248d.lib
opencv_video248d.lib
opencv_nonfree248d.lib
opencv_ocl248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_superres248d.lib
opencv_videostab248d.lib

opencv_objdetect248.lib
opencv_ts248.lib
opencv_video248.lib
opencv_nonfree248.lib
opencv_ocl248.lib
opencv_photo248.lib
opencv_stitching248.lib
opencv_superres248.lib
opencv_videostab248.lib
opencv_calib3d248.lib
opencv_contrib248.lib
opencv_core248.lib
opencv_features2d248.lib
opencv_flann248.lib
opencv_gpu248.lib
opencv_highgui248.lib
opencv_imgproc248.lib
opencv_legacy248.lib

opencv_ml248.lib
6.新建一個(gè).cpp,復(fù)制如下的做個(gè)打開(kāi)圖像的小程序,設(shè)置正常的話可以打開(kāi)一張叫pic.png的圖片(可以隨便找張圖片名字改成pic,不過(guò)要注意圖片的格式),圖片要放到項(xiàng)目的目錄中,如下圖
#include <iostream>
//#include <opencv2/core/core.hpp>
//#include <opencv2/highgui/highgui.hpp>
#include<opencv2/opencv.hpp>


using namespace cv;
using namespace std;


int main() 
{
// 讀入一張圖片(游戲原畫(huà))
Mat img=imread("pic.png"); //圖片路徑
if (img.empty()) //如果圖片讀取失敗
{
cout << "can not load" << endl; //在控制臺(tái)輸出一段話
system("PAUSE"); //暫停窗口,任意鍵跳出
return -1;
    }
// 創(chuàng)建一個(gè)名為 "游戲原畫(huà)"窗口
namedWindow("游戲原畫(huà)"); 
// 在窗口中顯示游戲原畫(huà)
imshow("游戲原畫(huà)",img);
// 等待6000 ms后窗口自動(dòng)關(guān)閉
waitKey(6000);
//return 0;
}

了解最新工控PLC,上位機(jī),機(jī)器人,通訊等實(shí)例測(cè)試筆記~~請(qǐng)關(guān)注百家號(hào)或頭條號(hào)--老王工控筆記