您的位置:首页 > 运维架构

Ubuntu 16.04 + GTK780 + opencv 安装配置

2016-09-18 17:04 127 查看
1.opencv安装要求(opencv官网)
http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation
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[b] [/b]
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
[b][b]# sudo cpinclude/cudnn.h
/usr/local/cuda/
include[/b][/b]
[b][b][b]# sudo cp lib64/libcudnn.*  /usr/local/cuda[/b][/b]/lib64[/b]
# 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 

报错
[b]error:[/b]/usr/include/string.h:652:42:error:
‘memcpy’ was
notdeclaredin
this scope
原因g++版本太新了,兼容一下,在出现上面错误时,在CMakeLists.txt中前几行添加
[b]set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}
-D_FORCE_INLINES")[/b]
参考:http://blog.csdn.net/Swearos/article/details/51307304

# 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
[b]# exportPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv2/lib/pkgconfig[/b]
[b][b][b]# exportLD_LIBRARY_PATH[/b][/b]=$LD_LIBRARY_PATH:/usr/local/opencv2/lib[/b]
# 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 
参考:http://blog.sina.com.cn/s/blog_77ed43e301018iuu.html
#
/usr/opencv-2.4.13/samples/c下     ./find_obj测试通过

9.opencv卸载 (未测试)

进入opencv源代码文件夹下的release(安装opencv时建立)
参考: http://blog.csdn.net/xulingqiang/article/details/52496701

#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息