赞
踩
记录一下在Linux系统上安装OpenCV的步骤。在Linux系统环境下,可以选择从源代码进行安装和只安装库文件两种方式。我这里主要是OpenCV的源码下载、编译和安装,为什么使用源码方式呢?因为在使用opencv的过程中,想查看一些接口实现的话,就可以去源码包下对应路径查看。
1.下载opencv源码包
从以下路径下载安装:https://opencv.org/opencv-4-0-0.html 我这里下载的是当前最新的opencv-4.0.0版本,选择以下页面中的Sources进行下载。
代码下载后会在对应的下载目录下有个opencv-4.0.0.zip,解压该文件后先进行下面一些编译依赖项的安装:
sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev
其实OpenCV的依赖项很多,缺少某些编译项会影响其部分功能。OpenCV会在cmake阶段检查依赖项是否会安装,并调节自己的功能。
2.编译和安装
进入解压完后的opencv代码目录,你会看到该目录下的CMakeLists.txt文件,说明该代码是完整的cmake工程。此时创建build目录,并在该目录下执行cmake命令:cmake ..
cmake执行完后,紧接着执行make命令。这里make命令执行需要花费一点时间,如果电脑cpu好的话,可以使用make -j4开启4个线程来make。在make执行完成后,就是对opencv进行安装了,使用命令:sudo make install命令。
至此,OpenCV已经安装完成。安装完的OpenCV库文件在/usr/local/lib目录下。
3.对安装的opencv包进行代码测试
安装完成后,写个简单代码测试以下OpenCV中的接口是否能正常调用。
- #include <iostream>
- #include <chrono>
-
- using namespace std;
-
- #include <opencv2/core/core.hpp>
- #include <opencv2/highgui/highgui.hpp>
-
- int main( int argc, char** argv)
- {
- cv::Mat image;
- image = cv::imread( argv[1] );
- if (image.data == nullptr)
- {
- cerr<<"文件"<<argv[1]<<"不存在!"<<endl;
- return 0;
- }
- //文件顺利读取,首先输出一些基本信息
- cout<<"图像宽度:"<<image.cols<<",高度:"<<image.rows<<",通道数为"<<image.channels()<<endl;
- cv::imshow("image", image);
- cv::waitKey(0);//暂停程序,等待一个按键输入
-
- return 0;
- }
以上代码编译完后生成一个可执行文件,如果不能顺利编译的话需要查找原因。比如给可执行文件命名为imageOpencv的话,执行可执行文件:./imageOpencv image.jpg,这里的image.jpg是要显示的图片,执行后会讲该图片显示出来,至此说明OpenCV安装成功了,并且接口能正常调用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。