之前安装了opencv,但在使用opencv的dnn模块进行物品检测时速度较慢,无法调用gpu,因此重装一次cuda版本的opencv,以下是过程记录

一.卸载opencv

1.查看已安装opencv版本:

pkg-config --modversion opencv
或
pkg-config --modversion opencv4

1.5.安装一下依赖(虽然你应该都有)

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libv4l-dev libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran

2.找到之前安装opencv的build文件夹,执行卸载指令:

cd opencv4.2.0
cd build
sudo make uninstall

3.卸载opencv其他的相关文件:

sudo rm -r /usr/local/include/opencv4  /usr/local/share/opencv4 /usr/local/lib/libopencv*

4.查看显卡型号和对应算力

lspci | grep -i nvidia

在nvidia官网上查看对应显卡算力,并修改接下来的cmake语句

5.在build路径下cmake

cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
	-D CMAKE_INSTALL_PREFIX=/usr/local \
	-D INSTALL_C_EXAMPLES=OFF \
	-D OPENCV_ENABLE_NONFREE=ON \
	-D WITH_CUDA=ON \
	-D WITH_CUDNN=ON \
	-D OPENCV_DNN_CUDA=ON \
	-D ENABLE_FAST_MATH=1 \
	-D CUDA_FAST_MATH=1 \
	-D CUDA_ARCH_BIN=6.1 \
	-D WITH_CUBLAS=1 \
	-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
	-D BUILD_EXAMPLES=ON ..

其中的CUDA_ARCH_BIN就是要写你电脑对应的算力版本,前往nvidia官网查看对应算力

cmake过后注意检查这一段:(上网查询后发现cudnn8.x与openmcv4.2.0及以下版本不兼容,所以先不管他,cudnn只是锦上添花的作用)

--   NVIDIA CUDA:                   YES (ver 11.4, CUFFT CUBLAS FAST_MATH)
--     NVIDIA GPU arch:             82
--     NVIDIA PTX archs:
-- 
--   cuDNN:                         NO

6.make(可能会消耗一些时间,请耐心等待)

make

7.最后的最后

sudo make install

Logo

欢迎来到由智源人工智能研究院发起的Triton中文社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