2016-06-02 16 views
0

Ich baue CRFasRNN, die selbst auf caffe basiert) nach dem Upgrade von openCV auf Version 3.1.0 (der vorherige war 2,4 denke ich). Ich bekomme immer Fehler wieOpenCV v3.1.0 mit CRF-RNN

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

während der Kompilierung, insbesondere beim Kompilieren. Dies geschah nicht beim letzten Mal, als ich es installiert habe. Ich habe caffe und pycaffe (Version 1.0.0.) Ohne große Komplikationen gebaut, aber die, die crf-rnn benötigt, hat anscheinend ein Problem mit opencv 3.1.0. Installation von Pycaffe für Crf-Rnn allein funktioniert auch nicht. Alle Pfade zu Bibliotheken scheinen gut zu funktionieren, ich bin mir nicht sicher, was ich falsch mache.

Ich habe versucht, etwas aus mit Abhängigkeiten von opencv arbeiten, aber ich erhalte immer allein Meldungen wie

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 funktioniert gut. Vor dieser Installation hatte ich keine Probleme.

Irgendwelche Vorschläge?

+0

'imdecode' ist in opencv_imgcodecs in Version 3.0. Es scheint, dass Sie OpenCV-Versionen mischen ... das ist nicht gut: D – Miki

+0

Ich habe so viel, danke. In Makefile habe ich explizit OPENCV_VERSION: = 3 – Alex

+0

Aber Ihre Abhängigkeiten sind auf Version 2.3 – Miki

Antwort

0

OK Ich löste das Problem, indem ich Code von Makefile in der Caffe-Installation in Makefile für caffe-crfrnn kopierte. Mit "Code" meine ich Bits, die mit opencv zusammenhängen. Zusätzlich zu OPENCV_VERSION: = 3 in Makefile.config fügte ich hinzu

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 

Ein es funktionierte!