目录

什么是 OpenCV?

OpenCV(Open Source Computer Vision Library)是一个功能强大的开源计算机视觉与机器学习软件库。它最早由英特尔公司的高级研究员 Gary Bradski 于 1999 年发起,旨在为 CPU 密集型视觉应用提供一个高效、通用的基础框架。2000 年,OpenCV 以 Alpha 版本首次亮相;经过二十余年的持续迭代,如今已发展为包含超过 2500 个优化算法的庞大工具箱,并成为全球开发者、科研人员和企业首选的视觉开发库之一。OpenCV 支持 C++、Python、Java 和 JavaScript 等多种编程语言,且具备出色的跨平台能力,可在 Windows、Linux、macOS、Android 和 iOS 上流畅运行。

为什么选择 Python 来学习 OpenCV?

对于初学者和快速原型开发而言,Python 是踏入 OpenCV 世界的最佳切入点,理由有三:

  • 语法简洁,开发效率高:Python 接近自然语言的表达方式让你能将精力集中在视觉算法本身,而不是复杂的语法细节与内存管理上。
  • 底层高效,性能不妥协:OpenCV 的核心由高度优化的 C/C++ 编写,通过 Python 接口调用时,几乎能保持原生的运行速度。
  • 生态完整,协作无间:Python 拥有庞大而活跃的科学计算生态——NumPy 处理数组、Matplotlib 可视化结果、scikit-learn 整合机器学习,这些工具与 OpenCV 无缝衔接,能让你快速构建从数据读取到模型部署的完整流水线。

OpenCV 能做什么?

历经多年发展,OpenCV 的功能早已不局限于早期的基础图像处理,而是覆盖了计算机视觉的绝大部分领域:

  • 物体识别与检测:人脸识别、车辆检测、行人检测、手势识别等。

    # 使用 Haar 级联进行人脸检测 — 一行代码加载分类器,三行完成检测与标注
    face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
    gray = cv2.cvtColor(cv2.imread('photo.jpg'), cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 1.1, 4)
    for (x, y, w, h) in faces:
        cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
    
  • 图像处理与增强:图像滤波(高斯模糊、中值滤波)、色彩空间转换、几何变换(旋转、缩放、仿射)、图像拼接、修复、背景替换以及超分辨率重建。

  • 视频分析:运动检测、多目标跟踪、背景减除、光流法。开发者可轻松组合 cv2.VideoCapture、背景减除器与追踪器,搭建实时监控或行为分析系统。

  • 三维重建与深度感知:支持立体视觉匹配、从二维图像恢复三维结构、点云处理等,是机器人导航与自动化分拣的基础能力。

  • 机器学习与深度学习集成:内置经典分类与聚类算法;通过 dnn 模块可直接加载并运行 TensorFlow、PyTorch、Caffe 等主流框架训练好的模型,实现图像分类、目标检测等推理任务。

  • 增强现实(AR):相机位姿估计、平面检测与锚点绑定,是移动端 AR 应用的重要底层支撑。### 丰富的应用案例

凭借这些能力,OpenCV 在众多行业中催生了大量落地应用:

  1. 人脸识别与趣味特效:精准定位面部关键点(如眼睛、嘴巴、鼻尖),在此基础上叠加 AR 动态贴纸——这正是抖音、Snapchat 等应用背后趣味滤镜的核心技术。
  2. 智能交通系统:利用运动检测与目标跟踪统计实时车流量,识别违规变道、压线、闯红灯等行为,并自动完成车牌识别,已广泛应用于智慧停车、交通违章监控等场景。
  3. 工业视觉质检:在流水线上高速识别产品标签、读取一维码与二维码,同时通过表面缺陷检测排查划痕、裂纹,大幅提升质检效率与准确度。
  4. 医疗影像辅助诊断:对 X 光片、CT、MRI 等医学影像进行预处理(去噪、增强、分割),辅助医生标记病变区域,减轻读片负担,提升诊断一致性。
  5. 自动驾驶感知:作为 Robotaxi 和高级辅助驾驶的“眼睛”,OpenCV 被用来对车载摄像头画面进行实时语义分割、车道线检测和障碍物识别,是自动驾驶感知栈的基础环节。
  6. 智慧零售:通过分析货架图像识别商品排面、检测缺货情况,并结合人脸识别统计客流量与顾客画像,为优化运营策略提供数据支撑。
  7. 运动分析与体育训练:追踪运动员动作轨迹,分析姿态,帮助教练团队量化运动表现、预防伤病。

本系列笔记将涵盖哪些内容?

