2、OpenCV环境搭建:OpenCV库安装、版本选择、开发环境配置(Windows/Linux)

好,咱们进入正题。OpenCV 环境搭建,说白了就是给你的电脑装上「眼睛」。我见过太多新手卡在这一步,装了半天跑不起来,最后发现是版本没选对。别急,我带你一步步搞定。

2.1 版本选择:别盲目追新

OpenCV 版本更新很快,但 不是越新越好。我个人习惯是:稳定优先

版本系列 推荐场景 我的建议
4.5.x - 4.8.x 日常开发、学习 首选,API 稳定,坑少
3.4.x 老旧项目维护 能不碰就别碰,除非项目锁死
最新版(如 4.9+) 尝鲜、新功能测试 可以装,但别用在生产环境
⚠ 避坑指南: 我曾经在项目里直接装了最新版 OpenCV 4.9,结果发现和旧版 CUDA 不兼容,折腾了两天。后来老老实实换回 4.8.0,半小时搞定。所以,生产环境请用次新版本

2.2 Windows 环境搭建

Windows 下安装 OpenCV,我推荐用 pip 安装,省心。你想想看,手动编译?那简直是给自己找麻烦。

2.2.1 安装 Python 和 pip

先确认你的 Python 版本。我建议用 Python 3.8 - 3.11,太老或太新都可能遇到兼容问题。

# 检查 Python 版本
python --version

# 检查 pip 版本
pip --version

如果没装,去 python.org 下载安装包。记得勾选「Add Python to PATH」。

2.2.2 pip 安装 OpenCV

打开命令行,直接敲:

# 安装核心库(推荐)
pip install opencv-python==4.8.0.74

# 如果需要额外模块(如特征匹配、人脸识别等)
pip install opencv-contrib-python==4.8.0.74
💡 小技巧: 我个人习惯用 opencv-python 而不是 opencv-contrib-python。除非你明确需要 SIFT、SURF 等专利算法,否则核心库就够了。少装一个包,少一份烦恼。

2.2.3 验证安装

装完后,跑个简单测试:

import cv2
print(cv2.__version__)  # 输出:4.8.0

如果看到版本号,恭喜你,成了!

🔧 常见问题: 如果报错 DLL load failed,大概率是 Visual C++ 运行库没装。去微软官网下载「Visual C++ Redistributable」安装即可。我遇到过三次,都是这个原因。

2.3 Linux 环境搭建(以 Ubuntu 为例)

Linux 下搭建 OpenCV,我建议分两步走:先装系统依赖,再装 Python 包。嗯,这里要注意,别跳过系统依赖,否则编译时会报一堆错。

2.3.1 安装系统依赖

sudo apt update
sudo apt install -y build-essential cmake git pkg-config
sudo apt install -y libjpeg-dev libtiff5-dev libpng-dev
sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev
sudo apt install -y libgtk2.0-dev libcanberra-gtk-module

这些依赖是干嘛的?说白了,就是让 OpenCV 能读取图片、处理视频、显示窗口。我刚开始学的时候没装 libgtk2.0-dev,结果 cv2.imshow() 一直报错,查了半天才发现。

2.3.2 pip 安装 OpenCV

和 Windows 一样,用 pip 安装:

pip install opencv-python==4.8.0.74

如果你在虚拟环境里工作(我强烈推荐),记得先激活虚拟环境再装。

2.3.3 从源码编译(可选)

如果你需要定制功能(比如启用 CUDA 加速),那就得从源码编译了。步骤稍多,但也不难:

# 下载源码
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 4.8.0

# 创建构建目录
mkdir build && cd build

# 配置 CMake
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D WITH_CUDA=ON \
      -D WITH_TBB=ON \
      ..

# 编译(-j 后面的数字是 CPU 核心数)
make -j4

# 安装
sudo make install
⚠ 注意: 编译时间取决于你的机器。我当年用一台老笔记本编译,等了将近一个小时。如果你只是学习,千万别折腾源码编译,pip 安装完全够用。

2.4 开发环境配置

装完 OpenCV,还得配个好用的开发环境。我个人习惯用 VS CodePyCharm

2.4.1 VS Code 配置

  1. 安装 Python 扩展
  2. 创建 .vscode/settings.json,添加 Python 解释器路径
  3. 安装 Pylance 扩展,获得代码补全和类型提示

配置好后,写代码时按 Ctrl+Shift+P,选择 Python: Select Interpreter,指向你的虚拟环境。

2.4.2 PyCharm 配置

  1. 新建项目,选择虚拟环境
  2. 在 Terminal 中执行 pip install opencv-python
  3. 在 Settings > Project > Python Interpreter 中确认包已安装
💡 我的习惯: 每个项目单独建一个虚拟环境。这样不同项目可以用不同版本的 OpenCV,互不干扰。你想想看,要是两个项目依赖不同版本,装在一起迟早会出问题。

2.5 验证环境:跑个 Hello World

环境配好了,来张图验证一下:

import cv2
import numpy as np

# 创建一个黑色图像
img = np.zeros((300, 300, 3), dtype=np.uint8)

# 画一个蓝色圆
cv2.circle(img, (150, 150), 100, (255, 0, 0), -1)

# 显示图像
cv2.imshow('Hello OpenCV', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

如果弹出一个窗口,中间有个蓝色圆,说明你的 OpenCV 环境完全 OK!

🎯 总结一下:
  • 版本选 4.8.x,别追新
  • Windows 和 Linux 都用 pip 安装
  • Linux 记得先装系统依赖
  • 每个项目用独立虚拟环境
环境搭好了,后面学起来才顺手。下一章咱们开始玩图像读取和显示,那才是真正有意思的部分。

公众号:蓝海资料掘金营,微信deep3321