1. 程式人生 > 其它 >【Opencv】與Vs2019環境安裝配置中作者遇到問題及解釋&相關資料

【Opencv】與Vs2019環境安裝配置中作者遇到問題及解釋&相關資料


注意:不建議使用OPencv4以上版本,功能毫無疑問強大,但與vs相容問題太多,且網路資源太少。推薦使用3.41版本。


安裝教程基本可參考:

(3條訊息) VS2019配置opencv_蒼穹sky的部落格-CSDN部落格_vs2019opencv

其中測試案例可選擇:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main()
{
    //OpenCV版本號
    cout << "OpenCV_Version: 
" << CV_VERSION << endl; //讀取圖片 Mat img = imread("C:/Users/admin/Pictures/2020-06-21.png"); imshow("picture", img); waitKey(0); return 0; } ———————————————— 版權宣告:本文為CSDN博主「Creama_」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。 原文連結:https://blog.csdn.net/Creama_/article/details/107238475

作者在安裝過程中出現的問題:

1.無法載入標頭檔案 vc.h/opencv2/opencv

這個網路上有很多解釋,每個解釋對應不同的原因,主流的原因及方法作者不再贅餘,作者在此遇到的問題原因:

應選擇64位屬性。【1】

2.載入圖片路徑問題:

此問題原因出自:

將路徑中的“\”改為"/"。或者改為“\\”【2】


【1】Vs2019中屬性配置位問題:

 1.Debug與Release的區別:
     Debug通常稱為除錯版本,它包含除錯資訊,(一般用做除錯用)並且不作任何優化,便於程式設計師除錯程式。
Release稱為釋出版本,它往往是進行了各種優化,使得程式在程式碼大小和執行速度上都是最優的,以便使用者很好地使用。
所以一般都是用Release來打包釋出程式,另外,Release打包出來的程式也相對來說會小一些。但是在Release模式下是不能一邊除錯一邊修改程式碼的(啟用了編輯並繼續的)。
2.x86、x64的區別: x86平臺編譯出來的exe(可執行檔案)或dll(動態連結庫)都是32位的;
x64對應的則是64位的。若你的啟動專案,即主程式(編譯出來是exe檔案的)是x86平臺下編譯的,而它所依賴的一個專案(或動態連結庫)是由x64位平臺編譯出來的,則會提示“未能載入檔案或程式集...或它的某一個依賴性。
試圖載入格式不正確的程式。”之類的錯誤。這是因為32位程式不能載入64位的dll,更不能呼叫其中的類、方法和物件等。

【2】關於圖片路徑中“\”與“/”的區別與使用規範:

Unix使用斜杆/ 作為路徑分隔符,而web應用最新使用在Unix系統上面,所以目前所有的網路地址都採用 斜杆/ 作為分隔符。
Windows由於使用 斜杆/ 作為DOS命令提示符的引數標誌了,為了不混淆,所以採用 反斜槓\ 作為路徑分隔符。所以目前windows系統上的檔案瀏覽器都是用 反斜槓\ 作為路徑分隔符。
隨著發展,DOS系統已經被淘汰了,命令提示符也用的很少,斜杆和反斜槓在大多數情況下可以互換,沒有影響。 知道這個背景後,可以總結一下結論: (
1)瀏覽器位址列網址使用 斜杆/ ; (2)windows檔案瀏覽器上使用 反斜槓\ ; 3)出現在html url() 屬性中的路徑,指定的路徑是網路路徑,所以必須用 斜杆/ ; // 如果url後面用反斜槓,就不會顯示任何背景4)出現在普通字串中的路徑,如果代表的是windows檔案路徑,則使用斜杆/和反斜槓\是一樣的;如果代表的是網路檔案路徑,則必須使用 斜杆/ ; // 本地檔案路徑,/ 和 \ 是等效的 // 網路檔案路徑,一定要使用 斜杆/5)windows系統的位址列能夠識別單反斜槓"\",而不能識別雙反斜槓"\\",這是系統檔案系統自身的約定,路徑層次使用“\”區分而不是使用“\\”來區分:

引自:檔案路徑:/和\的區別 - 音為 - 部落格園 (cnblogs.com)

【3】系統環境變數作用:

1.絕對路徑與相對路徑:
絕對路徑是指檔案在硬碟上真正存在的路徑。
相對路徑,就是相對於自己的目標檔案位置。
2.path路徑作用:
path路徑:用來指定可執行檔案的絕對路徑;可由變數名直接呼叫可執行檔案(作者的理解。。。3.3),用於DOS命令的呼叫。
作者找到的比較好的解釋:(3條訊息) 為什麼要配環境變數?path用來幹什麼?_Pre_waist_L的部落格-CSDN部落格_配置環境變數path的目的是什麼

【4】Vs2019環境配置中屬性配置的作用:

vs配置屬性管理器(轉) - xiawuhao2013 - 部落格園 (cnblogs.com)

作者:TangBao~

-------------------------------------------

個性簽名:啦啦啦~這是個勤快的作者呢~(っ•̀ω•́)っ✎⁾⁾!