当前位置:   article > 正文

linux下的opencv笔记(一)----安装opencv_linux安装opencv

linux安装opencv

1、opencv的安装
1.1 安装依赖库

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install -y libopencv-dev
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev         # 处理图像所需的包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev         # 处理视频所需的包
sudo apt-get install libatlas-base-dev gfortran          # 优化opencv功能
sudo apt-get install ffmpeg
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

1.2 下载opencv

opencv可以通过下面两个链接下载
https://github.com/Itseez/opencv/archive/2.4.13.zip (针对2.4.13版本)
各个发布版:http://opencv.org/releases.html
github :https://github.com/opencv

值得注意的是,opencv4.0以上的版本无法使用之前的lsd算法,不过有一个替代lsd的算法,FastLinesDetector类

1.3 下载之后,执行下面的指令:

cd opencv-2.4.13      #进入opencv文件夹(我用的是2.4.13)
mkdir build          #新建一个文件夹用于存放临时文件
cd build               #切换到该临时文件夹
#开始编译,此处/usr/local为安装目录,可以自己改,改了之后后面加环境变量也要同时改
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. 
make -j4              #编译,开启线程 按照自己的配置
sudo make install     #编译成功后安装,此处用sudo,因为要在/usr/local路   
                      #径下创建相关文件,必须root权限
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

1.4 验证opencv是否安装成功
1.4.1 第一种办法:执行以下指令,会输出opencv的版本号:

pkg-config --modversion opencv
  • 1

1.4.2 第二种办法
输入以下指令:
在这里插入图片描述
如果输出了版本号或者像上图一样,那么就安装好了。

1.5 在安装完,使用前,我们需要对opencv进行环境方面的配置
1.5.1 环境配置添加库的路径

sudo gedit /etc/ld.so.conf.d/opencv.conf 
#打开后可能是空文件,在文件内容最后添加
/usr/local/lib
  • 1
  • 2
  • 3

1.5.2 更新系统的配置

sudo ldconfig
  • 1

1.5.3 配置bash,执行如下命令

sudo gedit /etc/bash.bashrc

 #     在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH 
  • 1
  • 2
  • 3

1.5.4、保存退出,然后执行如下命令使得配置生效

source /etc/bash.bashrc
 #   激活配置然后更新database
sudo updatedb
  • 1
  • 2
  • 3

在这一步可能会有执行source不成功的现象,需要你自己看一下当前的默认shell是bash还是zsh,这一步可以通过以下的命令来做:

echo $SHELL
  • 1

或者

ps  
  • 1

//查看当前的进程中,可以看到shell的类型

如果不是bash的话,需要将zsh切换到bash,具体做法是:
执行下面的指令:

chsh -s /bin/zsh
  • 1

在此之后,需要将当前所有打开的终端全部关闭,之后再次打开即可生效

1.6 可能的错误
1.6.1 error while loading shared libraries: libopencv_core.so.3.4: cannot open share

原因:从这个提示可以知道系统找不到libopencv_core.so.3.4在哪儿,而系统是通过/etc/ld.so.conf中的路径找.so这个文件的。将libopencv_core.so.3.4的路径加入到.conf文件中就可以了。.so文件一般存放在/usr/local/lib目录下。

主要用过下面两个方式,其实是一样的,只是过程不同罢了

解决方法1:

对ld.so.conf这个文件进行编辑是需要获取超级权限的。

cd ~                              //先返回到根目录
sudo vim /etc/ld.so.conf         //获取超级权限,并用vim编辑器打开该文件
  • 1
  • 2

然后在末尾加入/usr/local/lib即可
退出后执行下面的语句使之生效

sudo ldconfig
  • 1

然后就可以正常导入了
解决方法2:

如果执行程序显示找不到opencv可以执行下面的命令

sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
  • 1
  • 2

原博客的地址:https://blog.csdn.net/ytusdc/article/details/89682028

ubuntu里面使用g++编译opencv程序的时候,编译的命令如下所示:

g++ filename.cpp -o filename 'pkg-config --cflags --libs opencv' -std=c++11
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/623354
推荐阅读
相关标签
  

闽ICP备14008679号