通过本系列的学习,你将能够:

  1. 理解 OpenCV 的基本运行机制和核心数据结构
  2. 掌握使用 OpenCV(Python 版)处理图像常见问题的方法,如读取/显示/保存图像、基本的像素操作、图像滤波、形态学操作等。
  3. 学会解决物体识别、文字识别等典型问题的思路与代码实现,并了解其背后的原理。
  4. 初步具备将 OpenCV 应用于实际项目的能力

Windows 下 Python 环境搭建步骤

下面是在 Windows 系统上为 OpenCV 配置 Python 开发环境的详细步骤。

第一步:下载并安装 Python

  1. 访问 Python 官网的下载页面:https://www.python.org/downloads/
  2. 选择适合你系统的最新稳定版本(推荐 Python 3.10 或更高版本)进行下载。本教程以 Python 3.10 为例。
  3. 运行下载的安装程序。务必勾选 “Add Python 3.x to PATH” 选项,这样安装后系统会自动配置好环境变量。
  4. 点击 “Install Now” 完成安装。

第二步:验证 Python 安装

安装完成后,打开命令提示符(CMD)或 PowerShell,输入以下命令检查 Python 是否安装成功:

python --version

如果正确显示 Python 版本号(如 Python 3.10.11),则说明安装和 PATH 配置成功。

第三步:安装必要的 Python 库

OpenCV 的运行依赖于一些基础库,我们使用 pip(Python 包管理器)来安装。在命令提示符中依次执行以下命令:

  1. 安装 NumPy:OpenCV 使用 NumPy 数组来存储和处理图像数据。
    pip install numpy
    
  2. 安装 Matplotlib:这是一个强大的绘图库,常用于显示图像和可视化结果。
    pip install matplotlib
    
  3. 安装 OpenCV-Python:这是 OpenCV 为 Python 提供的官方预编译包。
    pip install opencv-python
    
    如果你还需要额外的模块(如 opencv-contrib-python 包含了一些扩展功能),可以安装:
    pip install opencv-contrib-python
    

第四步:验证 OpenCV 安装

创建一个简单的 Python 脚本(例如 test_opencv.py)来测试安装是否成功:

import cv2
import numpy as np

print(f"OpenCV version: {cv2.__version__}")
print(f"NumPy version: {np.__version__}")

# 尝试读取一张图片(此处假设有一张名为 'test.jpg' 的图片在相同目录下)
# 如果没有图片,可以注释掉下面几行,只打印版本信息即可
# img = cv2.imread('test.jpg')
# if img is not None:
#     print("Image loaded successfully!")
# else:
#     print("Failed to load image.")

在命令行中运行该脚本:

python test_opencv.py

如果成功输出了 OpenCV 和 NumPy 的版本号,恭喜你,OpenCV 开发环境已经搭建完成!

Linux 下 Python 环境搭建步骤

对于 Ubuntu/Debian 等 Linux 发行版,系统的包管理器让环境配置更加高效。下面以 Ubuntu 20.04/22.04 为例。

第一步:更新系统并安装 Python

大多数现代 Linux 发行版已预装 Python 3,建议先更新软件源并确认版本:

sudo apt update
sudo apt upgrade -y
python3 --version

如果未安装或版本过低(建议 ≥ 3.8),可通过以下命令安装:

sudo apt install python3 python3-pip -y

其中 python3-pip 是 Python 的包管理工具 pip

第二步:配置虚拟环境(推荐)

为避免与系统级 Python 包冲突,建议在项目目录中创建虚拟环境:

# 安装 venv 模块
sudo apt install python3-venv -y

# 创建项目目录并进入
mkdir opencv-lab && cd opencv-lab

# 创建虚拟环境
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate

激活成功后,终端提示符前会出现 (venv) 标识,表示已进入隔离的 Python 环境。

第三步:安装必要的 Python 库

在虚拟环境激活状态下,使用 pip 安装所需库:

# 升级 pip 到最新版本
pip install --upgrade pip

# 安装 NumPy
pip install numpy

# 安装 Matplotlib
pip install matplotlib

# 安装 OpenCV-Python
pip install opencv-python

# 若需扩展模块
pip install opencv-contrib-python

第四步:验证 OpenCV 安装

创建测试脚本 test_opencv.py

import cv2
import numpy as np

print(f"OpenCV version: {cv2.__version__}")
print(f"NumPy version: {np.__version__}")

# 尝试读取一张图片(可注释掉)
# img = cv2.imread('test.jpg')
# if img is not None:
#     print("Image loaded successfully!")
# else:
#     print("Failed to load image.")

运行脚本:

python test_opencv.py

