新手必看!VSCode&PyCharm 配置 OpenCV 超详细教程(支持 Python 和 C++ 双语言)

新手必看!VSCode&PyCharm 配置 OpenCV 超详细教程(支持 Python 和 C++ 双语言)

新手必看!VSCode&PyCharm 配置 OpenCV 超详细教程(支持 Python 和 C++ 双语言)

适用对象:初学者,希望在 VSCode 与 PyCharm 两款常用 IDE 中,学会配置并使用 OpenCV,分别实现 Python 与 C++ 环境的快速上手。
适用平台:Windows 10/11(本文以 Windows 为主要示范,Linux 或 macOS 用户可参照各自系统的包管理细节进行适当调整)。

摘要

本文为新手用户提供了最全的 VSCode & PyCharm 配置 OpenCV 教程,涵盖 Python 与 C++ 双语言环境搭建与调试流程。文章详细介绍了在 Windows 系统下安装 Python、Visual Studio Build Tools、CMake、OpenCV 预编译包,并手把手演示如何在 VSCode 中创建虚拟环境、安装 opencv-python、配置 CMakeLists.txt、生成并运行 C++ 示例程序。快速实现图像读取、灰度转换、窗口显示等基础操作,为后续计算机视觉开发打下坚实基础。

新手必看!VSCode&PyCharm 配置 OpenCV 超详细教程(支持 Python 和 C++ 双语言)

目录

  1. 环境准备
    1.1. 系统要求
    1.2. 工具下载与安装概览
  2. Python + VSCode 环境配置
    2.1. 安装 Python
    2.2. 创建并激活虚拟环境
    2.3. 安装 VSCode 及 Python 插件
    2.4. 安装 OpenCV(Python 版)
    2.5. 在 VSCode 中创建、配置项目
    2.6. 编写并运行 Python 示例脚本
  3. C++ + VSCode 环境配置
    3.1. 安装 C++ 编译工具(Windows:Visual Studio Build Tools)
    3.2. 下载并配置 OpenCV 预编译包
    3.3. 安装 VSCode C/C++ 扩展
    3.4. 在 VSCode 中创建 C++ 项目(CMake + 示例代码)
    3.5. 配置 c_cpp_properties.jsontasks.jsonlaunch.json
    3.6. 编译并运行 C++ 示例程序
  4. Python + PyCharm 环境配置
    4.1. 安装 PyCharm
    4.2. 创建 Python 项目并选择解释器
    4.3. 在 PyCharm 中安装 OpenCV(Python 版)
    4.4. 编写并运行 Python 示例脚本
  5. C++ + PyCharm 环境配置
    5.1. PyCharm 对 C++ 支持说明
    5.2. 利用 CMake 构建 C++ 项目并使用终端/外部工具
    5.3. 在 PyCharm 中运行与调试 C++ 示例
  6. 常见问题与解决方案
  7. 附录
    7.1. Windows 环境变量简要说明
    7.2. CMakeLists.txt 详细示例
    7.3. 快速回顾

环境准备

1.1 系统要求

  • 操作系统:Windows 10/11(建议 64 位)。
  • 磁盘空间:至少 10 GB 可用空间,用于安装 IDE、编译工具与 OpenCV 库。
  • 内存:至少 8 GB,编译 C++ 源码时尽量保证运行流畅。
  • 网络:可正常访问外网,用于下载 Python 包、OpenCV 预编译包等。
提示:如果你使用的是 Linux 或 macOS,Python 部分几乎一致;C++ 部分请改用相应系统的包管理(比如 Linux 下用 aptyum 安装 libopencv-dev,macOS 下用 Homebrew brew install opencv),VSCode 与 PyCharm 的配置思路相同,但路径与命令略有不同,请自行替换。

1.2 工具下载与安装概览

