1. 安装
下载OpenCV的安装包,OpenCV官网下载地址 在这里我下载OpenCV4.0的安装包,下载Sources包并解压, 在解压的文件夹里新建一个文件夹用来编译OpenCV:
unzip opencv-4.0.1.zip
cd opencv-4.0.1
mkdir build
cd build
然后在新建的这个文件里运行cmake(OpenCV4默认不生成.pc文件,OPENCV_GENERATE_PKGCONFIG=ON才会生成。):
cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
编译安装:
make -j8
sudo make install
2. 配置
在/etc/ld.so.conf.d/文件夹下新建一个opencv4.conf,里面写入/usr/local/lib
cd /etc/ld.so.conf.d/
sudo touch opencv4.conf
sudo sh -c 'echo "/usr/local/lib" > opencv4.conf'
更新pkg-config:
sudo ldconfig
复制pc文件,要不然测试提示错误:you should add the directory containing `opencv.pc' :
sudo cp -f /usr/local/lib64/pkgconfig/opencv4.pc /usr/lib/pkgconfig/
添加环境变量是不用的, 这个是用来在编译时候指定Opencv版本用, 有的教程里有这部分,没必要:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig
export PKG_CONFIG_PATH
测试:
pkg-config --libs opencv4
pkg-config --cflags opencv4
pkg-config --modversion opencv4 # 查看版本号
3. 卸载
OpenCV的卸载 删掉opencv4.conf文件,然后在编译的文件夹(我的是release)下运行sudo make uinstall
更新时间: 2019/5/9 09:51
以上是Linux通用的编译方法, 但是对Arch系Linux不需要这么麻烦, 直接用源上编译好的即可: sudo pacman -S opencv
也可以用图形化的工具,最好把可选依赖也装上, 如图:
这样我的系统除了自己编译的3.4.6版本, 还有一个系统滚动跟新的最新版opencv 如果使用的是编译版本, 只需要指定opencv编译位置PATH_TO_BUILD : set(OpenCV_DIR PATH_TO_BUILD)
,我的CMakeLists.txt是: cmake结果为:
如果使用Arch社区仓库的OPencv4, 可以显式指定opencv版本find_package(OpenCV 4 REQUIRED )
.
参考自:
来源:oschina
链接:https://my.oschina.net/u/4387224/blog/3548312