OpenCV + CentOS开发环境搭建

本文详细介绍了如何在CentOS系统上搭建OpenCV开发环境,包括安装所需的依赖库、CMake、FFmpeg及OpenCV本身。同时提供了配置环境变量的方法及解决OpenCV无法读取视频的问题方案。

OpenCV + CentOS开发环境搭建

1)  安装OpenCV所依赖的库

yum install cmake gcc gcc-c++ gtk+-devel gimp-develgimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devellibpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-develjasper-devel jasper-utils swig python libtool nasm

2)  Cmake安装

下载:在官网上下载cmake-2.8.10.2.tar.gz,解码tar -xzvfcmake-2.8.10.2.tar.gz;

配置:执行./configure;

编译:make;

安装:make install。

3)  FFmpeg安装

下载:在官网上下载FFmpe3.3.1,解压;

配置:生成makefile,具体如下:./configure --enable-libopencv --enable-swscale --enable-avresample--enable-gpl --enable-shared;

编译:执行make –j8进行并行编译;

安装:执行make install。

添加ffmpeg到环境变量执行如下命令:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

备注:如果不执行,Opencv在cmake的时候不能找到对应的ffmpeg库

4)  OpenCV安装

下载:在官网上下载OpenCV2.4.13.2,解压

配置:执行cmake,生成makefile,具体如下:cmake -DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS .;(注意:查看系统是否找到FFmpeg库,这里OpenCV利用FFmpeg库进行视频解码,如果OpenCV中未找到FFmpeg库,则很可能导致安装的OpenCV无法读取视频)

编译:执行make –j8进行并行编译;

安装:执行make install。

配置环境变量:在/etc/ld.so.conf.d/目录下,添加opencv.conf文件,文件内容如下:

# opencv.conf

/usr/local/lib

添加OpenCV头文件位置,在/etc/profile文件中添加如下信息:/usr/local/include

然后执行sudo ldconfig –V

添加链接库路径:export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib

添加配置路径:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

 

总结:服务器下,安装FFmpeg后,可能无法读取图像,此时需要安装vncserver服务来实现OpenCV读取视频后的显示。具体如下:

         安装服务:yuminstall vnc vnc-server

         启动服务:chkconfigvncserver on;service vncserver start

         编辑服务:vim/etc/sysconfig/vncservers; chmod 755 /root/.vnc/xstartup

设置防火墙:iptables -IINPUT -p tcp --dport 5901 -j ACCEPT ;service iptables save;/etc/init.d/iptablesrestart

设置相关参数:dpyinfo;xhost+ ; export DISPLAY=localhost:1 ;exportDISPLAY=":0.0"

远程主机安装vnc-server客户端

遇到具体问题,还要有针对的具体解决。由于安装了好长时间,目前记录的只有这么多了。

