ubuntu编译安装opencv
原文链接
摘录了原文链接中我认为重要的东西做笔记记录
安装步骤:
安装cmake,pkg-config
cmake用来编译opencv(我的cmake是下载源码进行编译的)
pkg用来配置环境变量
apt-get install cmake
apt-get install build-essential libgtk2.0-dev libavcodec-dev
apt-get install libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
安装成功后输入命令查看cmake版本
cmake -version
安装pkg-config,用来配置环境变量
apt-get install pkg-config
查看pkg-config版本
pkg-config --version
下载opencv,解压
我下载的是opencv4.2.0
我会把下载的包放置在~/Downloads
下
scp ./opencv-4.2.0.zip ~/Downloads/
cd ~/Downloads/
unzip opencv-4.2.0.zip
(如果下载的是tar包 用 tar -xvf
解压)
编译opencv源码
进入opencv源码目录
cd opencv-4.2.0/
使用cmake编译源码,需要有CMakeLists.txt
文件,源码目录下会有这个文件(可以使用ls
查看)
创建一个编译目录(这个名字根据自己的习惯来,我使用了build_tmp)
mkdir build_tmp
cd build_tmp
使用cmake命令进行配置
cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=O -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
每一个-D
是用来对编译选项进行设置的 最后跟了一个..
指的是上级目录,因为CMakeLists.txt
在上级目录
有错误解决不掉的话 评论区评论 我会的我会解答一下
编译安装
后面跟了一个-jn
,n就是多线程编译的线程数量,-j4
、-j8
都是可以的
sudo make -j2
sudo make install
安装成功后会输出很多信息,它会告诉你什么文件被放置在了什么路径下
如果是默认的路径
- 可执行文件默认放在
/usr/local/bin
中 - 库文件默认放在
/usr/local/lib
中 - 配置文件默认放在
/usr/local/etc
中 - 资源文件默认放在
/usr/local/share
中
安装完成
可以输入如下命令来判断是否安装成功,命令输出了opencv安装的版号,就安装成功了
opencv_version
设置环境变量
opencv作为一个第三方库,我们需要引用它需要对系统的环境变量进行配置
sudo gedit /etc/ld.so.conf.d/opencv.conf
你也可以使用sudo vim /etc/ld.so.conf.d/opencv.conf
gedit比vim更适合新手(觉得哪个好用用哪个)
在opencv.conf
文件中写入
/usr/local/lib
如果这是我们第一次安装opencv,这个文件可能是个空文件,这里的/usr/local/lib就是我们安装opencv时安装的那些库的目录
将这个文件保存
sudo ldconfig
即可
原文链接给出了一些对于以上命令的解释 欢迎大家去观看原文链接(在最顶部)
vim /etc/bash.bashrc
在文本末尾处添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
这里是为pkg-config设置系统环境变量,当pkg-config运行时,他会在他的配置目录下查找.pc文件,找到对应的文件就读取它,pkg-config的默认路径是: /usr/lib/pkgconfig/和/usr/share/pkgconfig/,这里我们新给他添加了一个路径/usr/local/lib/pkgconfig。
然后更新一下系统的环境变量
source /etc/bash.bashrc
用以下命令可以测试是否配置好环境变量
pkg-config --cflags opencv4
pkg-config --libs opencv4
代码示例测试
cd opencv-4.2.0/sample/cpp
随便寻找一个示例
例如:
g++ -o edge edge.cpp `pkg-config --cflags --libs opencv4` -std=c++11
./edge
运行成功就说明opencv安装成功