本文主要介绍在 windows 中基于 visual studio 配置 openvino c++ 开发环境,主要步骤有:
下载并安装 visual studio community 版
下载并解压 openvino runtime
下载并解压 opencv
在 visual studio 中配置项目属性
运行 openvino c++ 范例程序,测试开发环境
下面,本文将依次详述。
1.1下载并安装 visual studio community 版
microsoft visual studio(简称vs)是 windows 平台上非常好用的集成开发环境(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)的形式提供,里面包含了开发 openvino c++ 推理程序所必需的文件,如图 1-2 所示:
c++预处理器所需的头文件:include文件夹
c++链接器所需的lib文件:lib文件夹
可执行文件(*.exe)所需的动态链接库文件:bin文件夹
openvino runtime第三方依赖库文件:3rdparty文件夹
图 1-2 开发 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++→常规”;在“平台(p)”栏选择“x64”;在“附加包含目录”中输入:
c:program files (x86)intelopenvino_2022.3.0 untimeinclude
c:opencvuildinclude
第五步,在“属性页”对话框中选中“链接器→常规”;在“平台(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++ 范例程序
测试开发环境
首先,请将下面的代码拷贝到 main.cpp 中,源代码下载地址:
https://gitee.com/ppov-nuc/yolov5_infer/blob/main/test_ov_opencv.cpp
#include #include #include //openvino header file#include //opencv header fileint 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 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 动态链接库所在的位置,添加到path环境变量中。
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 配置开发 openvino c++ 推理程序的全过程,并给出了完整的测试程序代码 test_ov_opencv.cpp。环境配置成功后,就可以开始用 c++ 编写 openvino 推理程序了。
计算机交流电源电路图
功率半导体的功能有哪些
电动汽车的防水效果如何
PLC系统中AI/AO卡件的应用
制作一个简单基于晶体管的密码锁电路
在Windows中基于Visual Studio配置OpenVINO C++开发环境
疫情对央行的数字货币有促进作用吗
自制无线路由器天线三种方法
ARM系列STM32F103芯片的解密方法
美图M8、美图T8对比评测:美图M8与美图T8外观、续航、摄像、价格对比,双8PK你喜欢谁?
食品安全检测样品前处理一体机的特点是什么
三星s8刚刚发布 s9项目已上线
华为Mate10最新消息,未来精度的全面屏,虹膜指纹双识别,售价4000向上,力怼iphone8!
架构师居然这么设计DB+缓存
七大精品展区闪耀第85届中国电子展
华为nova3评测 一台令人初感惊艳后并且很难让人挑出毛病的一款手机
韩国半导体巨头库存飙升,存储器市场面临巨大挑战
iOS10.2越狱想越吗?iOS10.2安全越狱无隐患,iOS10.2越狱教程奉上
吹田电气亮相WBE2023第8届世界电池产业博览会
现代Mobis将发力于智能汽车安全技术的研发