使用OpenCV的函数polylines()绘制多条相连的线段和多边形;使用函数fillPoly()绘制带填充效果的多边形

这篇具有很好参考价值的文章主要介绍了使用OpenCV的函数polylines()绘制多条相连的线段和多边形;使用函数fillPoly()绘制带填充效果的多边形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

函数polylines()可用来根据点集绘制多条相连的线段,也可用来绘制多边形。

函数polylines()有两种原型,这里只向大家介绍比较常用的那种原型。

函数polylines()的C++原型如下:

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

函数polylines()的Python原型如下:

img=cv.polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]])

函数polylines()的参数意义如下:
img—绘制的多条相连线段或多边形所在的图像。
pts—存放点集坐标的二维数组,它是一个指针的指针,要注意的是在Python-OpenCV中,其中每一个坐标的数据类型为int32,而不能为常用的uint8。
npts—代表有几组点集。
ncontours—代表有内个轮廓。
isClosed—是否把绘制的多条线段首尾相连,显示,如果要绘制多边形,则这个参数值该置为true。
color—线条的颜色,用三通道表示。
thickness—线条的粗细,这里不能取负值。
lineType—线条的类型,默认值为LINE_8。
shift—坐标值的小数位数。

函数fillPoly()用于在图像上绘制带填充效果的多边形。

函数fillPoly(也)有两种原型,这里也只向大家介绍比较常用的那种原型。

C++原型如下:

void cv::fillPoly(InputOutputArray img,
                  const Point ** pts,
                  const int * npts,
                  int ncontours,
                  const Scalar & color,
                  int lineType = LINE_8,
                  int shift = 0,
                  Point offset = Point() )

Python原型如下:

img=cv.fillPoly(img, pts, color[, lineType[, shift[, offset]]])

参数意义如下:
img—绘制的多边形所在的图像。
pts—存放多边形顶点坐标的二维数组,它是一个指针的指针,要注意的是在Python-OpenCV中,其中每一个坐标的数据类型为int32,而不能为常用的uint8。
npts—代表有几组点集。
ncontours—代表有内个轮廓。
color—线条的颜色,用三通道表示。
lineType—线条的类型,默认值为LINE_8。
shift—坐标值的小数位数。
offset—所有多边形顶点坐标的偏移量。

这两个函数的Python示例代码如下:

# -*- coding: utf-8 -*-
# 出处:昊虹AI笔记网(hhai.cc)
# 用心记录计算机视觉和AI技术

# 博主微信/QQ 2487872782
# QQ群 271891601
# 欢迎技术交流与咨询

# OpenCV的版本为4.4.0

import numpy as np
import cv2 as cv

if __name__ == '__main__':
    img1 = np.zeros((200, 400, 3), dtype='uint8')
    img2 = np.zeros((200, 400, 3), dtype='uint8')
    img3 = np.zeros((200, 400, 3), dtype='uint8')

    pts = np.array([[150, 33], [263, 40], [330, 100], [321, 180], [118, 90]], dtype='int32')

    # 使用函数polylines()绘制多边形
    cv.polylines(img1, [pts], True, (255, 0, 0))

    # 使用函数polylines()绘制多条线段
    cv.polylines(img2, [pts], False, (255, 0, 0))

    # 使用函数fillPoly()绘制带填充效果的多边形
    cv.fillPoly(img3, [pts], (255, 0, 0))

    cv.imshow('img1', img1)
    cv.imshow('img2', img2)
    cv.imshow('img3', img3)
    cv.waitKey(0)
    cv.destroyAllWindows()

运行结果如下:
使用OpenCV的函数polylines()绘制多条相连的线段和多边形;使用函数fillPoly()绘制带填充效果的多边形
这两个函数在C++环境下的示例代码要复杂些,因为牵涉到指针的指针。
如果需要C++示例代码,
请访问本博文的原文获取,
本博文原文链接如下:

https://www.hhai.cc/thread-176-1-1.html

这两个函数的C++代码运行结果如下:
使用OpenCV的函数polylines()绘制多条相连的线段和多边形;使用函数fillPoly()绘制带填充效果的多边形文章来源地址https://www.toymoban.com/news/detail-443827.html

