Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv openpose编译告诉未定义的对cv::VideoCapture::VideoCapture(cv::String const&;)的引用_Opencv_Caffe - Fatal编程技术网

Opencv openpose编译告诉未定义的对cv::VideoCapture::VideoCapture(cv::String const&;)的引用

Opencv openpose编译告诉未定义的对cv::VideoCapture::VideoCapture(cv::String const&;)的引用,opencv,caffe,Opencv,Caffe,我已经让caffe禁用了GPU,然后 cp caffe/build/Makefile openpose/Makefile.conf 跑 出现以下错误: -- 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/libop

我已经让caffe禁用了GPU,然后

cp caffe/build/Makefile openpose/Makefile.conf

出现以下错误:

-- 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&)'
——生成完成
--生成文件已写入:/path/to/caffe/Build
CXX/LD-o.\u发布/examples/tutorial\u thread/1\u openpose\u read\u和\u display.bin
.\u release/lib/libopenpose.so:对“cv::VideoCapture::VideoCapture(cv::String const&)”的未定义引用
._release/lib/libopenpose.so:cv::VideoCapture::set(int,double)的未定义引用
._release/lib/libopenpose.so:op::renderPartAffinityFieldGpu(float*,op::PoseModel,cv::Size_uu-const&,float-const*,cv::Size_u-const&,float,int,float)的未定义引用
._release/lib/libopenpose.so:对“cv::VideoCapture::release()”的未定义引用
._release/lib/libopenpose.so:对“op::renderBodyPartsGpu(float*,op::PoseModel,cv::Size_uu-const&,float-const*,cv::Size_u-const&,float,float)”的未定义引用
.\u release/lib/libopenpose.so:对“cv::VideoCapture::operator>>(cv::Mat&)”的未定义引用

找不到OpenCV,我从源编译最新OpenCV 3.2-DEV,所有OpenCV程序(C++和Python)都工作过,所以为什么OpenOpto找不到OpenCV?< /P> < Pc>识别的OpenCV,这些引用是OpenCV3.2中丢弃的方法,但在opencv 3.1.0或更早版本中可用。我在安装3.2时遇到了同样的问题,最终降级到3.1.0解决了这个问题,是安装opencv 3.1.0的一个很好的指南,根据

讨论中,似乎标准是支持Ubuntu源代码中提供的opencv,我认为您现在无法通过apt get安装opencv3.2,只需要使用CMake安装程序从源代码构建(推荐):

CMake安装程序永远不会出现此错误,因此我建议您使用推荐的安装程序

使用Makefile安装程序(已弃用):

我已在禁用GPU的情况下编译caffe
: 您不能为OpenPose禁用GPU(也不能禁用OpenPose将使用的Caffe)。很抱歉,CPU代码根本没有完成(考虑到速度非常慢,目前预计不会完成)。您必须使用CUDA+cuDNN


为了解决OpenCV未找到的问题,您需要在Makefile.conf文件(来自OpenPose和Caffe的文件)中启用use OpenCV 3标志。

谢谢,我已降级到3.1,和uncommet:CPU_ONLY:=1 OPENCV_VERSION:=3 OPENCV相关错误已消失,但这些错误:._release/lib/libopenpose.so:对'op::renderPartAffinityFieldGpu'的未定义引用(float*,op::PoseModel,cv::Size\uuconst&,float const*,cv::Size\uconst&,float,int,float)“仍然存在。我认为这与openpose有关,我猜你必须通过检查openpose的哪个版本适用于opencv并降级或升级到新版本来执行相同的过程。这些类型错误表明openpose实现了当前opencv中不可用的一些功能..并且你y也禁用/注释#如果您只在启用CPU时才使用CUDNN…一些函数会执行一些cuda断言检查,但由于您不使用CUDAThanks,因此总是会失败,我猜是编译示例导致这些错误,因为他们不知道cuda已被禁用,所以他们仍然尝试使用cuda,我只是想在我不知道如何从编译中删除这些示例的情况下,我想您必须对您的Makefile(而不是Makefile.config)进行一些黑客攻击,并对示例进行注释示例示例示例(shell find examples-name.cpp)和从NONGEN\u CXX\u SRCS删除示例:=$(shell find\src/$(PROJECT)\include/$(PROJECT)\examples \-name.cpp“-or-name.hpp”-or-name.cu”-或-name“*.cuh”),但不确定它是否有效…但您可以尝试一下
-- 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&)'