赞
踩
1. 官网下载最新版opencv源码。当前最新版为4.5.3
2.解压
3.在解压后的代码目录下创建build目录(也可以在其它地方),作为编译目录
4.cmake生成Makefile
cmake -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
-D OPENCV_GENERATE_PKGCONFIG=ON,为生成opencv.pc文件的配置(注意,opencv4生成的文件叫做opencv4.pc),另外 CMAKE_INSTALL_PREFIX=/usr/local 指定安装路径是在/usr/local下,这也是opencv的默认配置。
5.编译
make -j8
可能出现多个错误。其中一个是gen_java.py中出错,将 assert path[-3:] != '.in', path 中的3改成4即可(网络搜索可知)。笔者的另一些错误是安装了anaconda3导致。编译opencv会链接一些系统的库文件,而由于anaconda安装时,将其路径设置在 PATH 环境变量靠前的位置,导致会优先链接anaconda下lib子目录下的库文件(不肯定),而该目录下的库文件和对应的系统文件版本不同,导致有些函数在旧版本的库文件上找不到。解决方法是将anaconda下lib子目录下的库文件(一般为软连接,指向当前目录下的名字带有版本号的真实库文件)改为指向系统库目录下同名文件。
6.
sudo make install
会将编译好的opencv安装至 /usr/local 目录下。由于打开了 OPENCV_GENERATE_PKGCONFIG,将会在 /usr/local/lib/pkgconfig/ 下生成 opencv4.pc 文件,于是可以用 pkg-config --cflags --libs opencv4 得到include目录和链接目录
参考 OpenCV: Using OpenCV with gcc and CMake
将CMakeLists.txt改为:
- cmake_minimum_required(VERSION 2.8)
- project( DisplayImage )
- find_package( OpenCV REQUIRED )
- include_directories( ${OpenCV_INCLUDE_DIRS} )
- add_executable( DisplayImage DisplayImage.cpp )
- target_link_libraries( DisplayImage ${OpenCV_LIBS} )
即可运行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。