[圖文] OpenCV4.5.1 永久配置在 VisualStudio 2019 開新專案不用重新配置
繼上一篇 [圖文] OpenCV 4.0.1 安裝配置在 Visual Studio 2019
https://charlottehong.blogspot.com/2019/02/opencv-401-visual-studio-2019.html
採用的方法已經是比較省麻煩的可以把設定檔存下來,但終究還是需要複製設置檔案,有沒有辦法可以一勞永逸呢?永遠不需要在 Visual Studio 2019 配置 opencv 一開新專案直接就是載入好的狀態呢?
其實是可以的,只是這個方法不是很建議。用這個方法要留點心知道自己在幹嘛,一旦配置到預設系統之後,就會一直是載入的狀態,在某些極端情況下可能會造成bug。
新手剛學倒是無所謂接觸到的代碼都是簡單的,最重要的減低每次都要設定的痛苦趕快進入狀態,這就很適合這樣直接設定在全域。
本文最後有懶人包,懶人包就是你直接點擊兩下安裝自動完全本文所介紹的一切,重啟VisualStudio後直接就搞定可執行,
下載opencv
官方載點:https://sourceforge.net/projects/opencvlibrary/files/4.5.1/opencv-4.5.1-vc14_vc15.exe/download
載點刻意帶版本號是為了避免因為檔名問題導致錯誤發生,非必要建議直接用相同版本。(版本號不同底下文件要修改內文代碼)
下載完畢後,預設安裝位置是原地解壓縮,為了對應文章路徑,把它安裝到 C:\ 。
(建議是別改了,後面的程序都寫好了,改了要自己慢慢去對一一修改)
加入環境變數
免了整合在內設定檔內了。
Visual Studio 2019 內部設定檔
檔案位置存在這裡
%USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0
他是路徑只是長得有點怪,直接複製貼在資料夾路徑上前往
進來後理應會看到三個東西(沒有的話自己新建一個同檔名的)
然後其中就是我們的主角
Microsoft.Cpp.x64.user.props
預設裡面很空
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup />
<ItemGroup />
</Project>
這邊幫大家備份一份吧,丟了可以來這裡找。
再來是改動後的檔案,詳細就不介紹了,花點時間可以看懂的。
因為有點長我外貼到gist去,詳細從這邊複製
https://gist.github.com/hunandy14/c5a74e769bd29be3c6a36b139f044573
開頭部分稍微看一下,如果版本不同要自己改版本名(本文撰寫時是4.5.1版本)
如果換位置也要更換,裡面有中文註解寫在裡面,照著註解改位置就可以了
貼上之後存檔就完工了。
創建檔案測試
建立專案
選擇空白專案
隨意打一個名稱下一步
進來之後先調上面的 Release / x64 這裡不條會跳錯,而且很容易忘記
然後創建檔案
檔名隨意吧
再來輸入測試程序
/**********************************************************
Name :
Date : 2016/05/29
By : CharlotteHonG
Final: 2016/05/29
來源:https://charlottehong.blogspot.com/2019/02/opencv-401-visual-studio-2019.html
**********************************************************/
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char const* argv[]) {
/* 畫布 */
Mat img(270, 720, CV_8UC3, Scalar(56, 50, 38));
/* 直線 */
line(img, Point(20, 40), Point(120, 140), Scalar(255, 0, 0), 3);
/* 實心方塊 */
rectangle(img, Point(150, 40), Point(250, 140), Scalar(0, 0, 255), -1);
/* 實心圓 */
circle(img, Point(330, 90), 50, Scalar(0, 255, 0), -1);
/* 空心橢圓 */
ellipse(img, Point(460, 90), Size(60, 40), 45, 0, 360, Scalar(255, 255, 0), 2);
/* 不規則圖形 */
Point points[1][5];
int x = 40, y = 540;
points[0][0] = Point(0 + y, 50 + x);
points[0][1] = Point(40 + y, 0 + x);
points[0][2] = Point(110 + y, 35 + x);
points[0][3] = Point(74 + y, 76 + x);
points[0][4] = Point(28 + y, 96 + x);
const Point * ppt[1] = { points[0] };
int npt[] = { 5 };
polylines(img, ppt, npt, 1, 1, Scalar(0, 255, 255), 3);
/* 繪出文字 */
putText(img, "Test Passed !!", Point(10, 230), 0, 3, Scalar(255, 170, 130), 3);
/* 開啟畫布 */
namedWindow("OpenCV Test By:Charlotte.HonG", WINDOW_AUTOSIZE);
imshow("OpenCV Test By:Charlotte.HonG", img);
waitKey(0);
return 0;
}
貼好會像這個樣子
再次確認上方有沒有條錯
按F5 很神奇的什麼都沒設置就可以用了
懶人包
已經懶到不能再覽了,只需要你好好的VS裝好,然後執行這包就可以用了。
(包含OpenCV也整合進去了,不用另外載直接無腦裝到好)
懶人包安裝完畢之後會自動彈出測試的專案資料夾,打開可以直接按F5編譯測試。
https://bit.ly/3omNHOh