VS2019中配置opencv4.3.0(親測有效)

寫在前面:之前一直使用vs2017+opencv的配置,現在體驗vs2019+opencv 4.3.0的配置。由於之前的配置相隔很久,忘記很多東西,如今重新配置還是踩了很多坑,記錄如下,希望對讀者有幫助。

使用說明

PC是Win10家庭版
Visual  Studio Community 2019 
Opencv用的版本是4.3.0

第一部分:Opencv部分

1.Opencv4.3.0下載

官方下載地址:https://opencv.org/releases/
目前最新版本是4.3.0
這裏選擇windows
在這裏插入圖片描述
下載完壓縮包名:opencv-4.3.0-vc14_vc15.exe
解壓完文件名:opencv
在這裏插入圖片描述

2.Opencv的環境變量

【1】找到我的電腦圖標(或者是此電腦),右擊。選擇屬性。
【2】選擇高級系統設置,找到環境變量。
在這裏插入圖片描述

【3】找到系統變量一欄,雙擊“path”
在這裏插入圖片描述

【4】點擊新建。輸入你的安裝路徑,需要到bin這個文件。

D:\opencv\build\x64\vc15\bin

下面爲環境變量的添加。
在這裏插入圖片描述

3.添加dll文件到System32中

這個路徑的來源如下圖,當你一層層點擊,直到bin這個文件打開,呈現的一般是類似於下圖的樣子。這個時候再複製路徑到上面的環境變量的添加中。
在這裏插入圖片描述
在路徑下找到3個應用程序擴展文件,分別爲

opencv_videoio_ffmpeg430_64.dll
opencv_world430.dll
opencv_world430d.dll

將opencv_world430.dll、opencv_videoio_ffmpeg430_64.dll和opencv_world430d.dll複製到下面的目錄

C:\Windows\System32

第二部分:VS中的操作

主要是配置包含目錄和庫目錄,以及附加依賴項的添加。

1.新建項目並進入屬性頁

【1】新建一個空項目。

在這裏插入圖片描述

簡單編輯項目名稱(或者默認不變)
在這裏插入圖片描述

【2】進入項目屬性頁。在右側解決方案一欄中點擊剛纔創建好的項目名,然後右擊,選擇屬性。可以得到如下圖的界面。

在這裏插入圖片描述
在這裏插入圖片描述

屬性頁如下圖所示
在這裏插入圖片描述

2.包含目錄,庫目錄,附加依賴項的配置

【動手前提醒】下面需要對包含目錄和庫目錄進行設置,儘量不要選擇這種所有配置、所有平臺,這樣在添加附加依賴項的時候會報錯。
正確的做法請往下看。

在這裏插入圖片描述

正確的做法
對於debug和release模式進行分別配置
在這裏插入圖片描述

1) release模式和平臺x64

在這裏插入圖片描述
包含目錄下添加

D:\opencv\build\include
D:\opencv\build\include\opencv2

在這裏插入圖片描述

庫目錄添加:
需要自己安裝的目錄

D:\opencv\build\x64\vc15\lib

在這裏插入圖片描述

添加附加依賴項
鏈接器->輸入->附加依賴項,點擊右側的下拉箭頭進行編輯,添加:

opencv_world430.lib

可以在如下路徑找到

D:\opencv\build\x64\vc15\lib

在這裏插入圖片描述

下圖是錯誤的配置,這樣配置會導致release可以正常運行而debug模式總是報錯LNK1112 模塊計算機類型“x64”與目標計算機類型“x86”衝突或者相反(有一種模式正常,一種模式報錯)

在這裏插入圖片描述
正確的配置:
這裏需要注意的是debug模式和release分別添加依賴項!!!!
debug模式dll文件中帶有字母d
release模式dll文件中不含字母d
對於release模式,只填入一個opencv_world430.lib
在這裏插入圖片描述

對於debug模式只填入一個opencv_world430d.lib
在這裏插入圖片描述

2)debug模式和x64平臺

需要選擇配置:debug,平臺:x64
在這裏插入圖片描述
其他步驟同上。
另外對於右上角配置管理器,需要選擇平臺X64,有時候報錯是這一步沒有設置。
在這裏插入圖片描述

3.代碼測試

解決方案管理器中,選擇源文件,右鍵添加,新建項
在這裏插入圖片描述

在這裏插入圖片描述

添加代碼如下


#include <iostream>
#include<opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>//Opencv highgui 模塊頭文件
#include<opencv2/imgproc/imgproc.hpp>//圖像處理頭文件
using namespace cv;

int main(){
	//功能二:圖像模糊
	Mat srcImage = imread("D:\\user\\下載\\計算機網絡.jpg");//需要自己設置路徑,注意使用\\

	imshow("均值濾波原始圖",srcImage);

	Mat dstImage;
	blur(srcImage,dstImage,Size(7,7));

	imshow("均值濾波效果圖",dstImage);

	waitKey(0);
}

選擇下圖所示
debug和x64或者relese和x64,點擊本地windows調試器運行項目
在這裏插入圖片描述
測試結果
在這裏插入圖片描述

4.問題彙總

遇到問題【1】

嚴重性	代碼	說明	項目	文件	行	禁止顯示狀態
錯誤	LNK1112	模塊計算機類型“x64”與目標計算機類型“x86”衝突	forOpenCV	D:\user\文檔\Visual Studio 2019\repos\forOpenCV\opencv_world430.lib(opencv_world430.dll)	1	

這是因爲附加依賴項兩個dll文件同時添加到一個模式中,上文中提到過。解決辦法是需要含有字母d的dll文件配置到dubug模式,不含有字母d的dll文件配置到release模式。

遇到問題【2】
在x64和release下遇到問題opencv_world430.dll
在這裏插入圖片描述
這個問題是由於沒有把
opencv_videoio_ffmpeg430_64.dll
opencv_world430.dll
opencv_world430d.dll
三個dll文件複製到C:\Windows\System32目錄下。
解決辦法是將其複製到該目錄下。

參考博客:
VS2017 + OpenCV3 永久配置,同時 解決 debug模式下不報錯release模式報錯 或 debug模式下不報錯release模式報錯 的問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章