这里记一下开始入手OpenCV碰到的一些问题以及解决办法。学习参考书是《OpenCV 4 计算机视觉项目实战(原书第2版)》,ISBN:978-7-111-63164-4。

Ubuntu 16.04下安装

构建安装原书最主要的两个命令和测试命令是:

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/full/path/to/opencv-4.0.0/build -D INSTALL_C_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D OPEN_EXTRA_MODULES_PATH=/full/path/to/opencv_contrib-4.0.0/modules ..
$ cp /full/path/to/opencv-4.0.0/build/lib/pkgconfig/opencv.pc /usr/local/lib/pkgconfig/opencv4.pc
$ cd /full/path/to/opencv-4.0.0/samples/cpp
$ g++ -ggdb `pkg-config --cflags --libs opencv4` opencv_version.cpp -o /tmp/opencv_version && /tmp/opencv_version

这里面会碰到几个问题:

下载ippicv_2019_lnx_intel64_general_20180723.tgz会被卡住

这个不算是国内问题,是cmake缺省不支持https的问题。这里有关于这个问题的说明。我只做了

$ sudo apt-get install libcurl4-openssl-dev

cmake就应该可以成功了

复制opencv.pc的时候,会找不到opencv.pc

似乎opencv认为pkg-config包管理器已经落伍,所以缺省是不会生成该文件的。要生成该命令,需要修改cmake命令,打开产生opencv.pc的选项:

$ cmake ... -D OPENCV_GENERATE_PKGCONFIG=ON ..

编译测试程序出错

这里面有几个错误,1) 需要c++11; 2) 连接找不到cv::CommandLineParser类的一些函数,解决方法是:

$ export LD_LIBRARY_PATH=/full/path/to/opencv-4.0.0/build/lib
$ g++ -std=c++11 -ggdb opencv_version.cpp `pkg-config --cflags --libs opencv4` -o /tmp/opencv_version && /tmp/opencv_version

cmake找不到新编译安装的opencv

在编译第二章的示例程序的时候,会发现cmake会失败,需要把CMakeLists.txt的寻找opencv包命令这句修改为:

FIND_PACKAGE( OpenCV 4.1.2 REQUIRED PATHS /home/opencv/4.1.2 )

 

 
 
 
 
posted on 2019-10-26 22:09  dabbler  阅读(221)  评论(0编辑  收藏  举报