ubuntu18 anaconda python4.4.0 cuda10.2 contrib编译

1. 下载源码以及相应的在cmake过程中可能会遇到的包

源码下载不用多说,唯一需要注意的点是opencv以及对应的contrib包需要版本一致,否则编译出错.
其次是cmake过程中会遇到下载失败的情况,原因是https://raw.githubusercontent.com网站访问不了.关于这个问题网上有许多不知道是不是正确的解决办法,我也不幸踩过许多坑,其实最终的解决办法是添加hosts,虽然网速还是比较慢,但是好歹是能下载了,总比到处去找对应的包好得多.
IPAddress.com查询raw.githubusercontent.com的真实地址,并将其添加到/etc/hosts中,如下所示:

添加好之后就可以不用去管一些小的文件了,基本上都能下载成功,如果不能下载成功就取一些下载网站下载吧.
如果还嫌麻烦,我打包了编译的源码以及对应需要下载的文件,下载的文件已经放在了该放的位置,不需要在调整了,需要的自行下载:
https://download.csdn.net/download/qq_32214321/13570381

2.编译

编译分为三步:
第一步cmake:

sudo cmake -D CMAKE_BUILD_TYPE=Realease \
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.4 \
-D OPENCV_EXTRA_MODULES_PATH=/home/pc01/opencv/opencv4.4/opencv_contrib-4.4.0/modules \
-D OPENCV_GENERATE_PKGCONFIG=YES \
-D WITH_CUDA=ON \
-D WITH_CUDNN=ON \
-D WITH_CUBLAS=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D WITH_OPENMP=ON \
-D WITH_OPENGL=ON \
-D BUILD_IPP_IW=ON \
-D CUDA_ARCH_BIN=7.5 \
-D CUDA_ARCH_PTX=7.5 \
-D WITH_IPP=ON \
-D BUILD_EXAMPLES=ON \
-D BUILD_opencv_world=ON \
-D PYTHON_DEFAULT_EXECUTABLE=~/anaconda3/bin/python3 \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_python2=OFF \
-D PYTHON3_EXECUTABLE=~/anaconda3/bin/python3 \
-D PYTHON3_INCLUDE_DIR=~/anaconda3/include/python3.7m \
-D PYTHON3_LIBRARY=~/anaconda3/lib/python3.7/config-3.7m-x86_64-linux-gnu/libpython3.7m.a \
-D PYTHON_NUMPY_PATH=~/anaconda3/lib/python3.7/site-packages \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D PYTHON3_PACKAGESS_PATH=~/anaconda3/lib/python3.7/site-packages \
..

第一行的CMAKE_BUILD_TYPE是指定安装路径,自己调整.
此外安装python3是针对我自己anaconda环境的,对应的命令最好不要变,我试过其他的一些组合,都没法编译出动态库.
在这一步中就会下载需要依赖包,如果不用我提供的资源,也可以自己在网上下载其他资源,然后放入对应位置即可.

第二步执行make
没啥好说的,直接执行:

make -j24

即可,这里的-j24指的是用24个核编译,根据自己机器的核数改变

第三步执行:

sudo make install

即可,执行之后会在指定的安装位置安装编译出的lib/include 等.

3.配置环境变量

1. 配置pkg

执行:

sudo gedit /etc/profile.d/pkgconfig.sh

添加如下内容:

export PKG_CONFIG_PATH=/usr/local/opencv4.4/lib/pkgconfig:$PKG_CONFIG_PATH

保存退出,执行:

source /etc/profile

查看是否配置成功,执行:

pkg-config --libs opencv4
2. 配置opencv动态库环境

执行如下命令:

sudo vim /etc/ld.so.conf.d/opencv4.conf

在文件中添加:

/usr/local/opencv4/lib

保存退出,之后执行如下命令:

sudo ldconfig
3. 配置opencv-python环境

配置python环境其实就是将opencv编译出的python动态库链接到python执行环境中,如果在
安装目录下,有lib/python3.7/site-packages/cv2/python-3.7/cv2.cpython-37m-x86_64-linux-gnu.so文件出现,说明python环境的opencv库编译成功,剩下的事情就是链接了:
执行以下命令:

ln -s /usr/local/opencv4.4/lib/python3.7/site-packages/cv2/python-3.7/cv2.cpython-37m-x86_64-linux-gnu.so ~/anaconda3/lib/python3.7/site-packages/cv2.so

注意这里不要搞错了,特别是最后是cv2.so,很多教程搞成cv.so,肯定import不进去的.
至此安装完成,剩下的就是测试了.

参考:https://blog.csdn.net/new_delete_/article/details/84797041

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值