工具/软件作用官方下载地址
Python提供 Python 运行时,执行 OpenCV Python 示例https://www.python.org/downloads/
Visual Studio Build Tools提供 Windows 下 C++ 编译器(MSVC)、CMake 等构建工具https://visualstudio.microsoft.com/zh-hans/downloads/ (选择“Build Tools for Visual Studio 2022”)
VSCode微软出品的轻量级跨平台 IDE,适合 Python & C++ 开发https://code.visualstudio.com/
PyCharmJetBrains 出品的 Python IDEhttps://www.jetbrains.com/pycharm/
OpenCV 预编译包提供 C++ 版库文件(Windows 下为 .exe.ziphttps://opencv.org/releases/
安装顺序建议:安装 Python,把“Add Python 3.x to PATH”勾选上(方便后续在终端直接使用 python 命令)。安装 Visual Studio Build Tools,并在安装过程中勾选 “C++ build tools” 与 “Windows 10/11 SDK”。安装 VSCode 与 PyCharm。下载并解压 OpenCV 预编译包。按照下面章节的步骤,分别配置 Python 与 C++ 环境。

Python + VSCode 环境配置

本节将带你从零开始,在 Windows 平台上搭建基于 VSCode 的 Python + OpenCV 开发环境,并运行一个简单图像读取与显示示例。

2.1 安装 Python

  1. 下载 Python 安装包
    • 访问 Python 官网,点击最新 3.x 版本(例如 Python 3.11.x)的 Windows Installer(根据自己系统选择 64-bit)。
  2. 运行安装程序
    • 勾选页面底部的 “Add Python 3.x to PATH”,然后点击 “Install Now”
    • 等待安装完成。
  3. 验证安装

同时也可以验证 pip

pip --version 

若显示 pip 23.x.x from ...,表示 pip 可用。

打开 命令提示符 (CMD)PowerShell,输入:

python --version 

若显示类似 Python 3.11.x,说明安装成功。

2.2 创建并激活虚拟环境

为了保证项目依赖独立,建议使用虚拟环境(venv)。

  1. 激活虚拟环境:
    • 激活后,终端提示符会出现前缀 (venv)

PowerShell(可能需要先解除脚本执行限制):

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser .\venv\Scripts\Activate.ps1 

命令提示符

venv\Scripts\activate.bat 

创建虚拟环境:

python -m venv venv 

这会在当前文件夹下创建一个名为 venv 的子文件夹,里面包括独立的 Python 解释器。

打开 命令提示符 (CMD)PowerShell,进入你希望存放项目的文件夹,例如:

cd C:\Users\你的用户名\Projects mkdir OpenCV_VSCode_Python cd OpenCV_VSCode_Python 
注意:后续所有在终端执行的 pip installpython 命令,都将在该虚拟环境中生效。如需退出虚拟环境,输入 deactivate 即可。

2.3 安装 VSCode 及 Python 插件

  1. 下载 VSCode
    • 访问 VSCode 官网,点击下载适用于 Windows 的安装程序。
    • 安装时勾选 “Add to PATH”、“Register Code as Editor for supported file types” 等选项(方便后续直接在资源管理器右键打开)。
  2. 打开 VSCode
    • 安装完成后,双击运行 VSCode。
  3. 安装 Python 插件
    • 点击 “Install” 进行安装。
    • 安装完毕后,VSCode 底部状态栏会出现已识别的 Python 解释器选项。

在左侧扩展图标(Extensions)中,搜索 “Python”,由 Microsoft 发布的官方扩展为:

Python (ms-python.python) 

2.4 安装 OpenCV(Python 版)

  1. 确保虚拟环境已激活
  2. 安装 OpenCV-Python 包
    • 解释:
      • opencv-python:主模块,包含核心功能。
      • opencv-contrib-python:包含额外的算法模块(contrib),推荐同时安装。
  3. 验证安装
    • 如果输出类似 4.8.0 或者其他版本号,就说明安装成功。
    • 输入 exit() 退出 Python 交互。

在交互式命令行输入:

import cv2 print(cv2.__version__)

在终端启动 Python 交互:

python 

在终端输入:

pip install opencv-python opencv-contrib-python 

如果之前已经退出,重新打开项目目录,在终端中重新激活:

cd C:\Users\你的用户名\Projects\OpenCV_VSCode_Python venv\Scripts\activate.bat 

2.5 在 VSCode 中创建、配置项目

  1. 打开项目文件夹
    • 在 VSCode 中,依次点击:文件 → 打开文件夹…,选择刚才创建的 C:\Users\你的用户名\Projects\OpenCV_VSCode_Python 文件夹。
  2. 选择 Python 解释器
    • 在 VSCode 窗口的右下角,会显示当前默认的 Python 解释器。如果它还不是 venv 中的解释器:
      • 点击右下角“Python 版本号”,在弹出的“Python 选择解释器”列表里,选择以 venv 路径开头的那个项(例如 C:\...\OpenCV_VSCode_Python\venv\Scripts\python.exe)。
  3. 创建示例脚本文件
    • 在项目根目录下,点击左侧资源管理器里的“新建文件”,命名为 opencv_test.py
  4. 自动补全 / IntelliSense 检查
    • 如果 import 时没有红线报错,说明 VSCode 已经正确识别 cv2 模块。

打开 opencv_test.py,输入:

import cv2 # 测试 OpenCV 是否可用 img = cv2.imread('test.jpg') cv2.imshow('Test Window', img) cv2.waitKey(0) cv2.destroyAllWindows()
注意:示例中使用 cv2.imshow 需要在 Windows 本地环境执行,且要确保当前目录下存在名为 test.jpg 的图像文件。可以自行下载一张测试图片命名为 test.jpg 放在项目根目录。

2.6 编写并运行 Python 示例脚本

  1. 准备测试图像
    • 在项目根目录下,新建一个名为 test.jpg 的图像(任意一张照片即可)。
  2. 在 VSCode 中执行
    • 如果成功,会分别弹出两个窗口:一个显示彩色原图,一个显示灰度图。终端会打印 按任意键关闭窗口...。按任意键后,窗口关闭,程序结束。

打开 opencv_test.py,可以点击右上方的绿色运行按钮(▶),或者在终端中手动输入:

python opencv_test.py 

完整示例代码opencv_test.py):

import cv2 defmain():# 读取本目录下的 test.jpg img = cv2.imread('test.jpg')if img isNone:print('无法读取 test.jpg,请确认文件存在于当前目录')return# 将图像转换为灰度并显示 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imshow('原图', img) cv2.imshow('灰度图', gray)print('按任意键关闭窗口...') cv2.waitKey(0) cv2.destroyAllWindows()if __name__ =='__main__': main()
至此,Python + VSCode + OpenCV 环境配置完成!

C++ + VSCode 环境配置

本节将介绍如何在 Windows 平台下,通过 VSCode + CMake + MSVC 构建并使用 OpenCV C++ 库,详细说明下载预编译包、设置环境变量、配置 VSCode 对 C++ 的编译与调试等步骤。

3.1 安装 C++ 编译工具(Windows:Visual Studio Build Tools)

  1. 下载
    • 访问 Visual Studio 官网下载页,向下滚动到 “Tools for Visual Studio 2022” 部分,找到 “Build Tools for Visual Studio 2022” 并点击下载。
  2. 安装
    • 运行下载得到的 vs_BuildTools.exe 安装程序。
    • 选择工作负载(Workloads):勾选 “使用 C++ 的桌面开发”(Desktop development with C++),确保下方包含:
      • MSVC v143 或 v142 – VS 2022 C++ x64/x86 构建工具
      • Windows 10 或 11 SDK
      • CMake 工具
    • 点击右下角 “Install”;等待下载并安装,安装过程大约需要 5 GB 空间与数分钟时间。
  3. 验证
    • 安装完成后,打开 x64 Native Tools Command Prompt for VS 2022(在「开始菜单 → Visual Studio 2022」中即可找到)。

同时验证 CMake:

