点赞 + 关注 + 收藏 = 学会了

推荐  《OpenCV-Python专栏》

使用 OpenCV 做目标检查时,我们可以通过 OpenCV 提供的图形绘制功能,将监测到的目标框起来,方便我们调试。这些功能在数据可视化、图像标注等场景中非常实用。

OpenCV 支持绘制以下图形:

  • 线段
  • 矩形
  • 圆形
  • 椭圆
  • 多边形
  • 填充多边形
  • 带箭头的线

用法都很简单,动手试试~

绘制线段

绘制线段的方法叫 cv2.line()

可传以下参数

cv2.line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
  • 1.
  • img: 要绘制直线的目标图像。
  • pt1: 起点坐标。
  • pt2: 终点坐标。
  • color: 线条颜色((B, G, R) 格式)。
  • thickness: 线条宽度(默认 1,负值无效)。
  • lineType: 线条类型(cv2.LINE_8 默认)。
    • cv2.LINE_8(默认值):8-connected 线条(像素完全连接)。
    • cv2.LINE_4:4-connected 线条(像素部分连接)。
    • cv2.LINE_AA:抗锯齿线条(平滑效果更好)。
  • shift: 坐标的小数点精度(用于处理亚像素坐标)。默认为 0,表示整数坐标。

『OpenCV-Python』绘制图形_python

import cv2
import numpy as np

# 创建空白图像
img = np.zeros((400, 400, 3), dtype=np.uint8)

# 绘制不同类型的线条
cv2.line(img, (50, 50), (200, 50), (255, 255, 255), 1)            # 白色线条,默认类型
cv2.line(img, (50, 100), (200, 100), (0, 255, 0), 30)          # 绿色线条,粗细为 30
cv2.line(img, (50, 150), (200, 150), (0, 0, 255), 30, cv2.LINE_AA)  # 红色抗锯齿线条

# 展示图片
cv2.imshow("Img", img)

cv2.waitKey(0)
cv2.destroyAllWindows()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

绘制矩形

绘制矩形的方法是 cv2.rectangle()

可传以下参数

cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
  • 1.
  • img: 要绘制矩形的目标图像。
  • pt1: 矩形的左上角顶点。
  • pt2: 矩形的右下角顶点。
  • color: 矩形边框或填充的颜色。
  • thickness: 矩形边框的宽度(像素)。值为负数时填充矩形。
  • lineType: 矩形边框类型(cv2.LINE_8 默认)。
    • cv2.LINE_8(默认值):8-connected 线条(像素完全连接)。
    • cv2.LINE_4:4-connected 线条(像素部分连接)。
    • cv2.LINE_AA:抗锯齿线条(平滑效果更好)。
  • shift: 坐标的小数点精度(用于处理亚像素坐标)。默认为 0,表示整数坐标。

『OpenCV-Python』绘制图形_显示图像_02

import cv2
import numpy as np

# 创建空白图像
img = np.zeros((400, 400, 3), dtype=np.uint8)

# 绘制不同类型的矩形
cv2.rectangle(img, (50