如何在OpenCV Python中绘制带箭头的线条?

如何在OpenCV Python中绘制带箭头的线条?

OpenCV提供了函数 cv2.arrowedLine() 用于在图像上绘制带箭头的线条。该函数带有不同参数以绘制线条,请参阅以下语法。

cv2.arrowedLine(img, start, end, color, thickness, line_type, shift, tip_length)
  • img - 需要绘制线条的输入图像。

  • Start - 线条的起始坐标,格式为(width, height)。

  • End - 线条的结束坐标,格式为(width, height)。

  • Color - 线条的颜色。红色颜色在BGR格式下传递(0, 0, 255)。

  • Thickness - 线条的厚度,以像素为单位。

  • line_type - 线条的类型。

  • shift - 分数位数。

  • tip_length - 箭头长度相对于线条长度的比例。

输出 - 返回绘制了线条的图像。

步骤

按以下步骤在图像上绘制带箭头的线条。

导入所需库。在以下所有Python示例中,所需的Python库为 OpenCV 。请确保您已经安装了它。

import cv2

使用 cv2.imread() 读取输入图像。

image = cv2.imread('cabinet.jpg')

使用 cv2.arrowedLine() 传递所需的参数在图像上绘制箭头线。

cv2.arrowedLine(image, (50, 100), (300, 450), (0,0,255), 3, 5, 0, 0.1)

显示具有绘制了箭头线的图像。

cv2.imshow("ArrowedLine",image)
cv2.waitKey(0)
cv2.destroyAllWindows()

让我们看一些示例,以更清楚地了解如何完成它。

例1

在此程序中,我们使用以下行属性在图像上绘制红色线条 –

  • start_point = (50, 100),

  • end_point = (300, 450),

  • color = (0,0,255),

  • thickness = 3,

  • line_type = 5,

  • shift = 0, 和

  • tip_length = 0.1

# import required libraries
import cv2

# read the input image
image=cv2.imread('cabinet.jpg')

# Draw the arrowed line passing the arguments
cv2.arrowedLine(image, (50, 100), (300, 450), (0,0,255), 3, 5, 0, 0.1)

cv2.imshow("ArrowedLine",image)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出

当您运行上面的程序时,它将产生以下输出 –

如何在OpenCV Python中绘制带箭头的线条?

例2

在此程序中,我们绘制了三条不同的线,并附有不同的线属性 –

导入 cv2
image=cv2.imread('cabinet.jpg')

cv2.arrowedLine(image, (50, 50), (200, 150), (0,0,255), 3, 7, 0, 0.2)
cv2.arrowedLine(image, (300, 120), (50, 320), (0,255,255), 3, 7, 0, 0.2)
cv2.arrowedLine(image, (50, 200), (500, 400), (255,0,255), 3, 7, 0, 0.05)

cv2.imshow("ArrowedLines",image)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出

执行该程序将会在窗口中输出如下内容 −

如何在OpenCV Python中绘制带箭头的线条?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python OpenCV