【从零学习OpenCV】4Ubuntu系统中安装OpenCV 4
重磅干货,第一时间送达
经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《从零学习OpenCV 4》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。
前面我们已经介绍了如何在Windows系统中安装OpenCV 4。虽然本书中程序代码主要在Windows运行,但是相信有一些读者使用Ubuntu系统进行计算机视觉的学习,因此本小节将介绍如何在Ubuntu系统中安装OpenCV 4.1。如果你仅仅是在Windows系统中使用OpenCV 4.1,可以跳过本小节内容。对于Ubuntu版本的介绍这里不做过多的说明,感兴趣读者可以自行查询相关内容,笔者使用的是Ubuntu 16.04,因此将会介绍如何在该系统中安装OpenCV 4.1。可能有读者使用Ubuntu 14.04或者Ubuntu 18.04,不过安装OpenCV 4.0的方法和步骤都是相似的。
01
安装OpenCV 4.1需要的依赖项
由于最新版的OpenCV 4.1需要CMake 3.5.1版本,因此需要保证电脑中安装的CMake编译器版本高于3.5.1。可以通过代码清单1-2中的命令安装最新版CMake。
代码清单1-2 安装最新版CMake命令
1. sudo apt-get update
2. sudo apt-get upgrade
3. sudo apt-get install build-essential cmake
其中安装“update”和“upgrade”分别是更新软件源和查看是否有软件需要更新,这两个命令一般用于安装系统后初次下载软件,或者更换源之后执行,可以根据实际情况不输入该命令。安装的“build-essential”是Linux系统中常用的一些编译工具,“cmake”会直接安装最新版CMake编译器。
OpenCV 4.0的使用会需要很多的依赖项,例如图片编码库、视频编码库等。不过这些依赖是针对某些特定的功能,即使某些功能的依赖项没有安装,也不会影响OpenCV 4.1的编译与使用,只是在使用特定功能时会出现问题。因此在不确定某型功能以后会不会用到时,建议将常用的依赖都安装上,可以通过代码清单1-3中的命令进行安装。
代码清单1-3 安装OpenCV依赖
1. sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran libgtk2.0-dev libjpeg-dev libpng-dev
如果需要结合Python使用OpenCV 4.1,需要安装Python开发库。如果没有安装,则无法生成Python的链接。Python开发库有Python 2.7和Python 3.5两个版本,如果能确定不使用某一版本,可以不用安装对应版本的开发库,可以通过代码清单1-4中的命令进行安装。
代码清单1-4 安装Python依赖
1. sudo apt-get install python2.7-dev python3.5-dev
1
02
编译和安装OpenCV 4.1
提示
代码清单1-5 在OpenCV 4.0文件夹中创建build文件命令
1. cd opencv4.1
2. mkdir build
3. cd build
代码清单1-6 编译OpenCV命令
1. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
2. sudo make -j4
3. sudo make install
1
03
环境配置
代码清单1-7 Ubuntu系统中配置OpenCV 4.0环境
1. sudo gedit /etc/ld.so.conf.d/opencv.conf
2. sudo ldconfig
3. sudo gedit /etc/bash.bashrc
4. PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
5. export PKG_CONFIG_PATH
6. source /etc/bash.bashrc
7. sudo updatedb
1
04
验证OpenCV 4.1是否安装成功
代码清单1-8 测试工程中CMakeList.txt程序
1. cmake_minimum_required(VERSION 2.6)
2. #创建工程
3. project(testopencv)
4. #C++版本为11
5. set(CMAKE_CXX_FLAGS "-std=c++11")
6.
7. find_package(OpenCV 4.1.0 REQUIRED) #找OpenCV 4.0安装路径
8. include_directories(${OpenCV_INCLUDE_DIRS}) #加载OpenCV 4.0的头文件
9.
10. add_executable(testopencv main.cpp) #将程序生成可执行文件
11. target_link_libraries(testopencv ${OpenCV_LIBS}) #链接lib文件到可执行文件中
注意:
代码清单1-9 install_test.cpp测试工程中主函数代码
1. #include <iostream>
2. #include <opencv2/opencv.hpp>
3.
4. using namespace std;
5. using namespace cv; //声明使用OpenCV 4.1的命名空间
6.
7. int main(int agrc, char** agrv){
8. Mat img=imread("apple.jpg");
9. imshow("test",img);
10. waitKey(0);
11. return 0;
12. }
代码清单1-10 编译项目命令
1. cmake .
2. make
注意:
这里需要注意,编译当前路径文件cmake后面只有一个“.”
图1-16 运行程序后显示的apple.jpg图片
经过几个月的努力,市面上第一本OpenCV 4入门书籍《从零学习OpenCV 4》将于今年12月左右由人民邮电出版社发行。如果小伙伴觉得内容有帮助,希望到时候多多支持!