admin 管理员组

文章数量: 1086019


2024年4月16日发(作者:常量微量元素口诀)

c+ opencv line用法

在使用C++和OpenCV实现画线的功能时,可以使用OpenCV的

`line`函数来绘制直线。

`line`函数的用法如下:

```cpp

void cv::line(InputOutputArray img, Point pt1, Point pt2,

const Scalar &color, int thickness = 1, int lineType = LINE_8,

int shift = 0)

```

其中,参数解释如下:

- `img`:要绘制线段的图像。

- `pt1`:线段的起点。

- `pt2`:线段的终点。

- `color`:线段的颜色。可以是`Scalar`类型的颜色值,如

`Scalar(255, 0, 0)`代表蓝色。

- `thickness`(可选):线段的宽度,默认为1。

- `lineType`(可选):线段的类型,默认为8-connected线段。

- `shift`(可选):坐标点的小数位数,一般为0。

下面是一个简单的例子,使用`line`函数在图像上绘制一条红色

直线:

```cpp

#include

using namespace cv;

int main()

{

//创建一个800x600大小的空白图像

Mat image(600, 800, CV_8UC3, Scalar(0, 0, 0));

//定义起点和终点坐标

Point pt1(100, 100);

Point pt2(700, 500);

//绘制红色直线,线宽为3

line(image, pt1, pt2, Scalar(0, 0, 255), 3);

//显示图像

imshow("Line Example", image);

waitKey(0);

return 0;

}

```

上述例子中,我们首先创建了一个800x600大小的空白图像,然

后定义了起点和终点坐标,最后调用`line`函数绘制了一条红色直线,

线宽为3。最后,我们使用`imshow`函数来显示图像。

拓展:

`line`函数还可以用于绘制带有箭头的直线,只需设置

`lineType`参数为`CV_AA`,并将`line`函数的最后一个参数`shift`

设置为`1`。例如:

```cpp

line(image, pt1, pt2, Scalar(0, 0, 255), 3, CV_AA, 1);

```

这样就可以画出带箭头的直线了。

此外,`line`函数还可以用于绘制多条直线,只需通过循环遍历

多组起点和终点坐标,并反复调用`line`函数即可。


本文标签: 绘制 函数 直线