安装显卡驱动
为了方便,直接使用了ubuntu自带的驱动安装器。
(参考文档https://jingyan.baidu.com/article/d7130635c5a86113fdf47532.html)
1. 点击左上角的启动器,在搜索框输入“驱动”。从搜索结果中选择附加驱动;
2. 打开之后,需要一段时间等待搜索服务器上的驱动;
3. 服务器回应之后,会显示电脑上的硬件,以及可以安装的驱动版本,最上面的驱动是最新版本;
4. 关系到系统修改,是需要密码授权的,输入当前账户密码,点击授权;
5. 重启电脑,完成安装。
安装Y-PPA-Manager
在执行命令sudo apt-get update的时候,可能会提示某个源没有公钥,可以通过Y-PPA-Manager很简便地安装公钥
1. 添加webupd8库
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
2.更新并安装Y-PPA-Manager
sudo apt-get update
sudo apt-get install y-ppa-manager
3.运行Y-PPA-Manager
y-ppa-manager
4.在Y-PPA-Manager的图形界面选择Advanced
5.选择“Try to import all missing GPG keys”,点击OK
6.等待一会儿(几十秒到几分钟不等,取决于电脑缺少的公钥多少和网络情况),完成。
安装OpenCV3.0
(参考http://blog.youkuaiyun.com/u013915633/article/details/49886465)
- 安装编译环境
sudo apt-get install build-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
- 下载alpha版本opencv3.0
mkdir ~/opencv
cd ~/opencv
wget https://github.com/Itseez/opencv/archive/3.0.0-alpha.zip -O opencv-3.0.0-alpha.zip
unzip opencv-3.0.0-alpha.zip
- 安装opencv
$ cmake .. # cmake+空格+"."
$ sudo make
$ sudo make install
$ sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig
(在cmake的时候,要下载ippicv_linux_20141027.tgz,但由于墙的原因,一直下不了,等过一段时间后会报错末完成,要从别的地方先下载,然后拷到opencv-3.0.0-beta/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b文件夹中,重新cmake)
(sudo ldconfig时提示,libEGL.so.1 is not a symbolic link,对opencv的安装好像没有什么影响,但为了以后不出现什么问题,执行一下下面的语句,重新链接一次libEGL.so.1)
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so.1
sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
- 编译sample程序
$ cd ~/opencv/samples
$ sudo cmake .
$ sudo make -j $(nproc)
- 运行测试程序
# 注:使用alpha版本,images在opencv/cpp文件夹下
$ cd cpp/
$ ./cpp-example-facedetect lena.jpg
结果是显示lena的照片,她的脸被圈出来。
To be continue…