【OpenCV】Python图像处理之开发环境搭建

OpenCV-Python 开发环境搭建主要分为本地环境搭建 (Windows/macOS/Linux)和虚拟环境 / Anaconda 环境搭建两种方式,以下是详细步骤及注意事项:

一、前提条件

确保已安装 Python(推荐 3.7-3.11 版本,兼容性最佳),可通过以下命令检查 Python 版本:

python 复制代码
python --version  # Windows
python3 --version # macOS/Linux

Windows快捷方式:

win+R输入cmd,进入命令行后,输入命令python -V并回车,若出现如下界面则证明已成功安装python并配置了系统环境;

若是未出现上图内容,则需要检查是否为添加系统环境变量(网上很多添加系统环境变量的教程,这里就不在叙述了),或未成功安装Python,重新安装Python并勾选添加到系统环境变量复选框。

二、方式 1:pip 安装(推荐)

1. 直接安装 OpenCV-Python

使用pip命令安装官方预编译包:

直接使用pip安装的话速度较慢,可以使用国内镜像源,速度更快:

python 复制代码
pip install some-package -i https://mirrors.aliyun.com/pypi/simple/ # 使用阿里云的镜像
"""
临时使用国内镜像源:

清华源
pip install some-package -i https://pypi.tuna.tsinghua.edu.cn/simple

阿里源
pip install some-package -i https://mirrors.aliyun.com/pypi/simple/

腾讯源
pip install some-package -i http://mirrors.cloud.tencent.com/pypi/simple

豆瓣源
pip install some-package -i http://pypi.douban.com/simple/

中科院源
pip install some-package -i https://pypi.mirrors.ustc.edu.cn/simple/

"""

"""
永久换为国内镜像源;

清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

阿里源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

腾讯源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple

豆瓣源
pip config set global.index-url http://pypi.douban.com/simple/

中科院源
pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple/

"""
# 换回原始默认源(github)(有些包更新后未及时同步到国内镜像源,这时候只能换回默认源去pip安装)
pip config unset global.index-url

安装OpenCV-Python的pip命令如下:

python 复制代码
# 基础版(包含核心模块)
pip install opencv-python

# 完整版(包含contrib扩展模块,如SIFT、SURF等)
pip install opencv-contrib-python
2. 验证安装

打开 Python 终端,执行以下代码:

python 复制代码
import cv2
print(cv2.__version__)  # 输出版本号则安装成功

三、方式 2:Anaconda 环境搭建

1. 创建并激活虚拟环境
python 复制代码
# 创建环境(指定Python版本)
conda create -n opencv_env python=3.9

# 激活环境
conda activate opencv_env  # Windows
source activate opencv_env # macOS/Linux
2. 安装 OpenCV
python 复制代码
# 通过conda安装(推荐,兼容性更好)
conda install -c conda-forge opencv

# 或使用pip安装
pip install opencv-contrib-python

四、方式 3:源码编译安装(进阶)

如需最新特性或自定义编译选项,可从源码编译:

1. 安装依赖(以 Ubuntu 为例)
python 复制代码
sudo apt-get update
sudo apt-get install build-essential cmake git libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2. 克隆源码并编译
python 复制代码
# 克隆OpenCV和contrib模块
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

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

# 配置CMake
cmake -D CMAKE_BUILD_TYPE=Release \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
      -D BUILD_EXAMPLES=ON ..

# 编译并安装(-j后接CPU核心数,加速编译)
make -j4
sudo make install

五、常见问题解决

  1. ImportError: numpy.core.multiarray failed to import 原因:NumPy 未安装或版本不兼容。解决:pip install numpy --upgrade

  2. SIFT/SURF 无法使用 原因:未安装opencv-contrib-python。解决:pip install opencv-contrib-python

  3. Windows 下 DLL 加载失败 原因:缺少 Visual C++ 运行库。解决:安装Microsoft Visual C++ 2015-2022 Redistributable

  4. macOS 下 Qt 相关错误 解决:通过 conda 安装pyqtconda install pyqt

六、开发工具推荐

  • 编辑器 / IDE :VS Code(安装 Python 和 OpenCV 插件)、PyCharm(专业版更佳,个人比较推荐此款IDE,方便好用)
  • 辅助库matplotlib(图像显示)、numpy(数组操作)、pillow(图像读取)安装:pip install matplotlib numpy pillow

七、测试示例

运行以下代码验证环境是否正常:

python 复制代码
import cv2
import matplotlib.pyplot as plt

# 读取图像
img = cv2.imread('test.jpg')
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# 显示图像
plt.imshow(img_rgb)
plt.axis('off')
plt.title('OpenCV环境测试')
plt.show()

# 边缘检测
edges = cv2.Canny(img, 100, 200)
plt.imshow(edges, cmap='gray')
plt.title('Canny边缘检测')
plt.show()

总结

  • 新手推荐使用pip 或 Anaconda安装预编译包,简单高效;
  • 进阶用户可选择源码编译,自定义功能;
  • 安装后通过版本检查和测试代码验证环境是否正常。搭建完成后即可开始 OpenCV-Python 的图像处理开发!
  • 个人比较建议使用PyCharm,使用比较方便,后续文章也都是在PyCharm的基础上编写。
相关推荐
yolo_guo1 小时前
opencv 学习: 11 图片像素位置变换,以图片加水波纹特效为例
c++·opencv·计算机视觉
智海观潮1 小时前
AIGC、Agent、MCP、A2A和AG-UI促进AI从基础能力到协同生态演进
人工智能·chatgpt·aigc·mcp
棒棒的皮皮1 小时前
【OpenCV】Python图像处理之图像预处理
图像处理·python·opencv
mingo_敏1 小时前
OpenCV中Blob检测的全面解析与实战技巧
人工智能·opencv·计算机视觉
Mrliu__1 小时前
Opencv(十七) : 绘制图像轮廓
人工智能·opencv·计算机视觉
黑客思维者1 小时前
大语言模型重塑 E-CAD 自动化设计的技术革命的挑战与突破
人工智能·语言模型·自动化·e-cad
玖日大大1 小时前
Ouro:预训练即推理的循环语言模型革命
人工智能·语言模型·自然语言处理
Tandy12356_1 小时前
中科大计算机网络——网络安全
c语言·python·计算机网络·安全·web安全
aneasystone本尊1 小时前
实战 LiteLLM 与监控告警系统的集成
人工智能