2014-12-15 13 views
9

Zainstalowałem OpenCV na Ubuntu używając tego link i próbuję użyć deskryptora SURF. Wiedziałem, że zmienili położenie tego typu deskryptorów na niewolny moduł, więc musimy go uwzględnić, co jest mniej więcej takie: #include "opencv2/nonfree/features2d.hpp". Problem polega na tym, że ja dostaję ten błąd w czasie kompilacji: opencv2/nonfree/features2d.hpp no such file or directory.obejmują niewolne openCV 2.4.10 na ubuntu

Każdy pomysł jak to naprawić?

EDYTOWANY: Pozostałe części openCV działają poprawnie. Ja w tym następujące biblioteki i wszystko jest dobrze wyglądać:

#include "opencv2/core/core.hpp" 
#include "opencv2/features2d/features2d.hpp" 
#include "opencv2/highgui/highgui.hpp" 
#include "opencv2/calib3d/calib3d.hpp" 
#include "opencv2/legacy/legacy.hpp" 

Sprawdziłem folder inlcude w moim katalogu OpenCV i folder nonfree ma. Co więcej, jest to jedyna biblioteka, do której nie mam dostępu w QTCreator (środowisko, którego używam), ponieważ próbowałem uwzględnić wszystkie inne biblioteki znalezione w folderze Inlcude i wyglądały dobrze.

EDITED2: można zobaczyć zrzut ekranu, co widziałem, kiedy wpadłem make VERBOSE=1 na tej link

więc nie wiem, gdzie szukać? W rzeczywistości nie znalazłem niewolnego folderu w ../usr/include/opencv2/

Dzięki.

+0

Czy próbowałeś użyć '#include ' (użyj < > zamiast "") – usr1234567

+0

Próbowałem ich obu i dostałem ten sam błąd. – Maystro

+0

Run zrobić z 'VERBOSE = 1" i sprawdzić, czy prawo katalogu podjęcia. – usr1234567

Odpowiedz

38

Właściwie tylko zaktualizowane OpenCV za pomocą następujących poleceń to działało:

sudo add-apt-repository --yes ppa:xqms/opencv-nonfree 
sudo apt-get update 
sudo apt-get install libopencv-nonfree-dev 
+10

Repozytorium już nie istnieje: 'Nie udało się pobrać http://ppa.launchpad.ne t/xqms/opencv-nonfree/ubuntu/dists/vivid/main/binary-amd64/Nie znaleziono pakietów 404 ". – AxeEffect

+0

Nadal działa na m2. AxeEffect, potwierdź lub usuń swój komentarz –

9

sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update
sudo apt-get install libopencv-nonfree-dev

--- ta odpowiedź działa dobrze dla mnie, dzięki @Maystro

po wykonaniu tego kroku wystarczy połączyć program z opcją -lopencv_nonfree lub nie można uzyskać dostępu do s urf.