【OpenPose-Windows】基于Openpose1.4.0的新项目环境配置

版权声明:SkalDak OriGinaL https://blog.csdn.net/qq_20226441/article/details/82556160

OpenPose1.4.0-based Project Configuration

前期Example和Demo的安装与环境配置参见
【OpenPose-Windows】 OpenPose1.4.0+VS2017+CUDA9.2+cuDNN9.2+Windows配置教程


环境

操作系统:Windows 10 Enterprise x64
OpenPose:1.4.0
CUDA: cuda_9.2.148_win10
cuDNN:cudnn-9.2-windows10-x64-v7.2.1.38
Visual Studio:Visual Studio Enterprise 2017

步骤1:文件组织

在解决方案中新建项目【Windows控制台应用程序】,切换解决方案配置为Release,右击新建的项目设为启动项目,打开属性页备用。
这里写图片描述



具体步骤如下:


1. 项目文件夹
进入\$(SolutionDir)\$(ProjectDir)
(e.g. C:\Users\Skaldak\Documents\Visual Studio 2017\Projects\HIS\Posture 其中\HIS为解决方案路径 $(SolutionDir),\Posture 为项目路径 $(ProjectDir)
2. 动态链接库dll
将\openpose目录下\include文件夹,\models文件夹与\openpose\build目录(\build为CMake生成工程的目录)下的\bin文件夹拷贝至\$(SolutionDir)\$(ProjectDir)。将\openpose\build\x64\Release目录下的openpose.dll拷贝至\$(SolutionDir)\$(ProjectDir)\bin
3. 第三方3rdparty
\$(SolutionDir)\$(ProjectDir)目录下新建\3rdparty文件夹,将\openpose\3rdparty\windows目录下的\caffe文件夹,\caffe_cpu文件夹,\caffe3rdparty文件夹与\opencv文件夹拷贝至\$(SolutionDir)\$(ProjectDir)\3rdparty
4. OpenPose静态库lib
\$(SolutionDir)\$(ProjectDir)\3rdparty目录下新建\openpose文件夹,将\openpose\build\src\openpose\Release目录下的openpose.lib库拷贝至\$(SolutionDir)\$(ProjectDir)\3rdparty\openpose



最终文件结构如下:

  • $(SolutionDir)
    • $(ProjectDir)
      • 3rdparty
        • caffe
        • caffe_cpu
        • caffe3rdparty
        • opencv
        • openpose
      • bin
      • include
      • models

这里写图片描述

步骤2:属性配置

转到刚才备用的属性页,以下列出与默认配置所作改动:

  • 常规>全程序优化>无全程序优化

  • 调试>环境>
    PATH=$(ProjectDir)bin;$(ProjectDir)3rdparty\caffe_cpu\bin;$(ProjectDir)3rdparty\opencv\x64\vc14\bin;$(ProjectDir)3rdparty\freeglut\bin;$(ProjectDir)3rdparty\spinnaker\bin;$(LocalDebuggerEnvironment)
    注意这里不能<编辑..>然后一行行写,直接复制粘贴即可

  • C/C++>

    • 常规>
      • 附加包含目录>
        $(ProjectDir)3rdparty\opencv\include;$(ProjectDir)3rdparty\caffe_cpu\include;$(ProjectDir)3rdparty\caffe_cpu\include2;$(ProjectDir)3rdparty\caffe3rdparty\include\boost-1_61;$(ProjectDir)3rdparty\caffe3rdparty\include;$(ProjectDir)include;%(AdditionalIncludeDirectories)
      • 多处理器编译>(是 (/MP))
    • 优化>
      • 优化>优化(优选速度) (/Ox)
      • 优选大小或速度>代码速度优先 (/Ot)
    • 预处理器>
      (若使用CPU核显)
      NDEBUG;USE_CAFFE;USE_CPU_ONLY;CPU_ONLY;CMAKE_INTDIR="Release";%(PreprocessorDefinitions)
      (若使用NVIDIA独显)
      NDEBUG;USE_CAFFE;USE_CUDA;CMAKE_INTDIR="Release";%(PreprocessorDefinitions)
    • 语言>符合模式>否
    • 预编译头>不使用预编译头
    • 高级>编译为>编译为 C++ 代码 (/TP)
  • 链接器>
    • 常规>启用增量链接>否 (/INCREMENTAL:NO) (此项建议)
    • 输入>附加依赖项>
      $(ProjectDir)3rdparty\openpose\openpose.lib;$(ProjectDir)3rdparty\opencv\x64\vc14\lib\opencv_world310.lib;$(ProjectDir)3rdparty\caffe3rdparty\lib\gflags.lib;$(ProjectDir)3rdparty\caffe3rdparty\lib\glog.lib;$(ProjectDir)3rdparty\caffe_cpu\lib\caffe.lib;$(ProjectDir)3rdparty\caffe_cpu\lib\caffeproto.lib;$(ProjectDir)3rdparty\caffe3rdparty\lib\libboost_system-vc140-mt-1_61.lib;$(ProjectDir)3rdparty\caffe3rdparty\lib\libboost_filesystem-vc140-mt-1_61.lib;%(AdditionalDependencies)

步骤3:程序调试

打开之前CMake建立的解决方案OpenPose.sln,复制任意项目Source Files文件夹下cpp源文件的内容到我们新建的项目源文件中,可以正常运行。


以上属性配置有若干冗余,部分为建议选项。

猜你喜欢

转载自blog.csdn.net/qq_20226441/article/details/82556160