openpose开发(1)官方1.5版本源码编译


环境

WIN10系统,联想Y7000配置,8G内存

  • VS2019
  • cuda10
  • cudnn10
  • opencv4.11没有扩展库
  • 显卡 1050TI

 用到的库(提前下载好的模型,依赖库,user_code是自己新添加的开发样例)

 

隐患

我的系统默认还有cuda8(已经被10的系统环境替代)

还有VS2015 ,VS2019与其共存极其容易带来环境问题,造成后面的编译调试失败。

 

1下载源码

 https://github.com/CMU-Perceptual-Computing-Lab/openpose

 

 我的此时此刻最新的1.5.1

 

 

 

2开始编译

2-1第一次编译,直接翻墙,手机流量,高速下载让他自动安装caffe和openc4.11和模型文件

(如果是第二次编译,为了加快速度可以把之前下载好的caffe和opencv4.11库预先复制出来,给以后重复编译用)

直接解压到工程文件对应目录

 

 库模型也可以直接解压避免重新下载

 

 

 

 2-2 创建bulid文件夹开始编译

选择vs2019- 64位

 

 

 

 3 生成generate

 

 4 vs2019打开生成的vs工程

 

 

 

 5 VS生成文件

 

 环境配置什么都没有,默认cmake时候有了caffe库和opencv4.11库

漫长等待生成。

 

 

 我们运行一个

 正常因该出画面

 

 报了个错,程序中断了,感觉是cuda问题我来看看。

 

双击对勾,点击加载

 

 

 

 

 

 一直在那加载,我等里一段时间,他应该加载了很多默认的东西,包括出错的那个东西也应该自动加载了,点击取消,直接成功

 

 

直接运行生成的EXE会报错

 

 

我们需要去之前下载的cafe和opencv4.11库复制过来

 

 

 

还有生成的模型,相对路径

 

 

 

 全部复制到exe的生成文件夹下

重新运行就可以了。

这样就可以执行CMD输入参数

 

6 如何创建自己的新工程

自己要改写一个程序做一个开发

来到

 

 

 

 

 

 

 

 

 

这个cpp是来自于样例16的开发直接拷贝过来。

 cmake改写后的内容、

 

# Uncomment these lines with your custom file names
set(USER_CODE_FILES
#     ADD_HERE_YOUR_FILE1.cpp
#     ADD_HERE_YOUR_FILE1.hpp
#     ADD_HERE_YOUR_FILE2.cpp
#     # ...
     synchronous_custom_output.cpp)

foreach(USER_CODE_FILE ${USER_CODE_FILES})

  get_filename_component(SOURCE_NAME ${USER_CODE_FILE} NAME_WE)

  if (UNIX OR APPLE)
    set(EXE_NAME "${SOURCE_NAME}.bin")
  elseif (WIN32)
    set(EXE_NAME "UserCustomCode")
  endif ()

  message(STATUS "Adding Example ${EXE_NAME}")
  add_executable(${EXE_NAME} ${USER_CODE_FILE})
  target_link_libraries(${EXE_NAME} openpose ${examples_3rdparty_libraries})

  if (WIN32)
    set_property(TARGET ${EXE_NAME} PROPERTY FOLDER "User Code")
    configure_file(${CMAKE_SOURCE_DIR}/cmake/OpenPose${VCXPROJ_FILE_GPU_MODE}.vcxproj.user
        ${CMAKE_CURRENT_BINARY_DIR}/${EXE_NAME}.vcxproj.user @ONLY)
    # Properties->General->Output Directory
    set_property(TARGET ${EXE_NAME} PROPERTY RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_BINARY_DIR}/$(Platform)/$(Configuration))
    set_property(TARGET ${EXE_NAME} PROPERTY RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_BINARY_DIR}/$(Platform)/$(Configuration))
  endif (WIN32)

endforeach()

 重新cmake一下

 

 

   打开vs可以看见多一个项目

 

 重新VS编译一下

 

设为启动项目,运行调试

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM