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编译一下

 

设为启动项目,运行调试

 

猜你喜欢

转载自www.cnblogs.com/kekeoutlook/p/11729968.html
今日推荐