计算机视觉应用构建
图像和视频处理的核心概念
在新画布上画圆形并保存图像
代码
python
# 从 __future__ 模块导入 print_function,使 Python 2 也能使用 Python 3 的 print 函数语法
# 这确保了代码在不同 Python 版本间的兼容性
from __future__ import print_function
# 导入 OpenCV 库,用于图像处理和计算机视觉操作
import cv2
# 导入 NumPy 库,用于创建和操作多维数组
# OpenCV 中的图像本质上就是 NumPy 数组
import numpy as np
# 使用 np.zeros() 函数创建一个新的空白画布(图像)
# 参数 (200, 200, 3) 表示:高度 200 像素、宽度 200 像素、3 个颜色通道(BGR)
# dtype = "uint8" 指定数据类型为无符号 8 位整数(范围 0-255),这是图像像素的标准类型
# 所有像素值初始化为 0,因此画布为纯黑色
canvas = np.zeros((200, 200, 3), dtype="uint8")
# 定义圆心的坐标 (x, y)
# (100, 100) 表示画布的正中心位置
# 因为画布尺寸为 200x200,所以中心点位于宽度和高度的中间
center = (100, 100)
# 定义圆的半径,单位为像素
# 半径为 50 像素,因此圆的直径将是 100 像素
radius = 50
# 设置圆的颜色,使用 BGR(蓝-绿-红)颜色空间
# (0, 0, 255) 表示纯红色(蓝色和绿色分量为0,红色分量为最大值255)
color = (0, 0, 255)
# 设置圆边框的粗细,单位为像素
# 数值越大,边框越粗;如果 thickness = -1,则填充圆内部(实心圆)
thickness = 5
# 使用 cv2.circle() 函数在画布上绘制圆形
# 参数依次为:图像对象、圆心坐标、半径、颜色、边框粗细
# 该函数会在原图像上直接修改(原地操作),不会创建新图像
cv2.circle(canvas, center, radius, color, thickness)
# 使用 cv2.imwrite() 函数将绘制好的圆形图像保存到磁盘
# 第一个参数是保存的文件名 "circle.jpg",第二个参数是要保存的图像数据
# 图像格式会根据文件扩展名自动确定(此处为 JPG 格式)
# 保存成功返回 True,失败返回 False
cv2.imwrite("circle.jpg", canvas)
# 使用 cv2.imshow() 函数在窗口中显示绘制的圆形图像
# 第一个参数是窗口标题 "My Circle",第二个参数是要显示的图像数据
cv2.imshow("My Circle", canvas)
# 使用 cv2.waitKey(0) 等待用户按键操作
# 参数 0 表示无限期等待,直到用户按下任意键为止
# 这是必要的,否则图像窗口会立即关闭而无法显示
cv2.waitKey(0)
结果

这段代码演示了如何使用 OpenCV 和 NumPy 从头创建图像并绘制几何图形:
1.使用 NumPy 创建一个 200x200 的纯黑色画布(3通道 BGR 图像)
2.在画布中心绘制一个半径为 50 像素的红色圆形(边框粗细为 5 像素)
3.将绘制好的圆形图像保存为 "circle.jpg" 文件
4.显示处理后的图像,并等待用户按键后关闭窗口
小结
文章仅供参考,有错处欢迎评论区补充参考,文章作为本人学习回溯使用,不会再多参与,再此共勉。