cmake --version 

如果输出类似 cmake version 3.27.x,说明 CMake 安装成功。

输入:

cl 

如果出现 Microsoft (R) C/C++ Optimizing Compiler 等输出,则说明 MSVC 已就绪。

3.2 下载并配置 OpenCV 预编译包

  1. 下载 OpenCV Windows 预编译包
    • 访问 OpenCV Releases(或在浏览器搜索 “OpenCV releases”),找到最新的 Windows 预编译版本,例如 OpenCV 4.8.0
    • 下载 .exe 安装包(例如 opencv-4.8.0-vc14_vc15.exe)或者 .zip 包。
  2. 解压/安装
    • 如果下载的是 .exe 安装包,双击运行,选择安装目录(例如 C:\opencv\opencv-4.8.0)。
    • 如果下载的是 .zip,右键解压到例如 C:\opencv\opencv-4.8.0
  3. 环境变量配置
    • 添加 OPENCV_DIR
      1. 右键“此电脑” → “属性” → “高级系统设置” → “环境变量(N)…”。
      2. 点击确定。
    • 修改 Path
      1. 在 “系统变量(S)” 区域,找到 Path,选中后点击 “编辑(I)…”。
      2. 点击确定,保存退出。

验证(在新的命令提示符中)

echo %OPENCV_DIR% 

若输出上述路径,则生效。

添加一行:

C:\opencv\opencv-4.8.0\build\x64\vc15\bin 

在 “系统变量(S)” 区域,点击 “新建(W)…”,变量名填 OPENCV_DIR,变量值填:

C:\opencv\opencv-4.8.0\build\x64\vc15 # 根据实际版本和文件夹填写,通常到 build\x64\vc15 
说明vc15 对应 VS 2017/2019/2022 通用的构建;若你安装的 OpenCV 版本是基于 VS 2019/2022,则文件夹可能是 vc14/vc15。请根据实际目录填写。build\x64\vc15\bin 下包含了各类 .dll 动态库,以及 opencv_world480.dll(单一 DLL)或多个 opencv_*.dll

3.3 安装 VSCode C/C++ 扩展

  1. 打开 VSCode
    • 如果还未运行 VSCode,请双击打开。
  2. 安装 C/C++ 扩展
    • 由 Microsoft 发布的官方扩展“C/C++” (ms-vscode.cpptools) 位于搜索结果第一。
    • 点击 “Install” 进行安装。
  3. 安装 CMake Tools 扩展(可选,但强烈推荐)
    • 由 Microsoft 发布的 “CMake Tools” (ms-vscode.cmake-tools) 拓展可以让 VSCode 本身识别 CMake 项目、自动生成配置,便于日后管理复杂项目。
    • 点击 “Install” 安装。

在扩展市场搜索:

CMake Tools 

在左侧扩展市场 (Extensions) 中,搜索:

C/C++ 
小贴士:安装完毕后,VSCode 右下角会出现 “CMake: [未激活/Kit: None]” 的字样,表示已加载 CMake Tools。CMake Tools 能自动检测系统中的 CMake、编译器(如 MSVC),并允许你通过 GUI 直接选择 “配置”、“生成”、“编译”等操作。

3.4 在 VSCode 中创建 C++ 项目(CMake + 示例代码)

下面以 CMake 构建示例讲解如何集成 OpenCV。

  1. 新建项目文件夹
  2. 准备项目结构
    • 其中:
      • CMakeLists.txt:CMake 构建配置文件。
      • src/main.cpp:C++ 示例代码文件。
      • image/test.jpg:测试用图像。可自行准备一张照片并放置其中。
  3. 放置测试图片
    • OpenCV_VSCode_CPP/image 文件夹下放置一张 test.jpg

路径示例:

C:\Users\你的用户名\Projects\OpenCV_VSCode_CPP\image\test.jpg 

编写 main.cpp 示例
src/main.cpp 中,复制以下代码:

#include<opencv2/opencv.hpp>#include<iostream>intmain(){// 构造图像路径(相对路径:工程目录/image/test.jpg) std::string image_path ="../image/test.jpg"; cv::Mat img = cv::imread(image_path);if(img.empty()){ std::cerr <<"无法打开图像: "<< image_path << std::endl;return-1;} cv::Mat gray; cv::cvtColor(img, gray, cv::COLOR_BGR2GRAY); cv::imshow("原图 (Color)", img); cv::imshow("灰度图 (Gray)", gray); std::cout <<"按任意键退出..."<< std::endl; cv::waitKey(0); cv::destroyAllWindows();return0;}

编写 CMakeLists.txt
在项目根目录(OpenCV_VSCode_CPP)新建 CMakeLists.txt,内容示例如下(请根据你的 OpenCV 版本与文件夹路径自行替换 OPENCV_DIR):

cmake_minimum_required(VERSION 3.10) project(OpenCV_VSCode_CPP) # 设置 C++ 标准(此处为 C++17,可自定义) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 查找 OpenCV 包 # OPENCV_DIR 环境变量已在系统中定义,指向 C:/opencv/opencv-4.8.0/build/x64/vc15 find_package(OpenCV REQUIRED) # 输出包含目录(可选,便于在编译输出中查看) message(STATUS "OpenCV include dirs: ${OpenCV_INCLUDE_DIRS}") message(STATUS "OpenCV libraries: ${OpenCV_LIBS}") # 添加可执行文件 add_executable(${PROJECT_NAME} src/main.cpp) # 链接 OpenCV 库 target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCV_LIBS}) 
说明find_package(OpenCV REQUIRED):依赖于环境变量 OPENCV_DIR,CMake 会在 {OPENCV_DIR}/x64/vc15/lib/cmake/opencv4 下寻找相关配置。${OpenCV_INCLUDE_DIRS} 包含了 include 文件夹的路径,比如 C:/opencv/opencv-4.8.0/build/include${OpenCV_LIBS} 包含了所有需要链接的 .lib 文件(静态链接或动态链接均由 CMake 自动选择)。

