OpenPose筆記——windows 10下,自編譯openpose代碼(vs下能跑了,pythonAPI也能使了)

簡直太可怕了,遇到N多的問題,我覺有必要寫下來記錄一下
我自己編譯了四五天
編譯了10幾次
夭壽哦!
缺好多好多東西!
給大家講一下具體步驟

一 .準備工作
準備工作當然是各種環境:
1. 至少VS2015 以上的版本
2. CMake Gui,注意,千萬不要下載3.16版的!3.16版本沒有win64的選項,編譯出來是win32版本的。。。然後x64和x86衝突簡直哭死個人。。。。我個人用cmake 3.13.2版本莫問題
3. OpenPose 源碼 下載好後解壓好待用。本人是2019年10月23日下載的源碼
4. 安裝 CUDA 官網下載,按提示來就行,注意添加環境變量:添加 [yourPath]\cuda 和[yourPath]\cuda\bin 到環境變量
5. 安裝 CuDNN ,解壓後拷貝:
[yourPath]\cuda\bin\cudnn64_5.dll —> (拷貝至)
[yourPath]\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
[yourPath]\cuda\include\cudnn.h —> (拷貝至)
[yourPath]\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
[yourPath]\cuda\lib\x64\cudnn.lib —>(拷貝至)
[yourPath]\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
二. 各種依賴安裝
1. 運行…/openpose-master/models/中的getModels.bat 下載所需的模型
2. 運行…/openpose-master/3rdparty/windows中的getCaffe.bat,getCaffe3rdparty.bat和getOpenCV.bat 下載各種依賴
3. 下載pyhind11,放在openpose-master\3rdparty文件夾下覆蓋即可。 pyhind11百度雲,提取碼hgnd

三、編譯源代碼
最重要的來了!
1. 打開CMake GUI,第一個紅框是openpose源碼的文件夾,第二個紅框裏填的是生成路徑,自己創建的
在這裏插入圖片描述
2. 點擊【Configure】按鈕,在彈出的對話框根據自己的版本選擇合適的vs版本,一定要選擇帶win64的!對於同一個源碼文件夾,這個對話框只彈一次。。。。。
在這裏插入圖片描述
3. 等出現 “Configuring done”後,差不多是這樣的,再次點擊【Configure】按鈕直到紅色全部消失。configure時如果出現錯誤,按照下面的錯誤提示自行解決。(我遇到的就是缺少pyhind11)
在這裏插入圖片描述
4. 勾選複選框
在這裏插入圖片描述
在這裏插入圖片描述
5. 點擊【Generate】按鈕,出現“Generating done”就好了
6. 然後下載 Caffe.rar, 解壓後放在 openposeC-master\3rdparty\caffe\bin。因爲之前通過 getcaffe.bat下載的caffe少boost_thread-vc140-mt-1_61.dll等dll文件,會導致無法運行,這幾個dll根本下不到啊啊啊,所以我就把我自己弄好的dll打包好分享出來。 caffe百度雲,提取碼2403
在這裏插入圖片描述
7. 打開vs2015,打開項目,sln文件在剛剛的build文件夾裏,選擇Examples下的OpenPoseDeme,右鍵“設置爲啓動項目”,然後build整個解決方案
8. 、在這裏插入圖片描述
在這裏插入圖片描述
不知道別人怎麼樣,反正我跳過了一個。。。。
在這裏插入圖片描述
四、 跑起來啊嘿嘿嘿~
1. 上面的步驟完了之後,C++的例子已經可以運行了,所有C++的例子都在這裏,需要用哪個例子,就把它右鍵設置爲啓動項目,然後運行就可以了。(裏面有幾個例子是要用到攝像頭的)
在這裏插入圖片描述
在這裏插入圖片描述
2. 運行python
正常步驟下來,這個時候在openpose-master\build\python\openpose\Release文件夾下會出現pyopenpose.cp37-win_amd64.pyd 這個庫文件
在這裏插入圖片描述
這證明我們已經安裝了python API
然後通過cmd,cd到 openpose-masterV2\build\examples\tutorial_api_python文件夾下,執行 python 01_body_from_image.py,就可以得到結果
在這裏插入圖片描述
PS:如果出現了 找不到 DLL 文件的錯誤,會提示“BUILD_PYTHON”的錯誤,這個錯誤是python文件裏寫的。。。可以不用管,主要原因還是之前依賴沒安好,在確定所有的依賴都放到了對應的文件夾的情況下,可以再次執行 點擊【configure】按鈕,點擊【generate】按鈕,vs內 【重新生成解決方案】,這樣重新編譯一遍就好了。
真的太難了。。。我弄了整整5天。。。。各種缺庫。。。我還試過自己編譯boost_1_61,只能編譯出來靜態鏈接庫lib,編譯不出來動態鏈接庫dll。。。最核心的caffe包(包含各種boost vc140 dll)還是我從一位大哥那要了一個已經編譯好的openpose文件裏摳出來的,哪哪都下不到,真的是心力交瘁

已陣亡。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章