<think>好的,用户想在CentOS7上搭建支持GPU的YOLOv8运行环境,我需要详细梳理步骤。首先,要确认CentOS7的兼容性,特别是CUDA和驱动方面。CentOS7的内核版本可能较旧,需要检查是否支持最新的NVIDIA驱动和CUDA版本。根据引用[2]和[3],YOLOv5的配置需要CUDA和PyTorch,所以YOLOv8应该类似,但可能需要更高版本的CUDA。 第一步是安装NVIDIA驱动。用户需要确认显卡型号,比如如果是RTX系列,可能需要较新的驱动。CentOS7默认使用nouveau驱动,必须禁用。这涉及到修改grub文件和重建initramfs,可能需要重启。然后下载并安装适合的驱动,使用.run文件安装可能更直接,但需要关闭图形界面。 接下来安装CUDA工具包。根据PyTorch官网,最新版本可能支持CUDA 11.8或12.x。用户需要选择与驱动兼容的CUDA版本。例如,CUDA 12.x需要至少535版本的驱动。安装CUDA后,要设置环境变量,更新.bashrc中的PATH和LD_LIBRARY_PATH。 然后是cuDNN的安装,这需要注册NVIDIA开发者账号,下载对应CUDA版本的cuDNN,解压并复制到CUDA目录中。这一步需要确保文件权限正确。 接下来是Python环境。建议使用Anaconda创建虚拟环境,如引用[2]和[3]提到的。创建环境时指定Python 3.8或3.9,因为某些库可能有版本依赖。激活环境后,安装PyTorch的GPU版本,需要根据CUDA版本选择正确的命令,例如CUDA 11.8对应的PyTorch安装命令是`pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118`。 安装YOLOv8可以通过ultralytics的pip包,可能需要额外依赖如OpenCV、matplotlib等。需要确保这些库正确安装,特别是OpenCV可能需要从源码编译或使用预构建的版本。 验证安装时,运行Python脚本导入torch,检查torch.cuda.is_available()是否为True。然后测试YOLOv8的检测示例,确认GPU是否被使用。如果出现CUDA内存不足的问题,可能需要调整batch size或检查驱动版本。 潜在问题可能包括驱动与CUDA不兼容、cuDNN未正确安装、环境变量未设置等。例如引用[4]中提到libtorch版本不匹配导致的问题,用户需要确保所有组件的版本一致。此外,CentOS7的gcc版本可能过低,需要升级到支持CUDA的版本,如gcc 9或更高,这可能需要通过devtoolset或源码编译来升级。 还有可能出现的问题如缺少库文件,例如libGL.so等,可以通过安装epel-release和必要的开发包来解决。如果遇到PyTorch无法识别GPU,可能需要重新安装PyTorch或检查CUDA_HOME环境变量。 总之,步骤需要细致,每个环节都可能出问题,用户需逐步验证,并参考官方文档和社区资源解决常见问题。</think>### CentOS 7 下 GPU 支持的 YOLOv8 环境搭建指南 --- #### **一、硬件与系统要求** 1. NVIDIA 显卡(需支持 CUDA 计算能力 ≥3.5) 2. CentOS 7 系统(建议内核版本 ≥3.10) 3. 已安装 NVIDIA 驱动(版本 ≥470.82.01)[^2] --- #### **二、基础环境配置** ##### 1. **安装 NVIDIA 驱动** ```bash # 禁用 Nouveau 驱动 echo "blacklist nouveau" > /etc/modprobe.d/blacklist-nouveau.conf dracut --force # 安装依赖 yum install -y kernel-devel kernel-headers gcc make # 下载驱动并安装(需从官网获取对应版本) chmod +x NVIDIA-Linux-x86_64-*.run ./NVIDIA-Linux-x86_64-*.run --silent --dkms ``` ##### 2. **安装 CUDA 工具包** ```bash # 下载 CUDA 12.1(需匹配驱动版本) wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run sh cuda_12.1.0_530.30.02_linux.run --override # 添加环境变量 echo 'export PATH=/usr/local/cuda-12.1/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc ``` ##### 3. **安装 cuDNN** - 从 [NVIDIA 官网](https://developer.nvidia.com/cudnn) 下载对应 CUDA 版本的 cuDNN - 解压后复制到 CUDA 目录: ```bash tar -xzvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz cp -r cudnn-*-archive/include/* /usr/local/cuda/include/ cp -r cudnn-*-archive/lib/* /usr/local/cuda/lib64/ ``` --- #### **三、Python 环境配置** ##### 1. **安装 Anaconda** ```bash wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh bash Anaconda3-2023.03-Linux-x86_64.sh source ~/.bashrc ``` ##### 2. **创建虚拟环境** ```bash conda create -n yolov8_gpu python=3.8 conda activate yolov8_gpu ``` ##### 3. **安装 PyTorch (GPU 版)** ```bash pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 ``` ##### 4. **安装 YOLOv8** ```bash pip install ultralytics pip install opencv-python-headless matplotlib ``` --- #### **四、验证环境** ```python import torch from ultralytics import YOLO print("CUDA Available:", torch.cuda.is_available()) # 应输出 True # 测试推理 model = YOLO('yolov8n.pt') results = model.predict('https://ultralytics.com/images/bus.jpg') ``` --- #### **五、常见问题解决** 1. **驱动兼容性问题** 若 CUDA 报错 `Failed to initialize NVML`,需检查驱动版本与 CUDA 的兼容性[^4] 2. **cuDNN 安装错误** 确认 cuDNN 压缩包解压后的文件权限,必要时使用 `chmod a+r` 授权 3. **PyTorch 无法识别 GPU** 重新安装 PyTorch 并指定 CUDA 版本: ```bash pip install torch==2.0.1+cu121 -f https://download.pytorch.org/whl/torch_stable.html ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值