Ubuntu 16.04 + GTK780 + opencv 安装配置

1.opencv安装要求(opencv官网)
GCC 4.4.x or later
CMake 2.6 or higher
Git
GTK+2.x or higher, including headers (libgtk2.0-dev)
pkg-config
Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
[optional] libtbb2 libtbb-dev
[optional] libdc1394 2.x
[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev

2.预检
#gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.02) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

3. 安装cmake-2.8.12.1 
# sudo wget  http://www.cmake.org/files/v2.8/cmake-2.8.12.1-Linux-i386.tar.gz
tar xzvfcmake-2.8.11.tar.gz
# cd cmake-2.8.11
# ./configure;  make;  make install

4.安装依赖库
# sudo apt-get install build-essential
# sudo apt-get install 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

5.安装cuda
因为需要GPU,故安装CUDA

5.1 安装NVIDIA驱动
Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,没能得到NVIDIA的认可与支持,不过确让Linux更容易的应对各种复杂的NVIDIA显卡环境,让用户安装完系统即可进入桌面并且有不错的显示效果,故很多Linux发行版默认集成了Nouveau驱动,在遇到NVIDIA显卡时默认安装。企业版的Linux更是如此,几乎所有支持图形界面的企业Linux发行版都将Nouveau收入其中。
关闭Nouveau
#sudo gedit /etc/modprobe.d/blacklist.conf  在文件后面加入blacklist nouveau 
#mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak(无效)
#dracut -v /boot/initramfs-$(uname -r).img $(uname -r) (sudo apt-get install dracut)
下载驱动程序NVIDIA-Linux-x86_64-367.44.run
# sudo service lightdm stop 进入命令行
# sudo ./NVIDIA-Linux-x86_64-367.44.run
报错:You appear to be running an X server; please exit X ...
# ps -e | grep X
# sudo kill Xorg   kill掉X进程
# sudo ./NVIDIA-Linux-x86_64-367.44.run
# sudo service lightdm start   返回图像界面
进入图像界面后报错:System program problem detected (未解决)
# nvidia-smi  检查驱动

5.2 安装CUDA
# sudo ./ cuda_7.5.18_linux.run --override

# sudo gedit ~/.bashrc 修改环境变量
export PATH=$PATH:/usr/local/cuda-7.5/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
#source ~/.bashrc

# sudo gedit /etc/ld.so.conf    修改动态链接
/usr/local/cuda/lib64
# sudo ldconfig

nvcc -V  检查CUDA

# cd /usr/local/cuda-7.5/samples
# sudo make测试CUDA
报错:unsupported GNU version! gcc versions later than 4.9 are not supported
gcc版本过高,修改CUDA配置文档,没有选择去降低gcc版本

# cd /usr/local/cuda/include/
# sudo cp host_config.h host_config.h.bak
# sudo gedit host_config.h 
if _GNUC_>4 || (_GNUC_ == 4 && _GNUC_MINOR_ > 9)  将两个4改为5
# cd /usr/local/cuda-7.5/samples
# sudo make  测试CUDA,通过

5.3 安装CUDNN
下载 cudnn7.5-linux-x64-v5.1.tgz
# sudo cpinclude/cudnn.h /usr/local/cuda/include
# sudo cp lib64/libcudnn.*  /usr/local/cuda/lib64
# cd /usr/local/cuda/lib  需要对cudnn进行修改
# sudo rm -rf libcudnn.so libcudnn.so.5
# sudo ln -s libcudnn.5.1.3 libcudnn.so.5
# sudo ln -s libcudnn.so libcudnn.so

6.安装opencv2.4.13
# mkdir release
# cd release
# cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv2 
   -D CUDA_GENERATION=Kepler ..  (GTX780显卡,Kelper架构)
# make 

报错
error:/usr/include/string.h:652:42:error: ‘memcpy’ wasnotdeclaredin this scope
原因g++版本太新了,兼容一下,在出现上面错误时,在CMakeLists.txt中前几行添加
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -D_FORCE_INLINES")

# sudo make install
set runtime path of "/usr/local/opencv2/bin/opencv_visualisation" to "/usr/local/opencv2/lib:/usr/local/cuda/lib64" 
... 

7. 配置环境变量(保守配置)
# sudo gedit ~/.bashrc
# exportPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv2/lib/pkgconfig
# exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv2/lib
# source ~/.bashrc

# sudo /etc/ld.so.conf
#添加/usr/local/opencv2/lib
# sudo ldconfig

8.opencv测试
# cd  /usr/opencv-2.4.13/samples/c
# sudo ./build_all.sh
报错 coutours.c:1:39 fatal error: opencv2/imgproc/imgproc_c.h: No such file or direction
第7步已经配置了环境变量,大费周章后
# sudo cp /usr/local/lib/pkgconfig/opencv.pc  /usr/lib/pkgconfig 
# /usr/opencv-2.4.13/samples/c     ./find_obj测试通过


9.opencv卸载  (未测试)
进入opencv源代码文件夹下的release(安装opencv时建立)
#make uninstall
#cd ..
#   sudo rm -r release
# sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值