电赛视觉保姆级入门指南

从零开始,为你的战车装上“智慧之眼”

第一站:为什么选择Python?

💡

简洁易学

语法清晰,让你专注于算法逻辑,而非复杂的语法细节。

⚙️

强大生态

拥有OpenCV等海量“库”,别人写好的强大功能,你直接用。

🚀

快速开发

开发效率极高,非常适合电赛时间紧、任务重的特点。

核心三剑客:代码是如何运行的?

VS Code (编辑器)

角色:中央操作台。 你在这里编写和修改代码,它提供智能提示、自动补全等功能,让你写代码更轻松。

Anaconda (环境管理器)

角色:独立功能操作间。 它为你创建干净、隔离的“操作间”(虚拟环境),并管理所有“工具”(库),确保项目之间不打架。

Python (解释器)

角色:操作员。 它是真正能读懂你代码(操作指令)并执行它、产出结果的“人”。Anaconda负责管理到哪个“操作间”来执行。

VS Code ➡️ Anaconda ➡️ Python

什么是“库”?如何安装OpenCV?

库 = 程序员的“乐高积木”

你不需要每次都从零制造轮子,别人已经把各种功能的“积木”(比如图像读取、颜色转换)做好了,这些积木的集合就是**库 (Library)**。我们写代码,就是把这些积木搭起来,实现自己的目标。

OpenCV 就是一套非常强大的、专门用于计算机视觉的“乐高积木”。

安装OpenCV (推荐)

打开 **Anaconda Prompt** (从开始菜单找到它),然后输入并执行以下命令:

# 这个命令会从conda-forge渠道安装opencv,它处理依赖关系更好 conda install -c conda-forge opencv

Python 与 OpenCV 基础实战

# 导入OpenCV库,就像从工具箱里拿出“视觉工具”
import cv2

# 1. 变量 (Variables)
# 定义图片文件的名字
image_path = 'test_image.jpg'

# 2. 函数 (Functions)
# 定义一个函数来处理图片
def process_image(file_path):
    # 读取图片文件,这是一个OpenCV的功能
    img = cv2.imread(file_path)
    
    # 3. 控制流 (Control Flow) - if判断
    if img is None:
        print("错误:图片未找到!")
        return

    # 将图片从BGR颜色空间转换到灰度空间
    gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    
    # 显示原始图片和处理后的灰度图
    cv2.imshow('Original Image', img)
    cv2.imshow('Grayscale Image', gray_img)
    
    print("按任意键关闭窗口...")
    cv2.waitKey(0) # 等待键盘输入
    cv2.destroyAllWindows() # 关闭所有窗口

# 调用我们自己写的函数,开始处理图片
process_image(image_path)

计算机视觉核心概念

图像 = 像素矩阵

一张图片就是一个三维数组 (高 x 宽 x 颜色通道)。操作图片,就是操作这个数组。

HSV 色彩空间

相比红绿蓝(BGR),HSV(色相, 饱和度, 明度) 更适合用于识别特定颜色,因为它对光照变化不敏感。

图像二值化

通过设定阈值,将复杂的彩色图变成简单的黑白图,这是让计算机“聚焦”目标的常用方法。

轮廓发现

在黑白图上,可以轻松找到物体的边界(轮廓),从而获取它的位置、大小和形状。