淘先锋技术网

首页 1 2 3 4 5 6 7

安装opencv的时候比较曲折,特来做此笔记来记录一下。

    借鉴的资料有:

安装步骤:https://blog.csdn.net/cocoaqin/article/details/78163171

linux的命令:http://man.linuxde.net/mkdir

sudo的问题:https://www.cnblogs.com/yves/p/4668837.html

 1, 首先进行从 http://opencv.org/releases.html 下载source版本opencv3.3.1(或是其他版本的也可以,安装方法是异曲同工的)的压缩包,也可以是从其他方式获得这个压缩包。

2,解压下载下来的压缩包。

 

unzip opencv-3.3.1.zip

(等一下,需要点时间)

3.进入到解压后的文件包中,我的是cd opencv-3.3.1(cd是进入的意思)

4,安装依赖库和cmake,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令

 

sudo apt-get install cmake  
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev  

5,安装完cmake之后,执行命令,创建cmake文件夹不创建的会提示(如下图)

In-source builds are not allowed.

(PS:mkdir 名字。就是创建一个这样的文件夹)

 

mkdir my_build_dir
cd my_build_dir

 

6,cmake一下

 

 

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

注意:如果已经在新的文件夹中编译,但是还会出现之前的报错,把cmakecache.txt删了再编译就可

期间可能会下载一个东西,等待一会儿就OK

7,然后执行命令make,这个需要较长的时间

sudo make

(PS:如果知道自己是几核的电脑,可以写make -j8或者make -j4.这样可以充分的利用多核的优势,编译的快一些)

8,执行命令,进行安装

sudo make install

这里写图片描述

到这里安装过程就结束了,接下来的就是配置了。

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥前方高能:!!!!!!!!!!!!!!!!!!!!

9,首先,我们要配置opencv的一些编译环境。让opencv的库添加到路径,让系统可以找到opencv(这一点在windows下配置过opencv的小伙伴是知道的)

cd~

 

gksudo gedit /etc/ld.so.conf.d/opencv.conf 

             注意以下事项:                          

               [1,这就话建议在home的情况下写,就是cd~]

                [2,最好使用的gksudo(需要输入密码)而不是sudo。如果使用sudo,可能会有报错如下]

 

gedit:2714): IBUS-WARNING **: The owner of /home/ecomu/.config/ibus/bus is not root!

(gedit:2714): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

                    [3,还可能显示连接超时]

                    [4,gedit作为与nano,vi同为编辑器的gedit在这里的作用就是在某个地方创建某一个文件]

10,然后就会弹出一个文件,不管是否空白的都不要害怕,在文件里面写上,然后保存一下。(这个文件他其实就保存到computer/etc/ld.so.conf.d/opencv.conf里面了)

 

/usr/local/lib  

这里写图片描述

11,执行下面的命令使刚刚的配置生效。

 

sudo ldconfig  

这个时候可能会提示错误如下图所示(上部分)

这里写图片描述

sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接
出现这个错误可能是由于系统BUG所致

只需要分别输入上面图下部分的四行命令就可解决
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1

12,配置bash

 

sudo gedit /etc/bash.bashrc  

 

在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

13,保存,执行命令,使得上面的配置生效

 

source /etc/bash.bashrc 

14,更新(我也不知道为什么要更新,就照着做吧)

 

sudo updatedb  

15,到此opencv的配置就结束了。下面就用opencv自带的摄像头程序测试一下吧。

用cd 进入到opencv-3.3.1/samples/cpp/example_cmake目录下.(不要拼写错误)

          [此时我们可以使用如下命令查看该文件夹下面有什么。]

                             ls

(实际上里面是一个cmake的example)

16,按顺序执行

 

cmake .
make
./opencv_example

PS:

  [1,cmake是用来生成makefile文件]

   [2,make来编译makefile文件]

    [3,其实用make也是可以直接生成编译makefile文件的,但是由于书写makefile太过于复杂,不如使用cmake来生成更快捷和准确]

     [4 ./opencv_example命令就是显示和运行这个程序]

17,这个时候,如果理想的话,就应该看到你的电脑摄像头打开了