[圖文] OpenCV 3.4.1 安裝配置在 Visual Studio 2017
1. 新版的 Visual Studio 2022 + OpenCV490 可以參考新文章https://charlottehong.blogspot.com/2024/02/opencv-490-win11-visual-studio-2022.html
2. Visual Studio 2019 + OpenCV401 可以參考新文章
https://charlottehong.blogspot.com/2019/02/opencv-401-visual-studio-2019.html
https://charlottehong.blogspot.com/2019/02/opencv-401-visual-studio-2019.html
正文開始
先到官方下載這兩項軟體 (點擊有連結)
關於 Visual Studio 2017 如何安裝可以參考 https://charlottehong.blogspot.com/2018/09/c-visual-studio-2017.html
建議直接解壓縮到C槽,本文範例即直接解壓縮到C
文件說明
build文件是官方已經幫你預先編譯好的檔案,開進去
可以看到vc15 的字樣,這是給 visual studio 2017 用的。
C:\opencv\build\x64\vc15\bin
可以看到vc15 的字樣,這是給 visual studio 2017 用的。
總而言之會用到的只有
- C:\opencv\build\include
- C:\opencv\build\x64\vc15
部屬 OpenCV
首先只要做一次就好的是
- 系統環境變數加入 bin 路徑
編譯器大概需要三個步驟(每次第一次開新專案)
- 編譯器加入 include 路徑
- 編譯器加入 lib 路徑
- 編譯器加入 lib 檔案
環境變數(說明文字在圖下)
如果在設定環境變數之前就已經先打開 Visual Studio 的話,需要重新啟動 Visual Studio ,沒有重開編譯的時候會出現 “找不到**.dll檔案”
標記一下蠻常出現的錯誤
LNK1104 無法開啟檔案 'opencv_worldXXXd.lib'
這個是環境變數這個步驟做錯了
設定編譯器
再來要進入設定裡面設置,留意一下紫色的框框待會會用到
截圖截錯了,以下 紫色框框要選 x64 模式 (OpenCV 提供的預編檔案只有x64)
截圖截錯了,以下 紫色框框要選 x64 模式 (OpenCV 提供的預編檔案只有x64)
截圖截錯了,以下 紫色框框要選 x64 模式 (OpenCV 提供的預編檔案只有x64)
截圖截錯了,以下 紫色框框要選 x64 模式 (OpenCV 提供的預編檔案只有x64)
好了之後貼上測試代碼
/**********************************************************
Name :
Date : 2016/05/29
By : CharlotteHonG
Final: 2016/05/29
**********************************************************/
#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;
}
如果做到這邊才發現跟我一樣選錯了,要退回去include路徑那步重作
設定裡面 x86->x64 改了全部會歸零…
運行
設定好之後直接按F5運行吧~~
出現找不到 dll 檔案,重新啟動一下 Visual Studio 2017 。
其他
如果需要完整的OpenCV功能,比如說 SIFT 等這些實作需要自己重新編譯,重新編譯可以參考這篇站內文,手動編譯原始檔的方法。
http://charlottehong.blogspot.com/2017/07/opencv-320-contrib-visual-studio.html
http://charlottehong.blogspot.com/2017/07/opencv-320-contrib-visual-studio.html