使用来自Contrib库的OpenCv C ++跟踪API

问题描述

我正在使用来自rapiBerry pi仓库的OpenCV 3.2.0软件包。我似乎找不到从contrib库使用跟踪API的方法。已安装libopencv-contrib-devlibopencv-contrib-3.2.0软件包,但是在项目中包含<opencv2/tracking.hpp>时出现以下错误

/home/pi/wippe/src/wippe.cpp:4:10: Fatal error: opencv2/tracking.hpp: No such file or directory
 #include <opencv2/tracking.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~

我的CMakeLists.txt看起来像这样:

cmake_minimum_required (VERSION 3.5)
project (wippe)

set (CMAKE_THREAD_LIBS_INIT "-lpthread")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -std=c++17")
set (CMAKE_HAVE_THREADS_LIBRARY 1)
set (CMAKE_USE_PTHREADS_INIT 1)
set (THREADS_PREFER_PTHREAD_FLAG ON)

find_package (PkgConfig required)
find_package (OpenCV required)
find_package (raspicam required)

find_library (wiringpi_LIB wiringpi)

include_directories (${OpenCV_INDCLUDE_Dirs})

add_executable (wippe src/wippe.cpp)

target_link_libraries (wippe ${raspicam_LIBS})
target_link_libraries (wippe ${raspicam_CV_LIBS})
target_link_libraries (wippe ${OpenCV_LIBS};tracking;opencv_tracking)
target_link_libraries (wippe ${wiringpi_LIBS})

我已经看过question,并看了一下documentation,其中说<opencv2/tracking.hpp>包括<opencv2/tracking/tracker.hpp>,但从未尝试过我能想到的所有组合

我是否必须以其他方式包括OpenCV contrib库或显式链接目录?我真的没有任何线索。

解决方法

您必须使用其他模块来构建OpenCV才能使用跟踪api。

您可以按照以下步骤操作:

How to build OpenCV with extra modules