成功输出版本号即说明 Linux 下的 OpenCV 开发环境已配置完成。后续推出虚拟环境只需执行 deactivate 即可。

macOS 下 Python 环境搭建步骤

macOS 自带了 Python,但版本可能较老,推荐使用 Homebrew 安装最新的 Python 3 以及 pip。

第一步:安装 Homebrew(如已安装可跳过)

Homebrew 是 macOS 下最流行的包管理器。如果尚未安装,打开终端(Terminal)并运行以下命令安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,根据终端提示将 Homebrew 添加到 PATH(通常需要执行 echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofileeval "$(/opt/homebrew/bin/brew shellenv)",如果你使用的是 Apple Silicon 芯片)。

第二步:安装 Python 3

使用 Homebrew 安装最新版的 Python 3,系统会自动附带 pip:

brew install python

安装完成后验证版本:

python3 --version
pip3 --version

如果输出正常的版本号(例:Python 3.11.5pip 23.3),说明安装成功。如果终端提示找不到 python3pip3,请重启终端或运行 brew link python 重新建立符号链接。

第三步:配置虚拟环境(推荐)

与 Linux 下类似,建议使用 venv 或 conda 来隔离项目依赖。这里演示 venv 方式:

# 进入工作目录(可自定义)
mkdir ~/opencv-lab && cd ~/opencv-lab

# 创建虚拟环境(默认使用 python3)
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate

激活后,终端提示符前会出现 (venv) 标识。如果你更习惯使用 conda,可运行 conda create -n opencv-lab python=3.10conda activate opencv-lab

第四步:安装必要的 Python 库

在虚拟环境已激活的状态下,升级 pip 并安装所需科学计算与视觉库:

# 升级 pip
pip install --upgrade pip

# 安装 NumPy
pip install numpy

# 安装 Matplotlib
pip install matplotlib

# 安装 OpenCV-Python
pip install opencv-python

# (可选)安装扩展模块
pip install opencv-contrib-python

第五步:验证 OpenCV 安装

创建测试脚本 test_opencv.py

import cv2
import numpy as np

print(f"OpenCV version: {cv2.__version__}")
print(f"NumPy version: {np.__version__}")

# 尝试读取一张图片(可注释掉)
# img = cv2.imread('test.jpg')
# if img is not None:
#     print("Image loaded successfully!")
# else:
#     print("Failed to load image.")

运行测试脚本:

python test_opencv.py

如果终端成功输出 OpenCV 与 NumPy 的版本号,就代表 macOS 下的 Python 开发环境已准备就绪。完成后可通过 deactivate 退出虚拟环境。

📖 常见的安装问题与解决方案

即便严格按教程操作,不同系统仍可能遇到一些“拦路虎”。下面整理了三个平台最高频的问题及其解决办法,每个问题都配有可直接复现的错误日志和分步骤文字排查说明,帮助你快速排除故障。


🟢 Windows

1. 'pip' 不是内部或外部命令

在 CMD 或 PowerShell 中运行 pip install 时出现此提示,说明 pip 所在的目录未被添加到系统环境变量 PATH。

可复现的错误日志示例(在任一未配置 PATH 的 Windows 命令行中执行 pip install opencv-python):

C:\Users\YourName>pip install opencv-python
'pip' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Users\YourName>pip --version
'pip' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

排查逻辑

  1. 检查 python --version 是否正常。如果也提示“不是内部命令”,说明 Python 未正确安装或 PATH 未配置,需重新运行安装程序并勾选「Add Python 3.x to PATH」。
  2. 如果 python 正常但 pip 不行,尝试 python -m pip --version。若此命令可正常执行,则后续所有 pip 操作均改用 python -m pip 代替直接使用 pip
  3. python -m pip 也不可用,则需手动将 Python 的 Scripts 目录(通常为 C:\Users\用户名\AppData\Local\Programs\Python\Python3x\Scripts)添加到系统环境变量 Path 中,然后重启命令行。

分步操作

  1. 确认 Python 已正确安装:打开 CMD 输入 python --version。若也提示“不是内部命令”,请重新运行 Python 安装程序并勾选 “Add Python 3.x to PATH”。
  2. python 能识别但 pip 不行,尝试直接通过 Python 调用 pip:
    python -m pip install opencv-python
    
  3. 或手动将 pip 所在路径(通常是 C:\Users\你的用户名\AppData\Local\Programs\Python\Python3x\Scripts)添加到系统环境变量 Path 中。
2. 安装 OpenCV 后 import cv2 失败,提示 DLL 加载错误

可复现的错误日志示例(在缺少 VC++ 运行库的 Windows 上执行):

