OpenCV绘图函数

17 Mar 2025 | 4 分钟阅读

我们可以在图像上绘制各种形状,例如圆,矩形,椭圆,折线,凸多边形等。当我们想要突出显示输入图像中的任何对象时,可以使用它。 OpenCV 为每个形状提供了函数。 在这里我们将学习绘图函数。

绘制圆

我们可以使用 cv2.circle() 函数在图像上绘制圆。 语法如下

参数

  • img- 它代表给定的图像。
  • center- 圆的中心
  • radius- 圆的半径
  • color- 圆的颜色
  • thickness- 它表示圆轮廓的粗细,如果为正数。 负粗细表示要绘制一个填充圆。
  • lineType- 定义圆边界的类型。
  • shift- 它表示中心坐标和半径值中的小数位数。

请看以下示例

输出

OpenCV Drawing Functions

绘制矩形

OpenCV 提供了一个函数来绘制简单,粗或填充的直立矩形。 语法如下

参数

  • img- 它表示图像。
  • pt1- 它表示矩形的顶点
  • pt2- 它表示与 pt1 相对的矩形的顶点。
  • color- 它表示矩形的亮度颜色(灰度图像)。
  • thickness- 它表示组成矩形的线条的粗细。 负值(CV_FILLED)表示该函数必须绘制一个填充矩形。
  • linetype- 它表示线条的类型。
  • shift- 它表示点坐标中的小数位数。

请看以下示例

输出

OpenCV Drawing Functions

绘制椭圆

我们可以使用 cv2.ellipse() 函数在图像上绘制椭圆。 它可以绘制简单或粗的椭圆弧,也可以填充椭圆扇形。

参数

  • img - 它表示图像。
  • box - 它表示通过 RotatedRect 或 CvBox2D 的备用椭圆表示形式。 这意味着该函数用于在弯曲的矩形中绘制椭圆。
  • color - 它表示椭圆的颜色。
  • angle- 它表示旋转角度。
  • startAngle - 它表示椭圆弧的起始角度(以度为单位)。
  • endAngle - 它表示椭圆弧的结束角度(以度为单位)。
  • thickness - 如果值为正,则用于绘制椭圆弧轮廓的粗细。 否则,这指定要绘制填充的椭圆。
  • lineType - 它表示椭圆边界的类型。
  • shift - 它表示中心坐标和轴值中的小数位数。

请看以下示例

输出

OpenCV Drawing Functions

有两个函数可以绘制椭圆。 第一个函数用于绘制整个椭圆,而不是绕过 startAngle=0endAngle = 360 的弧。 椭圆的第二个函数用于绘制椭圆轮廓,填充椭圆,椭圆弧或填充椭圆扇形。

绘制线条

OpenCV 提供了 line() 函数以在图像上绘制线条。 它在图像中的 ptr1 和 ptr2 点之间绘制一条线段。 图像边界会裁剪该线。

参数

  • img- 它表示图像。
  • pt1- 它表示线段的第一个点。
  • pt2- 它表示线段的第二个点。
  • color - 代表线条颜色
  • thickness- 代表线条粗细
  • lineType- 线条有多种类型
    • 8(或省略)- 8 条连接线。
    • 4 - 4 条连接线。
    • CV__AA- 抗锯齿线
  • shift- 它表示点坐标中的小数位数。

请看以下示例

输出

OpenCV Drawing Functions

在图像上书写文字

我们可以使用 putText() 函数在图像上书写文字。 语法如下所示。

参数

  • img: 它表示图像
  • text: 它表示我们要写在图像上的文字。
  • org: 它表示图像中文本字符串的左下角。
  • font: CvFont 结构使用 InitFont() 进行初始化。
  • color: 代表文字颜色。

请看以下示例。

输出

OpenCV Drawing Functions

绘制折线

我们可以在图像上绘制折线。 OpenCV 提供了 polylines() 函数,该函数用于在图像上绘制多边形曲线。 语法如下所示

参数

  • img - 它表示图像。
  • pts - 它表示多边形曲线的数组。
  • npts - 它表示多边形顶点计数器的数组。
  • ncounters - 它表示曲线的数量。
  • is_Closed - 它是一个标志,指示绘制的折线是否闭合。
  • color - 折线的颜色。
  • thickness - 它表示折线边缘的粗细。
  • lineType - 线段的类型。
  • shift- 它表示点坐标中的小数位数。

考虑以下程序以在图像中绘制折线

输出

OpenCV Drawing Functions
下一个主题OpenCV Blob 检测