4. Python 环境搭建:Anaconda安装、OpenCV与Pillow库安装、Jupyter Notebook配置
说实话,很多初学者在光效提取这条路上栽跟头,不是因为算法难,而是环境没搭好。我见过太多人花了两小时配环境,最后发现是Python版本冲突——这种坑,咱们今天一次性填平。
这一章,我会带你从零开始,把Python的深度学习环境搭得稳稳当当。你不需要懂太多命令行,跟着步骤走就行。
4.1 为什么选择Anaconda?
你可能听说过Python、pip、virtualenv这些工具。但做光效提取,我强烈建议你用Anaconda。为什么?
- 包管理省心:OpenCV、Pillow、NumPy这些库,conda一键安装,不用手动解决依赖冲突
- 环境隔离:每个项目一个独立环境,互不干扰。我曾在同一个机器上同时维护三个项目,每个依赖不同版本的OpenCV,conda帮我避免了“地狱级”的版本冲突
- 自带Jupyter:安装完就能用Notebook,不用额外配置
4.2 Anaconda安装步骤
咱们一步步来,别急。
4.2.1 下载安装包
去Anaconda官网(anaconda.com)下载对应操作系统的安装包。我建议选Python 3.9或3.10版本——太新的Python版本有些库还没适配,太旧的又缺特性。
| 操作系统 | 推荐版本 | 注意事项 |
|---|---|---|
| Windows | Anaconda3-2023.09 (Python 3.9) | 安装时勾选“Add to PATH” |
| macOS | Anaconda3-2023.09 (Python 3.9) | Intel芯片选x86,M1/M2选arm64 |
| Linux | Anaconda3-2023.09 (Python 3.9) | 用bash命令安装,注意权限 |
4.2.2 安装过程
Windows用户直接双击exe,一路Next。但有两个地方要注意:
- 安装路径不要有中文和空格——我见过有人装在“D:\程序\Python”下面,结果后面各种报错
- 勾选“Add Anaconda to my PATH environment variable”——这样你才能在命令行里直接敲conda命令
macOS和Linux用户,在终端里运行:
bash Anaconda3-2023.09-Linux-x86_64.sh
然后一路yes就好。
4.2.3 验证安装
打开终端(Windows用cmd或PowerShell),输入:
conda --version
如果看到类似 conda 23.7.4 的输出,说明安装成功。
4.3 创建光效提取专用环境
我个人习惯给每个项目建独立环境。这样干净、可控。
conda create -n glow_env python=3.9
这里 glow_env 是环境名,你可以改成自己喜欢的。回车后输入 y 确认。
激活环境:
conda activate glow_env
你会看到命令行前面多了 (glow_env) 字样,说明已经进入环境了。
4.4 安装OpenCV与Pillow
这两个库是光效提取的核心工具。OpenCV负责图像处理、特征提取;Pillow负责图像读写、格式转换。
4.4.1 安装OpenCV
在激活的环境下,执行:
conda install opencv-python
或者用pip:
pip install opencv-python
验证安装:
python -c "import cv2; print(cv2.__version__)"
如果输出版本号(比如4.8.1),就说明装好了。
opencv-python 就够了。别装 opencv-contrib-python,那个包含了很多实验性模块,容易和基础模块冲突。我曾经装过contrib版本,结果SIFT算法死活调不出来,后来发现是版本冲突。
4.4.2 安装Pillow
Pillow是PIL(Python Imaging Library)的现代分支,支持更多图像格式。
conda install pillow
验证:
python -c "from PIL import Image; print(Image.__version__)"
4.4.3 安装其他依赖库
光效提取还会用到NumPy、Matplotlib这些库。一起装了:
conda install numpy matplotlib scikit-image
这样后面做图像矩阵运算、可视化、高级图像处理就都有工具了。
4.5 Jupyter Notebook配置
Jupyter Notebook是交互式编程的神器。你写一行代码,立刻看到结果,特别适合做光效提取这种需要反复调试的工作。
4.5.1 安装Jupyter
Anaconda默认已经装了Jupyter。但如果你用的是Miniconda或者没装,可以手动安装:
conda install jupyter
4.5.2 将环境注册到Jupyter内核
这一步很关键。你创建了 glow_env 环境,但Jupyter默认只认识base环境。需要把新环境注册进去:
conda activate glow_env
conda install ipykernel
python -m ipykernel install --user --name glow_env --display-name "Python (glow_env)"
这样,当你打开Jupyter Notebook时,就能在“New”菜单里看到 Python (glow_env) 这个内核选项了。
4.5.3 启动Jupyter Notebook
在终端里:
jupyter notebook
浏览器会自动打开,显示文件列表。新建一个Notebook,选择刚才注册的 glow_env 内核。
import cv2
from PIL import Image
import numpy as np
print("所有库导入成功!")
print(f"OpenCV版本: {cv2.__version__}")
print(f"Pillow版本: {Image.__version__}")
如果没报错,恭喜你,环境搭建完成!
4.6 环境搭建知识体系
下面这张图帮你理清整个流程:
4.7 常见问题与解决方案
环境搭建过程中,你可能会遇到这些问题。我把它们列出来,省得你到处查:
| 问题 | 原因 | 解决方案 |
|---|---|---|
conda 命令找不到 |
没有添加到PATH | 手动添加Anaconda的Scripts目录到环境变量 |
| 安装OpenCV报错 | 网络问题或依赖冲突 | 换用 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 清华镜像 |
| Jupyter内核找不到 | 没有注册内核 | 执行 python -m ipykernel install --user --name glow_env |
| 导入cv2报错 | 环境没激活 | 检查终端前面是否有 (glow_env) 标识 |
conda activate glow_env 激活环境。不然你装的库都在另一个环境里,当前环境根本找不到。我刚开始用conda时,经常忘记激活,然后纳闷“明明装了怎么还报错”——说白了就是环境没切过来。
4.8 验证你的环境
最后,咱们写一个小程序,验证整个环境是否正常工作。在Jupyter Notebook里运行:
import cv2
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
# 创建一个简单的光效图像
img = np.zeros((200, 200, 3), dtype=np.uint8)
cv2.circle(img, (100, 100), 50, (255, 255, 255), -1)
img_blur = cv2.GaussianBlur(img, (21, 21), 0)
# 显示
plt.imshow(cv2.cvtColor(img_blur, cv2.COLOR_BGR2RGB))
plt.title("光效测试 - 模糊圆")
plt.axis('off')
plt.show()
print("环境验证通过!")
如果你看到一个模糊的白色圆点,说明OpenCV、NumPy、Matplotlib、Pillow全部正常工作。恭喜,你的光效提取环境已经搭建完毕!