本文主要介紹在Windows中基于Visual Studio配置OpenVINO C++開發(fā)環(huán)境,主要步驟有:
- 下載并安裝Visual Studio Community版
- 下載并解壓OpenVINO Runtime
- 下載并解壓OpenCV
- 在Visual Studio中配置項目屬性
- 運行OpenVINO C++范例程序,測試開發(fā)環(huán)境
下面,本文將依次詳述
1.1 下載并安裝Visual Studio Community版
Microsoft Visual Studio(簡稱VS)是Windows平臺上非常好用的集成開發(fā)環(huán)境(IDE)偷仿,其Community版本免費供學(xué)生苦丁、開放源代碼參與者和個人使用。從https://visualstudio.microsoft.com/zh-hans/downloads/ 下載Visual Studio 2022 Community版愤钾,安裝選項如下圖所示:
1.2 下載并解壓OpenVINO Runtime
OpenVINO Runtime 2022.3以壓縮包(OpenVINO Archives)的形式提供触创,里面包含了開發(fā)OpenVINO C++推理程序所必需的文件:
- C++預(yù)處理器所需的頭文件:include文件夾
- C++鏈接器所需的lib文件:lib文件夾
- 可執(zhí)行文件(.exe)所需的動態(tài)鏈接庫文件:bin文件夾
- OpenVINO runtime第三方依賴庫文件:3rdparty文件夾
開發(fā)OpenVINO C++推理程序所必需的文件
首先坎藐,請讀者下載OpenVINOTMRuntime 2022.3壓縮包
然后,請讀者手動新建 C:\Program Files (x86)\Intel\openvino_2022.3.0 文件夾哼绑,并把壓縮包解壓后的文件拷貝到openvino_2022.3.0文件夾中岩馍,完成OpenVINO Runtime壓縮包的下載和解壓工作,如下圖所示:
1.3 下載并解壓OpenCV
在端到端的AI推理計算流程中抖韩,OpenCV庫用于實現(xiàn)圖像載入兼雄、數(shù)據(jù)前處理、推理結(jié)果后處理和數(shù)據(jù)可視化帽蝶。
OpenCV也是以壓縮包的形式提供,從https://opencv.org/releases/下載Windows平臺上的壓縮包块攒。然后励稳,手動新建C:\opencv文件夾;接著囱井,把OpenCV解壓后的build文件夾全部拷貝到C:\opencv文件夾驹尼,如下圖所示,完成OpenCV的下載并解壓庞呕。
1.4 在Visual Studio中配置項目屬性
在Visual Studio中配置項目屬性新翎,主要是告訴C++編譯器和鏈接器,OpenVINO和OpenCV的頭文件以及庫文件在哪里住练。
第一步地啰,打開Visual Studio 2022 Community,在“文件(F)”菜單中選擇“新建(N)→項目(P)”讲逛,新建一個C++空項目亏吝。
第二步,在“文件(F)菜單”中選擇“新建(N)→文件(F)”盏混,新建一個main.cpp文件蔚鸥,并添加到項目管理器的源文件文件夾中惜论。
第三步,在“解決方案資源管理器”中止喷,右鍵單擊項目名稱馆类,在右鍵菜單中選擇“屬性(R)”,啟動“屬性頁”對話框弹谁。
- 在“配置(C)”欄選擇“所有配置”乾巧,在“平臺(P)”欄選擇“所有平臺”;
- 在“輸出目錄”輸入“
(Platform)$(Configuration)\”僵闯;
- 在“中間目錄”輸入“
(Platform)$(Configuration)\”
配置屬性頁
第四步卧抗,在“屬性頁”對話框中選中“C/C++→常規(guī)”;在“平臺(P)”欄選擇“x64”鳖粟;在“附加包含目錄”中輸入:
C:\Program Files (x86)\Intel\openvino_2022.3.0\runtime\include
C:\opencv\build\include
第五步社裆,在“屬性頁”對話框中選中“鏈接器→常規(guī)”;在“平臺(P)”欄選擇“x64”向图;在“附加庫目錄”中輸入:
C:\Program Files (x86)\Intel\openvino_2022.3.0\runtime\lib\intel64$(Configuration)
C:\opencv\build\x64\vc16\lib
第六步泳秀,在“屬性頁”對話框中選中“鏈接器→輸入”,在“配置(C)”欄選擇“Debug”榄攀,在“平臺(P)”欄選擇“x64”嗜傅,然后在“附加依賴項”中添加:openvinod.lib;opencv_world470d.lib; 將“配置(C)”欄改為“Release”,然后在“附加依賴項”中添加:openvino.lib;opencv_world470.lib檩赢。
到此吕嘀,完成在Visual Studio中配置OpenVINO C++推理計算項目屬性。
1.5 運行OpenVINO C++范例程序贞瞒,測試開發(fā)環(huán)境
首先偶房,請將下面的代碼拷貝到main.cpp中,源代碼下載地址军浆。
#include <iostream>
#include <string>
#include <openvino/openvino.hpp> //openvino header file
#include <opencv2/opencv.hpp> //opencv header file
int main(int argc, char* argv[]) {
// -------- Get OpenVINO runtime version --------
std::cout << ov::get_openvino_version().description << ':' << ov::get_openvino_version().buildNumber << std::endl;
// -------- Step 1. Initialize OpenVINO Runtime Core --------
ov::Core core;
// -------- Step 2. Get list of available devices --------
std::vector<std::string> availableDevices = core.get_available_devices();
// -------- Step 3. Query and print supported metrics and config keys --------
std::cout << "Available devices: " << std::endl;
for (auto&& device : availableDevices) {
std::cout << device << std::endl;
}
// -------- Step 4. Read a picture file and show by OpenCV --------
cv::Mat img = cv::imread("zidane.jpg"); //Load a picture into memory
cv::imshow("Test OpenVINO & OpenCV IDE", img);
std::cout << "Image width: " << img.cols << " height: " << img.rows << std::endl;
cv::waitKey(0);
cv::destroyAllWindows();
return 0;
}
然后棕洋,將OpenCV和OpenVINO動態(tài)鏈接庫所在的位置,添加到path環(huán)境變量中
C :\Program Files(x86)\Intel\openvino_2022 .3.0\runtime\bin\intel64\Release
C :\Program Files(x86)\Intel\openvino_2022 .3.0\runtime\bin\intel64\Debug
C :\Program Files(x86)\Intel\openvino_2022 .3.0\runtime\3rdparty\tbb\bin
C :\opencv\build\x64\vc16\bin
最后乒融,編譯并運行上述代碼掰盘,結(jié)果如下圖所示。
1.6總結(jié)
本文詳述了從零開始在Windows上基于Visual Studio配置開發(fā)OpenVINO C++ 推理程序的全過程赞季,并給出了完整的測試程序代碼test_ov_opencv.cpp愧捕。環(huán)境配置成功后,就可以開始用C++編寫OpenVINO推理程序了碟摆。