linux16.04+cuda8.0+opencv3.1

来源:互联网 发布:c 面向对象编程流程 编辑:程序博客网 时间:2024/05/21 17:43

1.安装必要的依赖项

sudo apt-get install build-essential cmakesudo apt-get install cmake Git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

2.解压opencv-3.1.0

cd opencv-3.1.0mkdir buildcd build/ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.1.0 ..

(若出现问题,无法加载ippicv时,可下载文件ippicv_linux_20151201.taz,将其放在/OpenCV-3.1.0/3rdparty/ippicv/downloads/Linux-808b791a6eac9ed78d32a7666804320e文件夹下即可。)

若出现问题:

errror:‘NppiGraphcutState’ has not been declared

是由于opencv与cuda8.0不兼容引起的,解决方法:
修改opencv-3.1.0目录下的CMakeList.txt文件,在开头加入

set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -D_FORCE_INLINES”)

在path/to/opencv/modules/cudalegacy/src/graphcuts.cpp中,把

 #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改为

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION>=8000)

3.编译

make -j8sudo make install

4.配置环境变量

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

如果该文件不存在,可自行创建。
末尾添加一行

/usr/local/opencv-3.1.0/lib

然后更新:

sudo ldconfig 

最后这一步,如果出现:

/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link

解决方法:

  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

如果没问题可进行下一步:

sudo gedit /etc/profile

在最后加入两行加入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv-3.1.0/lib/pkgconfigexport PKG_CONFIG_PATH

再打开bash.bashrc:

sudo gedit /etc/bash.bashrc 

末尾添加一行

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv-3.1.0/lib/pkgconfig

查看opencv版本

pkg-config --modversion opencv pkg-config --cflags opencv pkg-config --libs opencv

(下面的是在别人的配置文件中看到的,是否是必要的步骤不清楚)
最后
将ippicv中的64位lib文件复制到/usr/local/opencv-3.1.0/lib下
位于: ~ /opencv-3.1.0/3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64/libippicv.a

参考链接:
[http://www.linuxdiyf.com/linux/21203.html]

原创粉丝点击