当前位置: 首页 > news >正文

OpenCV绘图函数(13)绘制多边形函数函数polylines()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

画几条多边形曲线

函数原型

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

参数

  • 参数img 图像.
  • 参数pts 多边形曲线数组.
  • 参数isClosed 一个标志位,指示所绘制的多边形曲线是否闭合。如果设为 true,则会从每条曲线的最后一个顶点画线到第一个顶点,形成闭合曲线。
  • 参数color 多边形曲线的颜色。
  • 参数thickness 多边形边缘的厚度。如果设为 -1,对于闭合曲线,则填充该多边形。
  • 参数lineType 线段类型。参见 LineTypes 枚举值。常见的有 LINE_8, LINE_AA (抗锯齿线) 等。
  • 参数shift 顶点坐标的分数位数。

函数原型2


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 
)		

参数2

  • 参数 img 表示输入输出图像。这是要绘制多边形线的图像。
  • 参数pts 一个多级指针,指向一系列点的数组。这些点定义了多边形的轮廓。
  • 参数npts 指向整数数组的指针,表示每个轮廓中的点的数量。
  • 参数ncontours表示轮廓的数量,即 pts 指向的轮廓数组的长度。
  • 参数isClosed一个布尔值,指示绘制的多边形线是否应该闭合。如果是 true,则最后一点和第一点之间会有一条连线。
  • 参数color 颜色值。在 OpenCV 中,颜色通常由一个 Scalar 结构体表示,其中包含 BGR 或 BGRA 颜色通道的值。
  • 参数thickness 线宽。默认值为 1,表示线的宽度。如果设置为 -1,并且轮廓是闭合的,那么轮廓内部会被填充。
  • 参数lineType: 线的类型。默认值为 LINE_8,可以是 LINE_4、LINE_8 或 LINE_AA(抗锯齿线)。
  • 参数shift 顶点坐标的小数位数。如果顶点坐标是以某个小数位数来表示的,这个值用来指定小数位数。默认值为 0,表示坐标是整数值。

代码示例

代码展示是画一个五角星


#include <cmath>  // 用于计算角度
#include <opencv2/opencv.hpp>int main()
{// 创建一个黑色的画布cv::Mat image = cv::Mat::zeros( 400, 800, CV_8UC3 );std::vector< cv::Point > starPoints;cv::Point p1( 439, 126 );cv::Point p2( 466, 198 );cv::Point p3( 546, 198 );cv::Point p4( 482, 244 );cv::Point p5( 507, 316 );cv::Point p6( 439, 275 );cv::Point p7( 371, 316 );cv::Point p8( 396, 244 );cv::Point p9( 330, 198 );cv::Point p10( 414, 198 );// 将5个坐标放入一个容器中starPoints.push_back( p1 );starPoints.push_back( p2 );starPoints.push_back( p3 );starPoints.push_back( p4 );starPoints.push_back( p5 );starPoints.push_back( p6 );starPoints.push_back( p7 );starPoints.push_back( p8 );starPoints.push_back( p9 );starPoints.push_back( p10 );// 绘制五角星cv::polylines( image, starPoints, true, cv::Scalar( 0, 0, 255 ), 2, cv::LINE_AA, 0 );// 显示图像cv::imshow( "Five-pointed Star", image );cv::waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Type-C接口诱骗取电快充方案
  • 苹果macOS 15.1 Beta 3发布 允许用户将App Store应用下载到外置硬盘
  • jenkins+python+appium 本地(简洁版)
  • Vue(八) localStorage、组件的自定义事件、Todo案例修改
  • Java算法之鸡尾酒排序(Cocktail Sort,或称为双向冒泡排序)
  • 产品售后|基于SprinBoot+vue的产品售后管理​​​​​​​系统(源码+数据库+文档)
  • 如何使用 TortoiseGit(小乌龟)进行分支创建、切换与合并以及解决冲突
  • Linux终端简单配置(Vim、oh-my-zsh和Terminator)
  • SPI通信(一)
  • HarmonyOS(52) 使用安全控件SaveButton保存图片
  • G722.1.C简单介绍
  • 恢复丢失的数据:iPhone 恢复指南
  • R语言股价跳跃点识别:隐马尔可夫hmm和 GARCH-Jump对sp500金融时间序列分析
  • vue.js项目实战案例源码
  • 信息打点-红队工具篇FofaQuakeKunyuSuize水泽Arl灯塔
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【node学习】协程
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • Android 控件背景颜色处理
  • Computed property XXX was assigned to but it has no setter
  • oldjun 检测网站的经验
  • opencv python Meanshift 和 Camshift
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • QQ浏览器x5内核的兼容性问题
  • spring boot下thymeleaf全局静态变量配置
  • vagrant 添加本地 box 安装 laravel homestead
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 基于web的全景—— Pannellum小试
  • 你真的知道 == 和 equals 的区别吗?
  • 一个项目push到多个远程Git仓库
  • 自制字幕遮挡器
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • "无招胜有招"nbsp;史上最全的互…
  • #控制台大学课堂点名问题_课堂随机点名
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (面试必看!)锁策略
  • (七)c52学习之旅-中断
  • (三)elasticsearch 源码之启动流程分析
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (转)c++ std::pair 与 std::make
  • .JPG图片,各种压缩率下的文件尺寸
  • .net core 6 redis操作类
  • .net framework profiles /.net framework 配置
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .net与java建立WebService再互相调用
  • @Autowired 与@Resource的区别
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [20180129]bash显示path环境变量.txt
  • [51nod1610]路径计数