我已经禁用了GPU的caffeled,然后
cp caffe/build/Makefile openpose/Makefile.conf
运行
make all -j 6
遇到了这些错误:
-- Generating done
-- Build files have been written to: /path/to/caffe/build
CXX/LD -o ._release/examples/tutorial_thread/1_openpose_read_and_display.bin
._release/lib/libopenpose.so: undefined reference to `cv::VideoCapture::VideoCapture(cv::String const&)'
._release/lib/libopenpose.so: undefined reference to `cv::VideoCapture::set(int, double)'
._release/lib/libopenpose.so: undefined reference to `op::renderPartAffinityFieldGpu(float*, op::PoseModel, cv::Size_<int> const&, float const*, cv::Size_<int> const&, float, int, float)'
._release/lib/libopenpose.so: undefined reference to `cv::VideoCapture::release()'
._release/lib/libopenpose.so: undefined reference to `op::renderBodyPartsGpu(float*, op::PoseModel, cv::Size_<int> const&, float const*, cv::Size_<int> const&, float, float)'
._release/lib/libopenpose.so: undefined reference to `cv::VideoCapture::operator>>(cv::Mat&)'
无法找到opencv,我从源代码编译了最新的opencv 3.2-dev,所有opencv程序(包括c ++和python)都可以工作,那么为什么不能openpose找到opencv?
答案 0 :(得分:1)
Caffe实际上认识到opencv,那些引用是在opencv3.2中被丢弃的方法,但在opencv 3.1.0或更早版本中可用。在安装3.2时遇到同样的问题,并且eventualy降级到3.1.0解决了问题对我来说,here是安装opencv 3.1.0并根据
的一个很好的指南this讨论,似乎标准是支持Ubuntu源代码中提供的opencv,我认为你现在无法通过apt-get安装opencv3.2,只需要构建来自源
答案 1 :(得分:0)
I have compiled caffe with GPU disabled
:
您无法为OpenPose禁用GPU(也不是OpenPose将使用的Caffe)。我很抱歉,但CPU代码根本没有完成(考虑到速度很慢,预计不会完成)。您将不得不使用CUDA + cuDNN。
为了解决OpenCV未发现的问题,您需要在Makefile.conf文件(OpenPose和Caffe中的文件)中启用,使用OpenCV 3标志。