1. 项目概述:OpenCV图形绘制实战
在计算机视觉和图像处理领域,OpenCV作为行业标准库,其绘图功能是构建可视化分析工具的基础能力。不同于简单的画图软件,OpenCV的绘图API可以直接在内存中的图像矩阵上操作,这种特性使其能够无缝集成到自动化处理流程中。本次实战将系统讲解如何创建画布、绘制静态图形(如线条、几何形状),并进阶到动态图形生成(如实时轨迹绘制、动画效果),最后通过一个综合案例演示这些技术在工业检测、交互系统等场景的实际应用。
提示:本文所有代码示例基于OpenCV 4.x+Python 3.x环境,不同版本API可能存在差异
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心功能实现
2.1 画布创建与基础配置
OpenCV中画布本质上是NumPy数组,创建空白画布的核心代码如下:
python复制import cv2
import numpy as np
# 创建白色背景画布(BGR格式)
canvas = np.ones((600, 800, 3), dtype=np.uint8) * 255
# 创建黑色背景画布
black_canvas = np.zeros((480, 640, 3), dtype=np.uint8)
# 带颜色的画布
blue_canvas = np.zeros((300, 400, 3), dtype=np.uint8)
blue_canvas[:,:] = (255, 0, 0) # BGR格式
关键参数解析:
- 形状参数(height, width, channels):高度必须在前,与常规图像尺寸表示相反
- dtype必须指定为np.uint8(0-255范围)
- 颜色值遵循BGR顺序而非常见的RGB
2.2 静态图形绘制技术
2.2.1 基本几何图形
python复制# 绘制直线(图像,起点,终点,颜色,线宽)
cv2.line(canvas, (50,50), (200,200), (0,0,255), 2)
# 绘制矩形(图像,左上角,右下角,颜色,线宽)
cv2.rectangle(canvas, (300,100), (500,300), (0,255,0), -1) # -1表示填充
# 绘制圆形(图像,圆心,半径,颜色,线宽)
cv2.c
