前面自编译好了OpenPose 的python,但是没找到用python跑视频的代码。。。
最终,还是需要在C++工程里来跑。
编译好的解决方案里面有很多例子
上面一共17个例子,图片、文件夹、手、脸、热力图、输入流(摄像头)等多个例子包含在内,但是没有视频的例子。
第一种运行的方式是 命令行运行
打开cmd进入 openpose/build/x64/Release 文件夹,命令为
// 跑文件夹内多图
OpenPoseDemo.exe --image_dir F:\test --face --hand --write_json F:\test\json --write_images F:\test\images
// 跑视频
OpenPoseDemo.exe --video F:\test\1_xinjiang.avi --face --hand --write_json F:\test\json
但是在cmd里面跑,很容易报下面几个问题:
- 缺很多dll 如 opencv_world411.dll 等多个dll。解决方案是:把openpose\build\bin内的所有dll直接复制到OpenPoseDemo.exe的同级文件夹下
- 找不到模型文件。解决方案是:openpose\models整个文件夹复制到OpenPoseDemo.exe的同级文件夹下
- out of memory 内存不足。这个···加个内存条???
在命令行下,跑个图片少的文件夹可以,我试了一个300张图的文件夹就不行了。所以。。。。
第二种运行的方式是 VS下运行项目
- 把OpenPoseDemo作为启动项
- 用vs打开openpose\include\openpose\flags.hpp 这个文件里全是运行openposeDemo的输入参数和输出参数 里面各个参数的注释写的非常清楚,用的时候自己填入相应的路径。然后保存
这里要说一句,这个文件不知道为什么在vs的解决方案管理器里搜不到。。(好久不用c++真的很多都忘了)
- 填好路径后,运行。 会弹出一个黑框框,闪了几行字,然后黑框框就关了。 这里没什么问题,只要不报错就没事
- 打开cmd,进入 openpose/build/x64/Release 文件夹。直接运行OpenPoseDemo.exe 这里不用输入参数,因为参数已经编译到程序里了。会自动按照路径加载要跑的文件。
PS:注意,每次改文件路径都需要在VS里编译好,在通过cmd运行OpenPoseDemo.exe
版权归原作者 雪兰灵莹 所有, 如有侵权,请联系我们删除。