ubuntu22.04安装cuda版本的opencv4.8.1
首先要先下载opencv-4.8.1和opencv_contrib-4.8.1
opencv_contrib
是 OpenCV 的扩展模块集合,其中包含了一些未被纳入 OpenCV 主库的额外功能模块。
首先在GitHub下载OpenCV以及OpenCV_contrib的源码,注意二者版本要对应。
opencv-4.8.1解压缩到主文件夹下即可,OpenCV_contrib文件夹解压到opencv-4.8.1文件夹中。
在opencv4.8.1文件夹中新建一个名为build的文件夹
首先查看gcc版本,看一下是不是9
gcc --version
然后卸载自带的OpenCV(如果没有就跳过此步),这个CV是不支持CUDA的:
sudo apt-get purge libopencv*
安装所需的依赖库,将下面的命令复制粘贴到终端中
sudo apt-get install libgtk2.0-dev pkg-config libpng-dev libjpeg-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev gstreamer1.0-plugins-base python3-dev python3-numpy python3-py
然后在终端中运行cmake-gui,修改两个路径,如下图所示。然后点击configure
然后选择unix makefiles
然后选择第一个use,然后选择finsh,等待配置完毕。(注意,网络必需稳定连接,能科学上网是最好的,GitHub的链接超时可以尝试连手机热点。)
然后按照下面的的例子进行勾选,第一次configure可能没有这么多内容,勾选已显示的然后再次点击configure,再次进行勾选剩余的,然后再次configure,直至全部按照例子勾选完成。
要注意的是:
注意修改CUDA_ARCH_BIN(GPU算力),查看自己的电脑CUDA_ARCH_BIN使用下面连接的教程https://blog.csdn.net/m0_69253695/article/details/136273760?spm=1001.2014.3001.5501
ENABLE_FAST_MATH不要勾选,可能容易报错。
build_opencv_world最好也不要勾选,可能也会报错。
opencv_extra_modules_path路径选择为/home/lin/opencv-4.8.1/opencv_contrib-4.8.1/modules
点击Configure后,如果消息栏有红色警告或报错,一定要解决好
有下载失败的包,可以将下载连接复制到浏览器中单独下载,下载后,再放置到.cache文件夹中对应位置,替换掉。
直到没有红色信息了,点击Generate。提示"Generating done"后,进行下一步。
然后在build文件夹下打开终端,输入sudo make -j6
6的意思是cpu的核心数,如果电脑配置高的话,可以输入sudo make -j,这样可以调用全部的核心,配置低就不要输入太多的核心数了,以防卡顿
进入漫长的生成过程。中途出现报错会导致生成终止。
此时就要解决相应的报错,正常来说是不会出现报错的,亲测多次,此教程真实有效。
生成到100%后即为完成。依然在build文件夹下的终端输入sudo make install
等到100%后即为完成。
如果你幸运地到达了这一步,那么opencv的文件已经安装好,工作也基本完成了。
接下来要添加环境变量
在终端操作:
sudo gedit /etc/ld.so.conf.d/opencv.conf
文件内写入lib的路径,Configure时没改的话就是这个:
/usr/local/lib
保存后在终端更新一下:
sudo ldconfig
添加pkg-config路径:sudo gedit /etc/bash.bashrc
在文本末尾添加这两句后保存
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
终端下更新配置,输入命令source /etc/bash.bashrc
关掉终端打开一个新的,输入命令sudo updatedb
注:如果出现报错:
sudo: updatedb: command not found
解决方法是安装mlocate:
sudo apt-get install mlocate
至此安装完成,可以使用jtop或者"pkg-config --modversion opencv4"命令来查看opencv版本。