从零开始,为你的战车装上“智慧之眼”
语法清晰,让你专注于算法逻辑,而非复杂的语法细节。
拥有OpenCV等海量“库”,别人写好的强大功能,你直接用。
开发效率极高,非常适合电赛时间紧、任务重的特点。
角色:中央操作台。 你在这里编写和修改代码,它提供智能提示、自动补全等功能,让你写代码更轻松。
角色:独立功能操作间。 它为你创建干净、隔离的“操作间”(虚拟环境),并管理所有“工具”(库),确保项目之间不打架。
角色:操作员。 它是真正能读懂你代码(操作指令)并执行它、产出结果的“人”。Anaconda负责管理到哪个“操作间”来执行。
你不需要每次都从零制造轮子,别人已经把各种功能的“积木”(比如图像读取、颜色转换)做好了,这些积木的集合就是**库 (Library)**。我们写代码,就是把这些积木搭起来,实现自己的目标。
OpenCV 就是一套非常强大的、专门用于计算机视觉的“乐高积木”。
打开 **Anaconda Prompt** (从开始菜单找到它),然后输入并执行以下命令:
# 导入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 颜色通道)。操作图片,就是操作这个数组。
相比红绿蓝(BGR),HSV(色相, 饱和度, 明度) 更适合用于识别特定颜色,因为它对光照变化不敏感。
通过设定阈值,将复杂的彩色图变成简单的黑白图,这是让计算机“聚焦”目标的常用方法。
在黑白图上,可以轻松找到物体的边界(轮廓),从而获取它的位置、大小和形状。