Python 3.10.11 (tags/v3.10.11: ...) on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\YourName\AppData\Local\Programs\Python\Python310\lib\site-packages\cv2\__init__.py", line 181, in <module>
    bootstrap()
  ...
ImportError: DLL load failed while importing cv2: 找不到指定的模块。

排查逻辑

  1. 下载并安装最新版 Microsoft Visual C++ Redistributable(x64):https://aka.ms/vs/17/release/vc_redist.x64.exe,安装完成后重启电脑。
  2. 如果问题依然存在,完全卸载 OpenCV 相关包后重新安装:
    pip uninstall opencv-python opencv-contrib-python -y
    pip install opencv-python
    

分步操作

  • 该错误通常由 缺少 Visual C++ 运行库 引起。下载并安装 Microsoft Visual C++ Redistributable(建议选择 x64 版本),重启电脑后再试。
  • 如果问题依旧,可尝试卸载后重新安装:
    pip uninstall opencv-python opencv-contrib-python -y
    pip install opencv-python
    

🐧 Linux

3. pip3 安装包时报权限错误

可复现的错误日志示例(在 Ubuntu 20.04 上非 root 用户直接使用 pip3 install):

$ pip3 install opencv-python
Defaulting to user installation because normal site-packages is not writeable
Collecting opencv-python
  Downloading opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (62.2 MB)
     ...
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/usr/local/lib/python3.8/dist-packages/numpy-1.24.3.dist-info'
Check the permissions.

排查逻辑

  1. 确认当前是否已激活虚拟环境(推荐):若未激活,先创建并激活 venv,再尝试安装。
  2. 若已在虚拟环境中仍报错,检查 venv 目录权限(ls -l venv),权限异常则删除重建。
  3. 若仍不行,使用 --user 安装到用户目录:pip3 install --user opencv-python,并确保 ~/.local/bin 在 PATH 中。
  4. 切勿使用 sudo pip install,以免污染系统 Python 环境。

分步操作

  • 千万不要用 sudo pip install,这会污染系统 Python 环境。
  • 正确做法是使用虚拟环境(见 Linux 第二步),或将包安装到用户目录:
    pip3 install --user opencv-python
    
    安装后,确认 ~/.local/bin 已加入 PATH。
4. import cv2 报错:libGL.so.1: cannot open shared object file

可复现的错误日志示例(在最小化安装的 Ubuntu 或无 GUI 的 Docker 容器中):

