sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake git wget curl
sudo apt install -y pkg-config libtool autoconf automake
# V4L2 (Video4Linux) 支持
sudo apt install -y v4l-utils
sudo apt install -y libv4l-dev
# 检查摄像头设备
v4l2-ctl --list-devices
v4l2-ctl --list-formats-ext
sudo apt install -y libopencv-dev python3-opencv
# 或者从源码编译最新版
sudo apt install -y gstreamer1.0-tools gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly gstreamer1.0-libav \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install -y ffmpeg libavcodec-dev libavformat-dev \
libswscale-dev libavutil-dev libavfilter-dev
# TensorFlow
pip install tensorflow-gpu # 或 tensorflow
# PyTorch
pip install torch torchvision torchaudio
# OpenCV Python
pip install opencv-python opencv-python-headless
# 检查兼容的CUDA版本
nvidia-smi
# 安装CUDA Toolkit (以11.7为例)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda-11-7
# 从NVIDIA官网下载对应版本的cuDNN
# 安装示例
sudo dpkg -i libcudnn8_8.x.x.x-1+cudaX.Y_amd64.deb
sudo dpkg -i libcudnn8-dev_8.x.x.x-1+cudaX.Y_amd64.deb
sudo apt install -y gdb valgrind strace ltrace
import cv2
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
cv2.imshow('Camera Feed', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
# 测试摄像头流
gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! autovideosink
# 更复杂的处理管道
gst-launch-1.0 v4l2src ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 \
! tee name=t t. ! queue ! autovideosink t. ! queue ! videoconvert ! jpegenc ! multifilesink location=frame-%05d.jpg
sudo usermod -a -G video $USER
# 然后重新登录
sudo apt install -y libx264-dev libx265-dev libvpx-dev
检查摄像头索引是否正确,通常为0或1:
for i in range(10):
cap = cv2.VideoCapture(i)
if cap.isOpened():
print(f"Camera found at index {i}")
cap.release()
按照以上步骤配置后,您的Linux系统将具备完整的图像采集和视频处理开发能力,可以支持从基础应用到高级计算机视觉项目的开发需求。