zoukankan      html  css  js  c++  java
  • 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编译一下

     

    设为启动项目,运行调试

     

  • 相关阅读:
    Vmware 可用的激活码
    查询某网址的百度收藏量
    SQL 分页实现
    JS 分页实现
    分页逻辑分析
    Mysql总结概述
    解析select *
    teradata中EXPLAIN执行计划总结
    Teradata Join类型
    Teradata中join总结
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/11729968.html
Copyright © 2011-2022 走看看