$ python3
Python 3.10.12 (main, Jun 11 2024, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  ...
ImportError: libGL.so.1: cannot open shared object file: No such file or directory

排查逻辑

  1. 安装缺失的系统级图形库:
    sudo apt install libgl1-mesa-glx libglib2.0-0 libsm6 libxrender1 libxext6 -y
    
  2. 如果仍报错,检查 OpenCV 包是否安装完整:pip show opencv-python。若无输出,执行 pip install --force-reinstall opencv-python 重新安装。

分步操作

OpenCV 的 GUI 功能(如 cv2.imshow())依赖一些系统级图形库。安装它们即可解决:

sudo apt install libgl1-mesa-glx libglib2.0-0 libsm6 libxrender1 libxext6 -y

🍎 macOS

5. 运行 brew install python 时卡住或报错 “command not found: brew”

可复现的错误日志示例(在出厂状态或卸载 Homebrew 后的终端中):

% brew install python
zsh: command not found: brew

排查逻辑

  1. 如果之前安装过 Homebrew,尝试运行 brew doctor 诊断并修复;或重新执行官方安装脚本。
  2. 如果从未安装,执行以下命令安装 Homebrew:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  3. 根据芯片类型将 Homebrew 添加到 PATH:
    • Apple Siliconecho 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
    • Intelecho 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
  4. 执行 source ~/.zprofile 或重启终端,使配置生效。
  5. 最后再次运行 brew install python

分步操作

  1. 重新执行 Homebrew 安装命令(见 macOS 第一步),确保网络通畅,尤其是 GitHub 相关域名可访问。
  2. 如果安装成功但终端仍提示 command not found,手动将 brew 加入 PATH:
    # Apple Silicon (M1/M2/M3)
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
    
    # Intel 芯片
    echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
    eval "$(/usr/local/bin/brew shellenv)"
    
  3. 重新打开终端或运行 source ~/.zprofile 使配置生效。
6. Apple Silicon (M1/M2/M3) 下 import cv2 报架构相关错误

可复现的错误日志示例(在 Apple Silicon 上使用 x86 版本的 Python 或 pip 安装时):

% python3
Python 3.11.5 (main, Aug 24 2023, 15:19:16) [Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
zsh: segmentation fault  python3

或者:

>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
    bootstrap()
  ...
ImportError: dlopen(.../cv2.cpython-311-darwin.so), 0x0006): tried: '...' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64'))

排查逻辑

  1. 确认当前使用的是 ARM 原生 Python:运行 which python3,输出应为 /opt/homebrew/bin/python3 而非 /usr/bin/python3。如果不是,请通过 Homebrew 安装原生 Python。
  2. 如果路径正确但仍报错,检查 pip 的架构标记:python3 -m pip debug --verbose,查看是否包含 arm64 tag。若不包含,可能是缓存了 x86 的 wheel 包。
  3. 卸载现有 OpenCV 并清除缓存重装:
    pip uninstall opencv-python -y
    pip install --no-cache-dir opencv-python
    

分步操作

  • 确保 Python 和 pip 都是通过 Homebrew 安装的原生 ARM 版本(不要在 Rosetta 模式下运行)。
  • 确认当前终端运行的是 ARM 原生 Python:
    which python3
    # 应输出 /opt/homebrew/bin/python3(非 /usr/bin/python3)
    
  • 如果架构正确仍然报错,尝试在虚拟环境中重新安装:
    pip uninstall opencv-python -y
    pip install --no-cache-dir opencv-python
    

🧭 通用排查思路

遇到上面未覆盖的问题时,可按以下步骤逐步定位:

  1. 先确认 Python 自身可用:在命令行执行 python --version(Windows)或 python3 --version(Linux/macOS)。如果命令无法识别,说明 Python 未安装或未正确配置 PATH,请参考对应平台的安装步骤重新安装。
  2. 再确认 pip 可用:执行 pip --versionpython -m pip --version。如果 pip 不可用,通过 python -m pip install --upgrade pip 修复。
  3. 检查 OpenCV 是否已安装:运行 pip show opencv-python 查看是否有返回信息。若无返回,执行 pip install opencv-python 重新安装。
  4. 优先使用虚拟环境:大多数环境冲突都是因为直接污染了系统 Python 目录引起的。创建并激活虚拟环境后重试,可以隔离大部分依赖问题。
  5. 搜索完整报错信息:将终端中的完整错误日志复制到搜索引擎,或直接前往 opencv-python GitHub Issues 搜索,大概率已有他人遇到过相同问题并给出了解决方案。
🌐 网络超时或镜像源配置问题

在国内或网络受限的环境中,pip 默认会从 PyPI 官方源下载包,可能出现连接超时或下载速度极慢的情况。

典型错误日志

ERROR: Could not find a version that satisfies the requirement opencv-python (from versions: none)
ERROR: No matching distribution found for opencv-python

或:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)")': /packages/d7/...

解决方案

  1. 永久配置国内镜像源(推荐):

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

    其他可靠的镜像源:

    • 阿里云:https://mirrors.aliyun.com/pypi/simple/
    • 中科大:https://pypi.mirrors.ustc.edu.cn/simple/
    • 腾讯云:https://mirrors.cloud.tencent.com/pypi/simple
  2. 临时使用镜像源安装

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
    
  3. 延长超时时间(网络波动时):

    pip install --default-timeout=100 opencv-python
    
  4. 关闭 SSL 校验(仅限内网或调试环境,公网不推荐):

    pip install --trusted-host pypi.tuna.tsinghua.edu.cn opencv-python
    

配置完成后,重试安装通常即可流畅下载。

总结与预告

通过本篇笔记,我们一起完成了在 Windows、Linux 和 macOS 三大平台上搭建 OpenCV + Python 开发环境的全过程,从安装 Python、配置虚拟环境到安装 NumPy、Matplotlib 和 opencv-python,并逐一验证安装是否成功。同时,我们还梳理了各平台最常见的报错场景——pip 路径问题、DLL 加载失败、权限拒绝、共享库缺失、架构不兼容等——并提供了可直接对照的错误日志、排查流程图和分步解决方案。无论你是初次接触 OpenCV 的新手,还是准备在项目中落地视觉功能的老手,这份环境搭建指南都能帮你快速扫清拦路虎,让开发环境稳稳当当地跑起来。

下一篇文章将正式进入 OpenCV 的实战阶段,从图像的最基本操作开始:使用 cv2.imread() 读取图像、用 cv2.imshow() 在窗口中显示图像,以及用 cv2.imwrite() 将处理结果保存到本地。我们还会结合 NumPy 讲解图像在内存中的多维数组表示,让你真正理解“图像即数据”的底层逻辑。基础打好之后,后续的图像裁剪、色彩变换、滤波等主题都会水到渠成。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