因为calcOpticalFlowFarneback函数是包含于<opencv2/video/trating.hpp>的,而caffe工程一般调试的opencv不包含video的头文件,所以,由此引出当编译报出此类跟opencv video库相关的问题时解决方法。
1.Qt调试caffe工程,编译报出此类错误信息时,按照以下方法解决:
打开Denpendencies.cmake然后找到Opencv库中按照下列方法添加video
# ---[ OpenCV
if(USE_OPENCV)
find_package(OpenCV QUIET COMPONENTS core highgui imgproc imgcodecs video)
2.终端编译caffe方式编译报出此类错误
1)打开MakeFile(注意不是MakeFile.config),如下方式添加opencv_videoio,然后一定要先make clean,再重新make all,一般情况按照如下方式即能成功;如果还是报错,继续第二步操作
ifeq ($(USE_OPENCV), 1)
LIBRARIES += opencv_core opencv_highgui opencv_imgproc
ifeq ($(OPENCV_VERSION), 3)
LIBRARIES += opencv_imgcodecs opencv_videoio
endif
endif
2)打开MakeFile.config,将USE_PKG_CONFIG := 1前的注释符"#"去除,再make clean, make all
# Uncomment to use `pkg-config` to specify OpenCV library paths.
# (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
USE_PKG_CONFIG := 1