一些废话:跟着高博的《视觉slam十四讲》学slam,到安装opencv的时候找了好多教程感觉都没说的太清楚,ubuntu和windows差别还是有点大,于是决定一边找教程安装一边记录自己的安装过程,遇到问题可以及时写下来,以后方便查找,也能让遇到同样问题的小伙伴避免踩坑。废话不多说,开始吧!
先去github上下载对应的opencv版本和opencv_contrib版本,我下载的是opencv3.4.3,所以contrib也要下载3.4.3版本。注意!版本一定一定一定一定要对应!!!
opencv版本在这[https://github.com/opencv/opencv/releases],contrib版本在这[https://github.com/opencv/opencv_contrib/tree/3.4.3],注意!要选择版本是在左上角Tag那里选。
Tag:3.4.3那里找你要的版本
sudo apt-get installbuild-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
安装完成后,把contrib文件夹放入opencv目录下,并且创建build文件夹
这里为了方便我把文件夹重命名为opencv,contrib文件夹也重命名了。
网上大部分教程都是命令行直接安装,但是那串命令很多教程写的都不一样,感觉对我这样的新手来说还是直接图形界面安装方便,只需要鼠标点几下就好了,避免出错。
sudo apt-get install cmake-gui
安装好之后,进入opencv文件夹里的build文件夹,在这里打开终端,输入:
cmake-gui ..
确定路径没问题之后点击configure选择Unix Makefiles,其余默认,点击finish。需要下载一些文件,要等待一段时间。然后CMake即载入默认配置,如下图所示:
这里需要对两个地方进行修改:
(1)在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX显示了默认的安装目录,生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。但是建议就按照默认路径来,不要乱改!
(2)在OPENCV_EXTRA_MODULES_PATH处,选择输入目录(单击这一行后方空白处即可选中)
接着选择opencv_contrib文件夹中的modules文件夹,注意,不是只选中opencv_contrib文件夹就好了,需要点进去选中里面的modules文件夹! 如下图所示,我从左侧echo里进去选的,大家从自己安装位置选择就好。然后点Choose。
接着,这个过程需要一段时间,耐心等待一下。
完成之后,在build文件夹下重新打开一个终端,输入make,就会开始编译,过程较长,耐心等待。
唉,第一次尝试失败。
重新看了个教程,改了一点点,**在点击Generate生成配置文件之前,在BUILD_opencv_world后面打√,再重新生成配置文件。**如下图所示:
完成之后可以退出cmake-gui,在build目录下输入make,如下图所示:
这次成功啦!!!
看到100%就是成功啦!开森!!!!
(1)安装成功后还需要设置opencv的环境变量。打开文件:
sudo gedit /etc/ld.so.conf.d/opencv.conf
(2)将以下内容添加到最后:
/usr/local/lib
(3)接下来配置库:
sudo ldconfig
(4)更改环境变量:
sudo gedit /etc/bash.bashrc
(5)在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出,到这一步,opencv安装完成!
下面用一个小程序测试一下到底有没有装好。
在projects目录下创建一个test文件夹,复制一张图片到文件夹,比如我复制的图片名为2.jpg。
然后在test文件夹里右键创建一个test.cpp文档,代码如下:
#include
#include
#include
#include
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
再在test目录下创建一个CMakeLists.txt 文件,内容如下,保存
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
在test目录下右键打开一个终端,依次输入:
cmake .
make
注意cmake之后先打个空格再打一个点。
看到100%表示成功了,系统会自动在test文件夹下生成makefile等文件:
然后在终端输入
./test 2.jpg
输入完毕按Enter键,就会出现那张图片,证明安装成功!
----------------------------------------------------------------第一篇技术贴写完啦,撒花~------------------------------------------------------------------
安装加上写帖子总共花了一天,因为一直在找教程尝试,终于顺利安装完了,主要参考的两篇教程,感谢两位大神!
https://blog.csdn.net/jindunwan7388/article/details/80397700
https://blog.csdn.net/m0_37797953/article/details/82013509
第一篇教程写的很详细,我基本上是按照他的步骤来的,但是最后出现了一点问题,之后根据第二篇教程改了一点点,问题成功解决!(哈哈哈其实我也是乱试的~)
好了,安装结束啦!有问题欢迎大家一起沟通交流,都是新手,互帮互助!