到了这里,关于使用OpenCV的函数polylines()绘制多条相连的线段和多边形;使用函数fillPoly()绘制带填充效果的多边形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [C++] opencv - fillPoly(填充多边形)函数介绍和使用场景

    fillPoly() 函数是OpenCV中用于绘制填充多边形的函数。函数原型如下: fillPoly() 函数适用于需要绘制填充多边形的场景,例如在图像上绘制一个封闭的图形、制作一个简单的遮罩等。   fillPoly() 函数是OpenCV中用于绘制填充多边形的函数。可以用来绘制实心三角形,实心矩形,实

    2024年02月19日
    浏览(116)
  • python opencv 绘制矩形、圆、线、多边形

    👨‍💻 个人简介: 深度学习图像领域工作者 🎉 总结链接:              链接中主要是个人工作的总结,每个链接都是一些常用demo,代码直接复制运行即可。包括:                     📌 1.工作中常用深度学习脚本                     📌 2.to

    2024年02月03日
    浏览(110)
  • OpenCV鼠标绘制线段

    2024年04月26日
    浏览(37)
  • Opencv(C++)笔记--绘制直线、矩形、椭圆、圆、填充多边形、绘制字体和随机产生坐标点

    目录 1--cv::line()绘制直线 2--cv::Rect()绘制矩形 3--cv::ellipse()绘制椭圆 4--cv::circle()绘制圆 5--cv::fillPoly()填充多边形 6--cv::putText()绘制字体 6--cv::RNG随机产生坐标点 使用 cv::Point p1 定义坐标点; 使用 cv::line() 绘制直线,传入的参数依次为:背景图、两个点的坐标、直线的颜色、直线

    2024年02月14日
    浏览(55)
  • Python OpenCV实现鼠标绘制矩形框和多边形

    目录 Python OpenCV实现鼠标绘制矩形框和多边形 1. OpenCV鼠标事件操作说明 (1)setMouseCallback函数说明 (2)回调函数onMouse说明 (3)event 具体说明: (4)flags 具体说明 2. OpenCV实现鼠标绘制矩形框和多边形框 (1)绘制矩形框 (2)绘制多边形 (3)键盘控制 3. 完整的代码 本篇将

    2024年02月06日
    浏览(74)
  • OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字

    目录 1.绘制直线line() 2.绘制圆形circle() 3.绘制椭圆形ellipse()  4.绘制矩形rectangle() 5.绘制多边形 fillPoly()  6.绘制文字putText() 7.例子 1.绘制直线line() img:绘制圆形的图像 ptl:直线起始点在图像中的坐标 pt2: 直线终点在图像中的坐标 color:圆形的颜色,用三通道表示 thickness:轮廓的宽

    2024年02月09日
    浏览(60)
  • 《数字图像处理-OpenCV/Python》连载(22)绘制直线与线段

    本书京东优惠购书链接:https://item.jd.com/14098452.html 本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html 本章介绍OpenCV的绘图功能和简单的鼠标交互处理方法。与Excel或Matplotlib中的可视化数据图不同,OpenCV中的绘图功能主要用于在图像的指定位置绘制几何图形。 本

    2024年02月02日
    浏览(95)
  • opencv-python库 cv2 图形绘制 cv2.line()cv2.rectangle()cv2.circle()cv2.ellipse()cv2.polylines()cv2.putText

    cv2.line() 是 OpenCV 中的一个函数,用于在图像上绘制直线。这个函数需要指定图像、线的起点和终点坐标、线的颜色、线的宽度以及线的类型。 下面是 cv2.line() 函数的详细参数说明: 参数解释: 下面是一个使用 cv2.line() 绘制直线的简单示例: 在这个例子中,我们创建了一个

    2024年04月23日
    浏览(48)
  • 使用c#实现一个简单绘图软件(绘制矩形、多边形,画笔、橡皮擦功能)的完整教程

    c#是微软提供的用于开发windows软件的开发语言,可以使用其快速的实现windows桌面软件的开发。这里基于C#开发了一款简单的绘图软件,可以用于绘制矩形、多边形的绘制(基于这些可以实现自己的数据标注软件),还实现了画笔、橡皮擦功能。开发C#软件通常使用Visual Studio软

    2024年02月03日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包