OpenCV v3.1.0 with CRF-RNN

OpenCV v3.1.0 with CRF-RNN

本文关键字:with CRF-RNN v3 OpenCV      更新时间:2023-10-16

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

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

在编译过程中,特别是在编译时。上次安装它时没有发生这种情况。我构建了caffe和pycaffe(版本1.0.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单独工作正常。在此安装之前,我没有任何问题。

有什么建议吗?

好的,

我通过将代码从Caffe安装中的Makefile复制到caffe-crfrnn的Makefile解决了这个问题。我所说的"代码"是指与opencv相关的位。除了 Makefile.config 中的 OPENCV_VERSION := 3 之外,我还添加了

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

它奏效了!