33.图像绘制多边形

目录

        1 概念讲解及用处

        2 函数详解

        3 原理

        4 用C++编写代码进行实现

        1 概念讲解及用处

        在OpenCV中,绘制多边形可以通过cv::polylines函数来实现。该函数用于在图像上绘制连接多个点的折线段,可以选择线条颜色和线宽。绘制多边形在计算机视觉中被广泛应用,例如图像分割、轮廓检测、形状匹配等领域。

        2 函数详解

void polylines(Mat& img, const Point* pts, const int* npts, int ncontours, bool isClosed, const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0)

参数说明:

img:目标图像,绘制的多边形将在该图像上进行。

pts:一个指向Point类型数组的指针,包含多个点的坐标。

npts:一个整数数组,表示每个多边形的点数。

ncontours:多边形的数量。

isClosed:是否闭合多边形,为真表示闭合,为假表示不闭合。

color:线条颜色,使用cv::Scalar表示。

thickness:线条宽度,默认值为1。

lineType:线条类型,默认为8-connected(LINE_8),也可以选择4-connected(LINE_4)。

shift:坐标点的小数位数精度。

        3 原理

        多边形由连接多个点的线段组成。通过给定的顶点坐标,可以绘制出多边形的形状。

        4 用C++编写代码进行实现

下面是一个使用OpenCV的C++代码示例,用于在图像上绘制一个绿色填充的三角形:

#include <opencv2/opencv.hpp>

using namespace cv;

int main(){

    Mat image(500, 500, CV_8UC3, Scalar(0, 0, 0)); // 创建一个黑色背景图像



    Point pts[3]; // 三角形的三个顶点坐标

    pts[0] = Point(100, 400);

    pts[1] = Point(250, 100);

    pts[2] = Point(400, 400);

    Scalar color(0, 255, 0); // 颜色 (BGR格式,绿色)



    const Point* ppt[1] = {pts};

    int npt[] = {3};



    fillPoly(image, ppt, npt, 1, color, LINE_8); // 绘制一个绿色填充的三角形



    imshow("Polygon", image);

    waitKey(0);



    return 0;

}

        以上代码创建了一个500x500的黑色背景图像,在图像上绘制了一个由三个顶点坐标(100, 400)、(250, 100)、(400, 400)组成的绿色填充的三角形。polylines函数的最后一个参数指定了线条类型为8-connected(LINE_8)。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别叭叭儿—好好学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值