OpenCV_VSCode_CPP 目录下,新建以下文件/文件夹结构:

OpenCV_VSCode_CPP ├── CMakeLists.txt ├── src │ └── main.cpp └── image └── test.jpg 

在你喜欢的位置(例如 C:\Users\你的用户名\Projects\OpenCV_VSCode_CPP)创建文件夹:.

mkdir C:\Users\你的用户名\Projects\OpenCV_VSCode_CPP cd C:\Users\你的用户名\Projects\OpenCV_VSCode_CPP 

3.5 配置 c_cpp_properties.jsontasks.jsonlaunch.json

如果你安装了 CMake Tools 扩展,可以让 VSCode 自动生成大部分配置;这里展示手动配置方式,以便理解其原理。若使用 CMake Tools,后续手动配置步骤可略做简化。

3.5.1 c_cpp_properties.json

此文件用来告知 VSCode C/C++ 扩展,头文件搜索路径(includePath)和 IntelliSense 选项。位置:.vscode/c_cpp_properties.json

在项目根目录下新建 .vscode 文件夹,再在其中新建 c_cpp_properties.json,内容示例:

{"configurations":[{"name":"Win32","includePath":["${workspaceFolder}/**","C:/opencv/opencv-4.8.0/build/include"],"defines":["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion":"10.0.19041.0","compilerPath":"C:/Program Files/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe","cStandard":"c11","cppStandard":"c++17","intelliSenseMode":"windows-msvc-x64"}],"version":4}
请根据实际安装路径更改includePath 中第二行要与 C:\opencv\opencv-4.8.0\build\include 路径一致。compilerPath 为 MSVC 编译器的绝对路径,可在命令提示符中 where cl.exe 查到,然后复制完整路径。windowsSdkVersion 根据你安装的 Windows SDK 版本填写,若不知道可以先留空或使用默认,IntelliSense 会自动识别。
3.5.2 tasks.json

此文件告诉 VSCode 如何调用编译命令,把 CMake 的生成任务或直接 cl/g++ 编译语句写入这里,以便按下“Ctrl+Shift+B”时直接编译。位置:.vscode/tasks.json

示例:使用 CMake 编译

{"version":"2.0.0","tasks":[{"label":"CMake: Configure","type":"shell","command":"cmake","args":["-S","${workspaceFolder}","-B","${workspaceFolder}/build","-G","NMake Makefiles"],"group":{"kind":"build","isDefault":true},"problemMatcher":[]},{"label":"CMake: Build","type":"shell","command":"cmake","args":["--build","${workspaceFolder}/build","--config","Debug"],"group":"build","problemMatcher":[]}]}
说明-S ${workspaceFolder}:指明 CMakeLists.txt 所在目录。-B ${workspaceFolder}/build:生成输出目录为 build 文件夹。-G "NMake Makefiles":使用 NMake 工具链(MSVC);如果你更喜欢使用 Visual Studio 生成文件,可写 -G "Visual Studio 17 2022",但此时 VSCode 下的命令行编译方式会不同。“CMake: Configure” 与 “CMake: Build” 两个任务,可以分别按顺序运行,也可绑定到快捷键。

如果你不想使用 CMake,而想手动调用 cl.exe 进行编译,也可写成:

{"version":"2.0.0","tasks":[{"label":"Compile main.cpp","type":"shell","command":"\"C:/Program Files/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe\"","args":["/EHsc","/I","C:/opencv/opencv-4.8.0/build/include","src\\main.cpp","/link","/LIBPATH:C:/opencv/opencv-4.8.0/build/x64/vc15/lib","opencv_world480.lib"],"group":{"kind":"build","isDefault":true},"presentation":{"reveal":"always"},"problemMatcher":"$msCompile"}]}
说明:指定了 cl.exe 的路径。/I 参数加入了 OpenCV 的头文件目录。/link 后面通过 /LIBPATH 指定了 .lib 库所在目录。最后直接链接了 opencv_world480.lib(如果你的版本号不同,请替换为相应的 .lib 名称)。上述任务执行后,会在项目根目录生成 main.exe 可执行文件。
3.5.3 launch.json

此文件用于 VSCode 的调试配置(Debugging),当你按下 F5 或点击调试时,VSCode 会按照这里的配置启动程序。位置:.vscode/launch.json

示例(调试 CMake 生成的可执行文件)

{"version":"0.2.0","configurations":[{"name":"Debug: OpenCV_Cpp (CMake)","type":"cppvsdbg","request":"launch","program":"${workspaceFolder}/build/Debug/OpenCV_VSCode_CPP.exe","args":[],"stopAtEntry":false,"cwd":"${workspaceFolder}","environment":[],"console":"externalTerminal","preLaunchTask":"CMake: Build"}]}
说明program:可执行文件的路径,请根据你在 CMake 中选择的生成模式(Debug/Release)和项目名进行修改。preLaunchTask:在调试前自动执行哪个 Task,此处我们指向了 “CMake: Build”,即每次调试前会自动触发编译。"console": "externalTerminal":程序调试时使用外部终端弹出窗口,便于使用 cv::imshow 弹窗显示图像。

如果你采用手动 cl 编译方式,则 program 路径改为 ${workspaceFolder}/main.exe,并将 preLaunchTask 改为你在 tasks.json 中定义的 “Compile main.cpp”。

3.6 编译并运行 C++ 示例程序

  1. 打开 VSCode,选择配置
    • 点击右下角的 “Configure CMake Project” 或者 “选择任务/运行任务”,若你按照上文使用了 CMake Tools 扩展,可直接在 VSCode 右下方的状态栏找到 “CMake: [Kit: …]” 并选择你需要的 Kit(如 “Desktop x64”);然后点击 “Configure” 让 CMake 生成工程。
    • 如果不使用 CMake Tools 扩展,则可以直接按 Ctrl+Shift+B,选择 “CMake: Configure” → “CMake: Build”。
  2. 生成与编译
    • 使用 CMake Tools
      • 点击 VSCode 底部状态栏 “CMake: [Debug]” → 选择 “Build”。
      • 等待输出窗口中出现 “-- Build finished” 提示。
    • 手动 cl 方式
      • Ctrl+Shift+B,选择 “Compile main.cpp” 任务。
      • 等待终端中出现 “main.cpp: …” 编译信息,并最终生成 main.exe
  3. 调试或运行
    • 若要调试,按 F5 或点击左侧活动栏 “Run and Debug” → 选择 “Debug: OpenCV_Cpp (CMake)”。
    • 程序运行后,会弹出两个窗口:一个显示彩色图像 test.jpg,一个显示灰度图像,终端会打印 按任意键退出...

若仅要运行,直接在 命令提示符PowerShell 或 VSCode 终端输入:

cd build\Debug .\OpenCV_VSCode_CPP.exe 

或者:

cd C:\Users\你的用户名\Projects\OpenCV_VSCode_CPP main.exe # 如果你使用手动 cl 编译 
注意事项:如果运行时提示找不到 opencv_world480.dll(或其他版本号),请确认:已正确将 C:\opencv\opencv-4.8.0\build\x64\vc15\bin 添加到系统 Path。重新打开 VSCode 或命令提示符,确保环境变量生效。如果仍报错,可将 opencv_world480.dll 手动复制到可执行文件所在目录(build\Debug 或项目根目录)进行临时调试。

Python + PyCharm 环境配置

本节演示如何在 PyCharm 中搭建 Python + OpenCV 环境,流程与 VSCode 类似,但由 PyCharm 自带的 GUI 操作来完成虚拟环境创建与包管理。

4.1 安装 PyCharm

  1. 下载
    • 访问 PyCharm 官网,下载社区版(Community)即可,若有教育/工作需要商用高级功能,可选择 Professional 版。
  2. 安装
    • 双击下载得到的 pycharm-community-2025.x.exe,一路下一步即可。
    • 建议安装时勾选 “Create Desktop Entry” 以及 “Update PATH variable”,方便后续从命令行启动。
  3. 首次启动
    • 运行 PyCharm,选择 “Skip Remaining and Set Defaults” 跳过主题、插件等预设,也可以按需自定义。

4.2 创建 Python 项目并选择解释器

  1. 启动 PyCharm
    • 在欢迎界面中点击 “New Project”
  2. 配置项目
    • Location:选择一个项目路径,例如 C:\Users\你的用户名\Projects\OpenCV_PyCharm_Python
    • Python Interpreter(关键):
      • PyCharm 默认会使用系统默认 Python,也会让你创建一个新的虚拟环境。
      • 选择 “New environment using Virtualenv”,如果你想让 PyCharm 自动创建并管理虚拟环境。
    • 点击 “Create”。
  3. 项目结构

PyCharm 创建后,会在项目根目录下生成:

OpenCV_PyCharm_Python ├── .idea └── main.py # 默认文件,可重命名或删除 

或者,你也可以选择 “Existing interpreter”,并指向之前手动创建的 venv

C:\Users\你的用户名\Projects\OpenCV_PyCharm_Python\venv\Scripts\python.exe 

4.3 在 PyCharm 中安装 OpenCV(Python 版)

  1. 打开 Settings(设置)
    • 依次点击菜单栏:File → Settings…(Windows)或 PyCharm → Preferences…(macOS)。
  2. Project Interpreter 管理
    • 在设置框中,左侧选择 Project: OpenCV_PyCharm_Python → Python Interpreter
    • 如果已经有正确的虚拟环境或系统 Python 被选中,在右侧会列出当前已安装的包列表(可能为空)。
    • 点击右侧列表上方的 “+” 按钮,打开 “Available Packages” 搜索框。
  3. 搜索并安装 opencv-python
    • 在搜索框中输入 opencv-python,选中后点击 “Install Package” 按钮。
    • 等待安装成功,期间会自动处理依赖。
  4. 验证安装
    • 安装完成后,点击 “OK” 或 “Apply” 关闭设置。
    • 在项目根目录放置一张 test.jpg,然后右键 opencv_test.py → “Run ‘opencv_test’”。
    • 运行后,若终端输出 OpenCV 版本号并弹窗显示图片,说明 Python + OpenCV 在 PyCharm 中配置成功。

在项目的 src 目录(若无可新建一个 src 文件夹),右键新建 Python 文件 opencv_test.py,输入:

import cv2 print("OpenCV 版本:", cv2.__version__)# 测试读取并显示 img = cv2.imread('test.jpg')if img isNone:print("无法读取 test.jpg,请确认文件存在于项目根目录或指定路径")else: cv2.imshow("Show", img) cv2.waitKey(0) cv2.destroyAllWindows()

4.4 编写并运行 Python 示例脚本

  1. 项目结构
    • 运行方式:在 PyCharm 左侧项目文件树,右键 opencv_test.pyRun ‘opencv_test’
    • 观察控制台打印尺寸信息,窗口会弹出原图与灰度图。

示例代码详解src/opencv_test.py

import cv2 import sys defmain():# 读取本项目根目录下的 test.jpg img = cv2.imread('test.jpg')if img isNone:print('Error: 无法读取 test.jpg') sys.exit(1)# 获取图像尺寸(高度、宽度、通道数) height, width, channels = img.shape print(f'图像尺寸:{width}x{height},通道数:{channels}')# 转换为灰度图 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 画一个矩形框,示范如何使用绘制函数 top_left =(int(width *0.2),int(height *0.2)) bottom_right =(int(width *0.8),int(height *0.8)) cv2.rectangle(img, top_left, bottom_right,(0,255,0),2)# 显示原图与灰度图 cv2.imshow("原图 + 矩形框", img) cv2.imshow("灰度图", gray)print("按任意键关闭窗口...") cv2.waitKey(0) cv2.destroyAllWindows()if __name__ =="__main__": main()

建议将示例脚本都放在 srcscripts 文件夹下,并把测试图像放到项目根目录,结构示例:

OpenCV_PyCharm_Python ├── .idea ├── src │ └── opencv_test.py └── test.jpg 
至此,Python + PyCharm + OpenCV 环境配置完成!

C++ + PyCharm 环境配置

PyCharm 对 C/C++ 的支持与 VSCode/CLion 之间有所差异。PyCharm Community 版本本身并不包含原生 C++ 项目模板或强力的 CMake GUI 集成。如果你使用 Professional 版本,也只能得到有限的 CMake 支持。所以,本节将演示一种“在 PyCharm 中使用 CMake + 外部工具 / 终端”来编写、编译、运行 C++ + OpenCV 的方法。

5.1 PyCharm 对 C++ 支持说明

  1. PyCharm Community vs Professional
    • Community 版:只针对 Python 开发,有基本的文本编辑功能。可以用作编写 C++ 代码的文本编辑器,但没有内置 CMake 项目模板或调试器。
    • Professional 版:具备一定的 CMake 支持(如识别 CMakeLists.txt 并提供语法高亮),但是并不如 CLion 那般完善。
  2. 推荐方案
    • 对于初学者,若重点还是想在一个 IDE 中同时管理 Python 和 C++,可使用 PyCharm Professional,并利用其对 CMake 的基础识别。
    • 如果你只有 Community 版,依然可以在项目中编写 C++ 源码和 CMakeLists.txt,但必须依靠 PyCharm 终端或外部构建工具来完成编译与调试。
  3. 插件
    • PyCharm 有第三方插件(如 C/C++),但大多数需要专业版才能生效。此处暂不使用插件,而采用最通用的方式:在 PyCharm 中打开 CMake 项目,配合终端完成编译、运行、调试。

5.2 利用 CMake 构建 C++ 项目并使用终端/外部工具

假设你已经安装了 Visual Studio Build Tools、CMake、并且系统环境变量中包含了 OpenCV 的路径(参见第 3 章的内容)。下面以一个名为 OpenCV_PyCharm_CPP 的项目演示如何在 PyCharm 中操作。

  1. 创建项目
    • 打开 PyCharm(Professional 推荐),点击 “Open”,选择你在 VSCode 项目中已经创建好的 C:\Users\你的用户名\Projects\OpenCV_VSCode_CPP 文件夹(或者新建一个独立同样结构的项目)。
    • PyCharm 会自动识别到一个 CMakeLists.txt 文件,并在右上角显示 “Load CMake Project” 或 “CMake: [未配置]”。
  2. 配置 CMake Profiles(仅 Professional 可见)
    • 点击右上角的 CMake 符号,进入 “CMake Profiles” 设置。
    • 新建一个 Profile,命名为 Debug,并指定:
      • CMake executable:系统中可执行的 cmake 路径(通常在环境变量中已经可用,写 cmake 即可)。
      • Generator:选择 NMake Makefiles(与 VSCode 配置保持一致)。
      • CMake Options:如果需要传入 -DCMAKE_BUILD_TYPE=Debug,可以在此处添加。
    • 保存后,PyCharm 会自动使用该 Profile 运行 CMake,生成构建文件。(这一过程可能需要几秒钟)
  3. 查看生成结果
    • CMake 生成的项目文件会位于项目根目录下或 cmake-build-debug(由 PyCharm 默认创建的构建目录)。你会在该目录下看到 .ninja.ninja_deps.ninja_log 或者 MakefileCMakeCache.txt 等文件。
  4. 编译项目
    • Professional 版
      • 在右上角可以看到一个绿色小锤子图标(Build)。点击它,即可执行 CMake 构建。
      • 或者在菜单 Build → Build Project
    • Community 版
      • 上述命令会在 build\ 下生成 OpenCV_VSCode_CPP.exe
  5. 运行与调试
    • Professional 版
      • 在 CMake 构建完成后,PyCharm 会自动发现可执行文件(.exe)并在 “Run” 配置中列出。
      • 点击项目右上方的运行配置下拉框,选择 OpenCV_VSCode_CPP.exe,然后点击绿色 ▶,即可运行。
      • 若要调试,点击 “Debug” 小虫子图标,PyCharm 会以 Debug 模式启动。
    • Community 版
  6. 示例验证
    • 运行后,你应当会如同在 VSCode 中一样,看到弹出的图像窗口:彩色原图与灰度图,并在控制台输出 “按任意键退出…”。
    • 确认无错误,即表示 C++ + OpenCV 已在 PyCharm 环境下调通(以 Professional 版为例)。

由于 Community 版不支持 C++ 调试器,你可以在 Terminal 中手动执行:

cd C:\Users\你的用户名\Projects\OpenCV_VSCode_CPP\build OpenCV_VSCode_CPP.exe 

若要调试,只能在使用 Visual Studio Developer Command Prompt 下调用 Debug 版本,或使用其他外部调试器(如 WinDbg),这里不做详细介绍。

PyCharm Community 版无法直接调用 CMake 构建。此时,你需要在 PyCharm 内置 Terminal(终端)中手动执行 CMake 命令:

cd C:\Users\你的用户名\Projects\OpenCV_VSCode_CPP mkdir build cd build cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug .. nmake 

如果成功,说明 CMake 已检测了你的 OpenCV 环境。你可以在 “Event Log” 中看到类似:

-- OpenCV include dirs: C:/opencv/opencv-4.8.0/build/include -- OpenCV libraries: opencv_world480 

5.3 在 PyCharm 中运行与调试 C++ 示例

PyCharm 版本操作方式
Professional1. 点击右上角 Run/Debug 配置,选择 OpenCV_VSCode_CPP.exe
2. 点击 ▶ 执行,或点击 🐞 进行调试。
Community1. 在左侧项目窗口,右键点击项目根目录 → “Open in Terminal”。
2. 在终端输入:
cd build
OpenCV_VSCode_CPP.exe
若需调试,仅能外部工具)
小贴士:如果你 Community 版想借助 GUI 形式编译与调试 C++,请使用 CLion 或 VSCode。PyCharm Community 更适合作为文本编辑器与 Python IDE。PyCharm Professional 可将 CMake 构建过程无缝纳入 IDE,但若需调试核心断点,确保 launch.json / Debug 配置正确指向生成的可执行文件。

