從今天開始,我們又要開始一個新的系列了,這個系列就是《C++之 Opencv 入門到提高》。這個系列是有關如何使用 C++ 語言,透過 Opencv 來實現影像處理、缺陷檢測、影片處理、機器學習等功能。OpenCV 我也是新接觸的,一步一步的學習,一步一步提高。這個系列是以 C++ 為基礎的,所以要想看懂裡面的程式碼,C++ 還是必須要有點基礎的。
OpenCV 是什麼,我簡要的說明一下。OpenCV 是一個基於 BSD 許可(開源)發行的跨平臺計算機視覺庫,可以執行在Linux、Windows、Android和Mac OS作業系統上。它輕量級而且高效——由一系列 C 函式和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的介面,實現了影像處理和計算機視覺方面的很多通用演算法。
在計算機視覺專案的開發中,OpenCV作為較大眾的開源庫,擁有了豐富的常用影像處理函式庫,採用C/C++語言編寫,可以執行在Linux/Windows/Mac等作業系統上,能夠快速的實現一些影像處理和識別的任務。OpenCV 是一個好東西,我這裡只是做一個簡單的介紹,如果大家想了解更多,可以去網上自行腦補吧。它的官網地址:https://opencv.org/。
今天是這個系列的第一篇,話不多說,我們開始認識一下它。
我需要進行說明,以防大家不清楚,具體情況我已經羅列出來。
作業系統:Windows Professional 10(64位)
開發元件:OpenCV – 4.10.0
開發工具:Microsoft Visual Studio Community 2022 (64 位) - Current版本 17.8.3
開發語言:C++(VC16)
二、測試原始碼
環境配置好了,我們怎麼知道是否配置成功呢,如果有程式碼執行一下,就可以知道了。程式碼裡有圖片路徑,執行之前需要替換。
2.1、helloworld.cpp
1 #include <opencv2/opencv.hpp> 2 #include <opencv2/highgui/highgui.hpp> 3 #include <opencv2/imgproc.hpp> 4 5 using namespace cv; 6 7 int main() 8 { 9 Mat dest = imread("D:\\360MoveData\\Users\\Administrator\\Desktop\\TestImage\\guanyu.jpg", -1); 10 namedWindow("demoWindow", cv::WINDOW_AUTOSIZE); 11 imshow("demoWindow", dest); 12 13 waitKey(0); 14 destroyAllWindows(); 15 return 0; 16 }
三、配置流程
C++ 版本的 Opencv 配置其實不是很難,主要是分為三步,第一步:下載必要的元件,第二步:配置環境變數,第三步:配置 C++ 專案屬性。三步完成,接下來就可以測試了。雖然分為3個步驟,但是我是按著順序一步一步做的,沒有分三步,每步在細分。
3.1、OpenCV 元件官網下載
官網地址:https://opencv.org/releases/
我直接上一幅圖,讓大家有一個直接的感受。它的最新版本是 4.10.0,當然,在這個頁面也羅列出來其他版本,我使用的是最新的。
3.2、因為我的系統是 Windows 版本,所以我點選【Windows】連線,開始現在 Windows 版本的安裝程式。
3.3、當 opencv-4.10.0-windows.exe 下載完畢,雙擊直接安裝就可以了。我的安裝目錄是 E 盤,目錄中不要包含中文字元。
下載完成後,我們雙擊 exe 檔案,把檔案進行解壓,我存放在 E 盤。如圖:
點選【Extract】解壓檔案。
解壓完成後,會在 E 盤生成一個 opencv 的目錄,進入目錄,如圖:
進入 E:\opencv\build 目錄,是生成的專案,如圖:
在 x64 目錄下面,有一個目錄是:E:\opencv\build\x64\vc16\bin,這個地址就是要增加到環境變數中的。如圖:
3.4、開始配置環境變數,右鍵點選【此電腦】,選擇【屬性】,進入【設定】視窗。點選視窗右側的【高階系統設定】,如圖:
3.5、點選【高階系統設定】,開啟【系統屬性】視窗,選擇【高階】選項卡,點選下方的【環境變數】按鈕。如圖:
3.6、點選【環境變數】按鈕,開啟【環境變數】視窗。如圖:
3.7、在【環境變數】視窗的下方【系統變數】部分,找到【Path】配置項,點選【編輯】按鈕,開啟編輯視窗。如圖:
3.8、在【系統變數】視窗內,選擇【Path】項,點選【編輯】按鈕,開啟【編輯環境變數】視窗。如圖:
3.9、進入到【編輯環境變數】視窗,先點選【新建】按鈕,會在視窗列表底部,出現空白行,將 opencv 的 bin 目錄,複製在此,點選【確定】按鈕完成。
3.10、現在,我們需要配置 Visual Studio 2022 C++ 專案一些設定了。首先,我們使用 VS2022 建立一個空的 C++ 專案。效果如圖:
3.11、先選擇【OpenCV.TraningSeries-001】專案,點選右鍵選擇【屬性】,或者點選快捷鍵【alter+enter】,開啟專案屬性視窗,如圖:
紅色標註的就是我們要配置的內容。主要有兩項:VC++ 目錄、聯結器的輸入項。
3.12、接下來,我們先配置【VC++目錄】的【包含目錄和庫目錄】。包含目錄,配置內容是:E:\opencv\build\include,庫目錄:E:\opencv\build\x64\vc16\lib。
配置庫目錄,操作差不多。點選【庫目錄】右側,編輯按鈕,開啟編輯視窗。如圖:
編輯庫目錄。
最後效果,如圖:
3.13、配置 VC++ 聯結器的【輸入】專案。就是要把 庫目錄:E:\opencv\build\x64\vc16\lib 下的 opencv_world4100d.lib 檔案增加到這裡。如圖:
點選【編輯】按鈕,開啟編輯視窗。
3.14、到此,我們就全部配置完成了,就可以寫程式碼測試。
四、總結
這是 C++ 使用 OpenCV 的第一篇文章,很簡單,主要講述了為了在 C++ 環境下使用 OpenCV 如何配置環境,我第一次配置還是忙活了半天,還好,最後成功了。初見成效,繼續努力。皇天不負有心人,不忘初心,繼續努力,做自己喜歡做的,開心就好。