跳到主要内容

环境配置

本章节介绍如何在 Python 环境中安装和配置 OpenCV。

安装 OpenCV

OpenCV 提供了多个 Python 安装包,根据你的需求选择合适的版本。

基础安装

最简单的安装方式是使用 pip 安装 opencv-python 包:

pip install opencv-python

这个包包含了 OpenCV 的核心模块,适合大多数图像处理任务。安装完成后,你就可以使用 cv2 模块了。

扩展模块安装

如果你需要使用 OpenCV 的扩展模块(如 SIFT、SURF 等专利算法),需要安装 opencv-contrib-python:

pip install opencv-contrib-python

注意:opencv-python 和 opencv-contrib-python 不能同时安装,需要先卸载前者再安装后者。

无头版本

在服务器环境或不需要 GUI 功能的场景下,可以安装无头版本,体积更小:

pip install opencv-python-headless

验证安装

安装完成后,运行以下代码验证是否安装成功:

import cv2

# 打印 OpenCV 版本
print(f"OpenCV 版本: {cv2.__version__}")

# 检查是否支持扩展模块
try:
sift = cv2.SIFT_create()
print("扩展模块可用")
except AttributeError:
print("扩展模块不可用,如需使用请安装 opencv-contrib-python")

安装依赖库

OpenCV 通常与以下库配合使用,建议一并安装:

NumPy

OpenCV 的图像数据以 NumPy 数组形式存储,NumPy 是必需的依赖:

pip install numpy

Matplotlib

用于图像显示和可视化,方便调试和分析:

pip install matplotlib

Pillow

Python 图像处理库,用于图像格式转换等辅助操作:

pip install Pillow

开发环境推荐

VS Code 配置

推荐使用 Visual Studio Code 作为开发环境,安装以下扩展:

  • Python:Microsoft 官方 Python 扩展
  • Pylance:提供智能提示和类型检查
  • Python Image Preview:预览图像变量

Jupyter Notebook

对于学习和实验,Jupyter Notebook 是很好的选择:

pip install jupyter

启动 Jupyter:

jupyter notebook

在 Notebook 中可以使用 %matplotlib inline 魔术命令在单元格内显示图像。

常见问题解决

导入错误

如果遇到 ImportError: DLL load failed 错误,通常是因为缺少系统依赖:

Windows 系统:安装 Visual C++ Redistributable

Linux 系统:安装系统依赖:

sudo apt-get update
sudo apt-get install libgl1-mesa-glx libglib2.0-0

版本冲突

如果遇到版本冲突,建议创建新的虚拟环境:

# 使用 venv 创建虚拟环境
python -m venv opencv_env

# 激活虚拟环境
# Windows:
opencv_env\Scripts\activate
# Linux/macOS:
source opencv_env/bin/activate

# 安装 OpenCV
pip install opencv-python

摄像头无法打开

如果无法打开摄像头,检查以下几点:

  1. 摄像头是否被其他程序占用
  2. 权限设置是否正确(Linux 下需要用户在 video 组)
  3. 尝试不同的摄像头索引(0, 1, 2...)
import cv2

# 尝试打开不同索引的摄像头
for i in range(3):
cap = cv2.VideoCapture(i)
if cap.isOpened():
print(f"摄像头 {i} 可用")
cap.release()
else:
print(f"摄像头 {i} 不可用")

准备测试素材

学习 OpenCV 需要一些测试图像和视频。你可以:

  1. 使用 OpenCV 内置的测试图像(需要从 GitHub 下载)
  2. 使用自己的图片和视频
  3. 从互联网下载公开的测试数据集

建议创建一个专门的目录存放测试素材:

opencv_learning/
├── images/ # 测试图像
│ ├── lena.jpg
│ ├── logo.png
│ └── scene.jpg
├── videos/ # 测试视频
│ └── test.mp4
└── scripts/ # 练习脚本
└── test.py

下一步

环境配置完成后,让我们开始学习基本图像操作,了解如何读取、显示和保存图像。