常见问题与解决方案

  1. 报错 “import cv2: No module named cv2”
    • 原因:Python 环境中没有安装 OpenCV-Python,或 VSCode/PyCharm 中选择的解释器并非预期的虚拟环境。
    • 解决
      1. 确认当前终端是否激活虚拟环境 ((venv) 前缀)。
      2. 在激活后执行 pip install opencv-python
      3. 在 VSCode 中,点击右下角 Python 版本号,确保选择的解释器路径指向虚拟环境。
      4. 在 PyCharm Settings→Project Interpreter 中确认已安装 opencv-python
  2. C++ 编译报错 “cannot open source file ‘opencv2/opencv.hpp’”
    • 原因includePath 中没有正确包含 OpenCV include 目录,或者 find_package(OpenCV) 失败。
    • 解决
      1. 检查系统环境变量 OPENCV_DIR 是否正确指向 ...\opencv\build\x64\vc15
      2. 在 CMakeLists.txt 中打印 ${OpenCV_INCLUDE_DIRS},确认 CMake 找到的路径正确。
      3. 如果手动 cl 编译,在 tasks.json 或命令行也要加上 /I "C:/opencv/opencv-4.8.0/build/include"
  3. 运行时报错找不到 opencv_worldXXX.dll
    • 原因:系统 PATH 中没有包含 OpenCV 的 bin 目录,或者尚未重启终端/IDE。
    • 解决
      1. 确认系统环境变量 Path 中已加入 C:\opencv\opencv-4.8.0\build\x64\vc15\bin
      2. 重启 VSCode、PyCharm 或者操作系统,然后重新运行。
      3. 如果问题依旧,可手动复制 opencv_world480.dll 到可执行文件算法目录(仅作临时测试)。
  4. PyCharm CMake 加载失败 / 无法检测编译器
    • 原因:PyCharm Professional 未正确识别系统中的 CMake 或 MSVC。
    • 解决
      1. 在命令行中执行 cmake --versioncl,确认这两个命令可用。
      2. 在 PyCharm Settings → Build, Execution, Deployment → CMake 中,手动指定 CMake 可执行文件完整路径。
      3. 在 “CMake Profiles” 中,检查 “Generator” 是否与实际安装的工具链匹配(例如 MSVC 对应 “Visual Studio 17 2022” 或 “NMake Makefiles”)。
  5. VSCode Python 调试无法弹窗显示 cv2.imshow
    • 原因:部分远程/WSL 环境不支持 GUI 弹窗,或者 Python 解释器选择不正确。
    • 解决
      1. 确认使用的是本地 Windows 环境,而非 WSL/Remote SSH。
      2. 检查 Python 解释器是否为正确的虚拟环境。
      3. 在 VSCode 的 launch.json 中,console 字段改为 "externalTerminal", 确保弹窗可见。
  6. 编译速度很慢 / 内存消耗大
    • 原因:CMake 默认会同时生成 Debug/Release 多种版本,或者没有用到增量编译。
    • 解决
      1. 如果使用 VSCode CMake Tools,切换到单一构建配置(右下角切换 “Debug” 或 “Release”)。
      2. 确保不要在同一个目录里反复 rm -rf build/* 再完整重建,而是只在必要时清理。

在 CMakeLists.txt 中指定:

set(CMAKE_BUILD_TYPE Release) 

附录

7.1 Windows 环境变量简要说明

  • 系统变量 vs 用户变量
    • “系统变量”对所有用户生效;“用户变量”仅对当前 Windows 登录用户生效。
    • 建议将 OPENCV_DIRPath 中添加 OpenCV 路径放入 系统变量,以保证 VSCode/其他工具都能识别。

常用变量

变量名建议值作用
OPENCV_DIRC:\opencv\opencv-4.8.0\build\x64\vc15给 CMake find_package(OpenCV) 提供路径
PathC:\opencv\opencv-4.8.0\build\x64\vc15\bin让系统能找到 opencv_world480.dll 及其他 .dll
CMAKE_PREFIX_PATH(可选)C:\opencv\opencv-4.8.0\build让某些 CMake 工具链搜索 OpenCV 时更快捷

7.2 CMakeLists.txt 详细示例

如果你想更深入地了解 CMakeLists.txt,下面给出一个更“健壮”的示例,支持 Debug/Release 双配置,并自动设置安装路径:

cmake_minimum_required(VERSION 3.10) project(OpenCV_VSCode_CPP) # 设置 C++ 标准 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 防止 Reconfig 时覆盖旧的 Release/Debug 结果 if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) endif() # 查找 OpenCV find_package(OpenCV REQUIRED) # 打印信息 message(STATUS "==== OpenCV 信息 ====") message(STATUS "OpenCV 版本: ${OpenCV_VERSION}") message(STATUS "OpenCV 包路径: ${OpenCV_DIR}") message(STATUS "OpenCV 头文件目录: ${OpenCV_INCLUDE_DIRS}") message(STATUS "OpenCV 库文件: ${OpenCV_LIBS}") message(STATUS "====================") # 指定可执行文件输出目录 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) # 指定库文件输出目录 set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) # 包含子目录(如果你有其他子模块可以分开管理) # add_subdirectory(src) # 添加主程序 add_executable(${PROJECT_NAME} src/main.cpp) # 链接 OpenCV target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCV_LIBS}) # 若需安装 install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) 
解释CMAKE_BUILD_TYPE 通过缓存变量管理了 Debug/Release,可在 CMake GUI 或命令行中指定 -DCMAKE_BUILD_TYPE=Debug,否则默认 Release。将可执行文件输出到 build/bin,使项目结构更清晰。install(...) 方便以后打包安装。

7.3 快速回顾

  • Python + VSCode
    1. 安装 Python 并创建虚拟环境;
    2. 安装 VSCode Python 扩展;
    3. pip install opencv-python opencv-contrib-python
    4. 编写 opencv_test.py,执行并验证 cv2.imshow 弹窗。
  • C++ + VSCode
    1. 安装 Visual Studio Build Tools(MSVC)+ CMake;
    2. 下载并解压 OpenCV Windows 预编译包,配置环境变量 OPENCV_DIRPath
    3. 安装 VSCode C/C++、CMake Tools 扩展;
    4. 创建含 CMakeLists.txtsrc/main.cpp 的项目;
    5. 在 VSCode 中执行 “CMake: Configure” → “CMake: Build”;
    6. 调试(F5)或运行可执行文件,观察图像输出。
  • Python + PyCharm
    1. 安装 PyCharm,新建项目并选择虚拟环境;
    2. 在 Project Interpreter 中安装 opencv-python
    3. 编写并运行 opencv_test.py,检查图像显示。
  • C++ + PyCharm
    1. PyCharm Professional:直接加载 CMake 项目,点击 Build & Run;
    2. PyCharm Community:在内置终端中手动执行 CMake + nmake;
    3. 使用外部终端或调试器查看运行结果。
至此,你已经掌握了在 VSCode 与 PyCharm 两大 IDE 下,如何同时配置并运行 OpenCV 的 Python 与 C++ 环境。祝你学习顺利,愉快地开始你的计算机视觉之旅!

Read more

【金仓数据库】ksql 指南(五) —— 创建与管理索引和视图(KingbaseES 查询优化核心)

【金仓数据库】ksql 指南(五) —— 创建与管理索引和视图(KingbaseES 查询优化核心)

引言 掌握表的基本运作之后,若想优化查询效率并简化数据访问,就要去学习“索引”和“视图”的运用,索引类似于“书籍目录”,可以极大地加快查询速度;视图类似“数据窗口”,能够隐藏复杂的查询逻辑,还能控制数据的可见性。本文就“ksql命令行操作索引与视图”展开论述,把从“作用到创建,再到查看,维持直至删除”的全过程拆解成实际操作步骤,并结合例子和避坑提示,以使初学者能够领悟并付诸实行。 文章目录 * 引言 * 一、前置准备:确认操作基础(衔接前文,确保连贯) * 1.1 1. 连接数据库并切换目标模式 * 1.2 2. 插入测试数据(用于验证索引 / 视图效果) * 二、索引管理:给表 “加目录”,加速查询 * 2.1 1.

By Ne0inhk
从 Express 到企业级架构:NestJS 实战指南与深度解析

从 Express 到企业级架构:NestJS 实战指南与深度解析

在 Node.js 的后端开发生态中,Express 长期以来以其极简主义占据统治地位。然而,随着项目规模的扩大,缺乏约束的“自由”往往会导致代码结构混乱,也就是我们常说的“意大利面条式代码”。 为了解决这个问题,NestJS 应运而生。NestJS 是一个用于构建高效、可扩展且易于维护的企业级后端应用的框架。它基于 TypeScript 构建,深受 Angular 架构的影响,引入了模块化、依赖注入(DI)和装饰器等先进概念。 本文将结合一个包含待办事项(Todos)管理和 PostgreSQL 数据库连接的实战 Demo,带你深入理解 NestJS 的核心架构。 一、 为什么选择 NestJS? 在开始写代码之前,我们需要理解 NestJS 试图解决什么问题。 1. 架构标准化:Express 让你自己决定文件放哪,而

By Ne0inhk
Go语言零基础小白学习知识点【基础版详解】

Go语言零基础小白学习知识点【基础版详解】

✅ 纯白话拆解+代码示例+实战场景,零基础能直接照着敲 ✅ 技术适配:基于Go 1.23(LTS长期支持版,企业主流),聚焦高并发、云原生核心场景 ✅ 条理清晰:从“环境搭建→基础语法→核心特性→实战入门”层层拆解,每个知识点落地到代码 ✅ 核心目标:小白不仅“懂概念”,更能“写得出、跑得起”,掌握Go语言入门核心能力 一、前置准备:先搞定环境和核心认知 1. Go语言是什么? Go(又称Golang)是谷歌2009年推出的编程语言,2026年已是云原生、高并发后端的首选语言——简单说: * 快:运行速度接近C/C++,编译速度秒杀Java; * 简单:语法比Java/Python更简洁,零基础3天能写业务代码; * 强:天生支持高并发,写直播、聊天、

By Ne0inhk
告别重复数据烦恼!MySQL ON DUPLICATE KEY UPDATE 优雅解决存在更新/不存在插入难题

告别重复数据烦恼!MySQL ON DUPLICATE KEY UPDATE 优雅解决存在更新/不存在插入难题

目录 * 前言 * 一、基本概念 * 1、什么是 ON DUPLICATE KEY UPDATE? * 2、工作原理 * 3、基本语法 * 二、使用场景 * 1、计数器更新 * 2、配置项更新 * 3、购物车商品更新 * 三、高级用法 * 1、条件更新 * 2、多表关联 * 3、批量操作优化 * 四、其他处理冲突的方案 * 1、REPLACE INTO * 2、INSERT IGNORE 前言 在日常的数据库操作中,我们经常会遇到这样的场景:“如果数据存在,就更新它;如果不存在,就插入一条新的”。这种模式通常被称为 “Upsert”(Update + Insert)。在

By Ne0inhk