admin 管理员组

文章数量: 1087139


2024年4月16日发(作者:大一python编程题库和答案)

opencv drawline函数的用法

OpenCV中的`drawLine()`函数用于在图像上绘制一条直线。

函数声明如下:

```cpp

void cv::line(

InputOutputArray img, //输入图像,可以是灰度图像或彩色图

Point pt1, //直线的起始点

Point pt2, //直线的终止点

const Scalar& color, //直线的颜色,可以是BGR格式或灰度值

int thickness = 1, //直线的粗细,默认为1

int lineType = LINE_8, //直线的类型,默认为8-connected

int shift = 0 //坐标点的小数位数,默认为0

);

```

参数说明:

- `img`:输入图像。可以是灰度图像(单通道)或彩色图像(3

通道)。

- `pt1`:直线的起始点,使用`Point`类表示,可以通过坐标`(x,

y)`来初始化。

- `pt2`:直线的终止点,同样使用`Point`类表示。

- `color`:直线的颜色。可以是BGR格式的值,例如

`Scalar(255, 0, 0)`表示蓝色直线;也可以是灰度值,例如

`Scalar(255)`表示白色直线。

- `thickness`:直线的粗细,默认为1。

- `lineType`:直线的类型,默认为8-connected。可以选择

`LINE_4`(4-connected)或`LINE_8`(8-connected)。

- `shift`:坐标点的小数位数,默认为0。

例子:

```cpp

cv::Mat image(400, 600, CV_8UC3, cv::Scalar(0, 0, 0));

//创建一张黑色图像

cv::Point pt1(100, 100); //直线的起始点

cv::Point pt2(500, 300); //直线的终止点

cv::Scalar color(0, 0, 255); //直线的颜色为红色

cv::line(image, pt1, pt2, color, 2, cv::LINE_AA); //在图

像上绘制直线

cv::imshow("Image", image);

cv::waitKey(0);

cv::destroyAllWindows();

```

上述例子中,我们创建了一张宽度为600,高度为400,通道数为

3的黑色图像。然后,我们指定了直线的起始点为(100, 100),终止点

为(500, 300),颜色为红色。最后,在图像上绘制了这条直线,并显

示图像。

除了`drawLine()`函数,OpenCV还提供了其他绘制几何图形的函

数,如绘制矩形、椭圆、圆等。这些函数可以方便地用于图像处理、

计算机视觉等应用中。


本文标签: 直线 图像 绘制 灰度 函数