下載git上面的openpose項目源碼:要求帶cmakelist
下載cmake軟件
將openpose源碼解壓並放在合適的路徑下:下載caffe和pybind11,分別解壓並放在3rdparty文件夾下;分別打開models和3rdparty/windows,其中有bat文件,將其中要下的文件先下載下來並解壓至相應的文件夾中 (caffe和pybind11下載地址見:https://xugaoxiang.com/2021/05/29/build-openpose-for-windows-python-api/) (models和windows中bat文件中的下載地址提取方式見:https://www.bilibili.com/video/BV1WV411v7aj?spm_id_from=333.999.0.0,只看其中的下載過程即可)
在openpose文件夾下新建一個build文件夾
打開cmake軟件,鍵入以下信息
點擊configuration,選擇相應的vs版本、x64或32、默認選項:
一次configuration后,選中如下兩個:
再次點擊configuration
點擊generate
點擊open project:這個在generate后才能點擊,之前是灰色的,無法點擊。之后應該自動運行visual studio打開項目。如果出現錯誤:cmake open project出現未知錯誤...
,則跳過cmake,直接找到openpose/build打開項目
vs中編譯:右鍵單擊相應解決方案-->生成/重新生成
openposedemo:在vs上跑的一個demo項目
pyopenpose:這里就會生成python需要的庫文件pyb和依賴dll等
然后按照
具體對照sys.path和os.environ
運行:在vs的terminal中,找到openpose/examples/.../01...py,注意不是build中,而是在examples中,其實也好理解:build中的是對源碼進行編譯的結果,生成了pyopenpose的庫,而實際演示的項目本來就不應該在build中,不然豈不是只有先編譯才能寫demo了?
pycharm中實現:細節部分看項目中的path和pyb文件解釋
下面臨時在一個pycharm中的項目中建立一個文件夾用於trail/實驗
建立的文件夾內容如下
另,test.py也是自己建立的,不過內容基本是照搬vs中01xxx.py的
錯誤整理:由於記不清是哪一步出的錯了,所以就統一放到這里:順序是時間順序:有錯誤搜索解決方案的歷史記錄
如果出現這個錯誤:
CMake Error: The source directory "xxx/openpose" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.
:檢查下載的壓縮包是不是不含cmakelist文件:特別是拉取的release版本可能就不含cakelist,如果沒有就拉取源碼而非release版本
如果出現這個錯誤:
[CMake Error: The following variables are used in this project, but they are set to NOTFOUND.](https://stackoom.com/en/question/319pY)
:使用管理員模式打開cmake試一下
如果出現這個錯誤:
CMake Error at CMakeLists.txt:3 (project): Failed to run MSBuild command:xxx(一個路徑)
:檢查上面第4步下載的文件有沒有完全解壓且放在相應的文件夾下
如果出現這個錯誤:
cmake open project出現未知錯誤
:則跳過cmake,直接找到openpose/build打開項目
如果出現這個錯誤:
Error: OpenPose library could not be found. Did you enable
BUILD_PYTHONin CMake and have this Python script in the right folder?
:檢查是不是改錯python文件或者文件對了但是改錯了路徑
其他事項
cuda版本選擇
cuda和cudnn版本建議不要太新,最新版的支持少,如現在(22/2/7)就是cuda11.6,但是tensorflow並不支持(支持的最高版本仍沒有達到11.6的地步),pytorch想來也是不行
源碼+configration, generate出的項目的結構:下面都在build中
有意思的是,在python demo的演示中,似乎將本機視作win32,但實際上這不是x64的嗎?這個暫時不知道怎么解釋
這個文件的相同路徑下有一篇論文,講的是openpose,中期的時候可以考慮加上,其實也可以看看,比較有用吧
安裝並實現pychram用到的博文、視頻等鏈接
將來看的: