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