0

在将 openCV 升级到 3.1.0 版本(我认为之前的版本是 2.4)之后,我正在构建CRFasRNN,它本身是基于 caffe 的。我不断收到错误,例如

io.cpp:(.text+0x11f8): undefined reference to `cv::imdecode(cv::_InputArray const&, int)'

在编译期间,特别是在编译 . 这在我上次安装时没有发生。我构建了 caffe 和 pycaffe(版本 1.0.0。)没有太多复杂性,但 crf-rnn 需要的显然与 opencv 3.1.0 有问题。单独为 crf-rnn 安装 pycaffe 也不起作用。所有通往图书馆的路径似乎都很好,我不确定我做错了什么。

我尝试使用opencv的依赖项解决一些问题,但我不断收到类似的消息

The following packages have unmet dependencies.
 libopencv-dev : Depends: libopencv-objdetect-dev (= 2.3.1-7) but it is not going to be installed
                 Depends: libopencv-highgui-dev (= 2.3.1-7) but it is not going to be installed
                 Depends: libopencv-calib3d-dev (= 2.3.1-7) but it is not going to be installed
                 Depends: libopencv-features2d-dev (= 2.3.1-7) but it is not going to be installed
                 Depends: libopencv-legacy-dev (= 2.3.1-7) but it is not going to be installed
                 Depends: libopencv-contrib-dev (= 2.3.1-7) but it is not going to be installed

OpenCV 单独工作正常。在此安装之前,我没有任何问题。

有什么建议么?

4

1 回答 1

0

好的,我通过将 Caffe 安装中的 Makefile 中的代码复制到 caffe-crfrnn 的 Makefile 解决了这个问题。“代码”是指与 opencv 相关的位。除了 OPENCV_VERSION := 3 在 Makefile.config 我添加

USE_OPENCV ?= 1

ifeq ($(USE_OPENCV), 1)
        LIBRARIES += opencv_core opencv_highgui opencv_imgproc

        ifeq ($(OPENCV_VERSION), 3)
                LIBRARIES += opencv_imgcodecs
        endif
endif

# OpenCV
ifeq ($(USE_OPENCV), 1)
        COMMON_FLAGS += -DUSE_OPENCV
endif

它奏效了!

于 2016-06-02T15:23:58.183 回答