本文主要介紹在 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 版本免費供學生、開放源代碼參與者和個人使用。
從下方地址下載 Visual Studio 2022 Community 版,安裝選項如圖 1-1 所示:
https://visualstudio.microsoft.com/zh-hans/downloads/
圖 1-1 Visual Studio 2022安裝選項
1.2 下載并解壓 OpenVINO Runtime
OpenVINO Runtime 2022.3 以壓縮包(OpenVINO Archives)的形式提供,里面包含了開發(fā) OpenVINO C++ 推理程序所必需的文件,如圖 1-2 所示:
-
C++預處理器所需的頭文件:include文件夾
-
C++鏈接器所需的lib文件:lib文件夾
-
可執(zhí)行文件(*.exe)所需的動態(tài)鏈接庫文件:bin文件夾
-
OpenVINO runtime第三方依賴庫文件:3rdparty文件夾
圖 1-2 開發(fā) OpenVINO C++ 推理程序所必需的文件
首先,請讀者先打開下面的鏈接,下載 OpenVINO Runtime 2022.3 壓縮包:
https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/download.html
然后,請讀者手動新建 C:Program Files (x86)Intelopenvino_2022.3.0 文件夾,并把壓縮包解壓后的文件拷貝到 openvino_2022.3.0 文件夾中,完成OpenVINO Runtime 壓縮包的下載和解壓工作,如圖 1-3 所示。
圖 1-3 下載并解壓 OpenVINO Runtime 壓縮包
1.3 下載并解壓 OpenCV
在端到端的 AI 推理計算流程中,OpenCV 庫用于實現圖像載入、數據前處理、推理結果后處理和數據可視化,如圖1-4 所示。
圖 1-4 端到端的 AI 推理計算流程
OpenCV 也是以壓縮包的形式提供,從下方地址下載 Windows 平臺上的壓縮包:
https://opencv.org/releases/
首先,手動新建 C:opencv 文件夾;然后,把 OpenCV 解壓后的 build 文件夾全部拷貝到 C:opencv 文件夾,如圖 1-5 所示,完成 OpenCV 的下載并解壓。
圖 1-5 下載并解壓 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)”欄選擇“所有平臺”;
-
在“輸出目錄”輸入
“$(SolutionDir)bin$(Platform)$(Configuration)”;
-
在“中間目錄”輸入
“$(SolutionDir)Intermediate$(Platform)$(Configuration)”
第四步,在“屬性頁”對話框中選中“C/C++→常規(guī)”;在“平臺(P)”欄選擇“x64”;在“附加包含目錄”中輸入:
-
C:Program Files (x86)Intelopenvino_2022.3.0 untimeinclude
-
C:opencvuildinclude
第五步,在“屬性頁”對話框中選中“鏈接器→常規(guī)”;在“平臺(P)”欄選擇“x64”;在“附加庫目錄”中輸入:
-
C:Program Files (x86)Intelopenvino_2022.3.0 untimelibintel64$(Configuration)
-
C:opencvuildx64vc16lib
第六步,在“屬性頁”對話框中選中“鏈接器→輸入”,在“配置(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 中,源代碼下載地址:
https://gitee.com/ppov-nuc/yolov5_infer/blob/main/test_ov_opencv.cpp
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)Intelopenvino_2022 .3.0 untimeinintel64Release
-
C :Program Files(x86)Intelopenvino_2022 .3.0 untimeinintel64Debug
-
C :Program Files(x86)Intelopenvino_2022 .3.0 untime3rdparty bbin
-
C :opencvuildx64vc16in
最后,編譯并運行上述代碼,結果如下圖所示:
1.6 總結
本文詳述了從零開始在 Windows 上基于 Visual Studio 配置開發(fā) OpenVINO C++ 推理程序的全過程,并給出了完整的測試程序代碼 test_ov_opencv.cpp。環(huán)境配置成功后,就可以開始用 C++ 編寫 OpenVINO 推理程序了。
審核編輯 :李倩
-
C++
+關注
關注
22文章
2108瀏覽量
73618 -
Visual
+關注
關注
0文章
252瀏覽量
34251 -
Microsoft
+關注
關注
0文章
214瀏覽量
6849
原文標題:在Windows中基于Visual Studio配置OpenVINO C++開發(fā)環(huán)境 | 開發(fā)者實戰(zhàn)
文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論