OpenCV绘图函数(8)填充凸多边形函数fillConvexPoly()的使用

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

算法描述

填充一个凸多边形。

函数 cv::fillConvexPoly 绘制一个填充的凸多边形。这个函数比 fillPoly 函数快得多。它可以填充的不仅仅是凸多边形,还可以填充任何没有自相交的单调多边形,即,一个轮廓最多与每一条水平线(扫描线)相交两次的多边形(虽然它的最顶部和/或最底部边缘可能是水平的)。

函数原型1


void cv::fillConvexPoly
(
	InputOutputArray 	img,
	InputArray 	points,
	const Scalar & 	color,
	int 	lineType = LINE_8,
	int 	shift = 0 
)		

参数1

  • 参数img 图像.
  • 参数points 多边形顶点的向量。
  • 参数color 用于填充多边形的颜色。
  • 参数lineType 边界的类型. 参见 LineTypes
  • 参数shift 顶点坐标中的分数位数

函数原型2

这是重载的成员函数,为方便提供。它与上面的函数仅在所接受的参数方面有所不同。


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

参数2

  • 参数img 图像.
  • 参数pts 多边形顶点的向量。
  • 参数npts 点的个数
  • 参数color 用于填充多边形的颜色。
  • 参数lineType 边界的类型. 参见 LineTypes
  • 参数shift 顶点坐标中的分数位数

代码示例


#include <opencv2/opencv.hpp>
#include <iostream>

int main()
{
    // 创建一个空白图像
    cv::Mat image = cv::Mat::zeros(400, 400, CV_8UC3);

    // 设置多边形的顶点
    std::vector<cv::Point> points;
    points.push_back(cv::Point(100, 100));
    points.push_back(cv::Point(150, 50));
    points.push_back(cv::Point(200, 100));
    points.push_back(cv::Point(200, 200));
    points.push_back(cv::Point(150, 250));
    points.push_back(cv::Point(100, 200));

    // 设置填充颜色
    cv::Scalar color(0, 0, 255); // 红色 (BGR)

    // 填充凸多边形
    cv::fillConvexPoly(image, points, color);

    // 显示图像
    cv::namedWindow("Convex Polygon Filling", cv::WINDOW_NORMAL);
    cv::imshow("Convex Polygon Filling", image);
    cv::waitKey(0);

    return 0;

运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2084691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

护眼台灯减蓝光和无蓝光的有区别?眼科医生推荐的护眼台灯

自从疫情以后&#xff0c;”网课“成了一个热门的课程&#xff0c;许多家长会为了孩子的学习进行网课的报名。孩子们的眼睛处于生长期比较脆弱&#xff0c;长时间对着手机&#xff0c;电脑上课&#xff0c;电子产品会产生蓝光&#xff0c;眼睛会受到一定的伤害。护眼台灯减蓝光…

CTFHub-SSRF过关攻略(持续更新中...)

第一题&#xff0c;内网访问 一&#xff0c;打开web/ssrf/内网访问 二&#xff0c;进入页面什么都没有查看一下上一步给的参数 三&#xff0c;输入http://127.0.0.1/flag.php回车显示flag 四&#xff0c;然后复制提交&#xff08;恭喜通关&#xff09; 第二题&#xff0c;伪协…

AI智能大数据分析足球AIAutoPrediction,提高足球比赛预测准确度的新方法

本文摘要&#xff1a;一、I智能大数据分析足球的原理I智能大数据分析足球的原理是利用机器学习和大数据分析技术&#xff0c;对足球比赛的各种数据进行分析和预测。这些数据包括球队历史成绩、球员数据、场地... 一、I智能大数据分析足球的原理 I智能大数据分析足球的原理是利…

视频生成类大模型实现原理以及应用和难点

“ 视频生成属于计算机视觉领域&#xff0c;还包括图像处理等 ” 生成式大模型在文本&#xff0c;图像&#xff0c;视频等方面表现良好&#xff0c;而我们都知道文本生成大模型是基于自然语言处理技术&#xff0c;而视频生成的大模型又是怎么实现的呢&#xff1f; 今天我们就…

学习笔记之JS篇(0828)

Error Lens:报错提示插件 2. 主题&#xff08;One Dark Pro) 3. VSCode自带格式化工具代码缩进字符改为2个字符 4. 代码缩进字符改为2个字符 左右分屏&#xff08;live Server) Win 左右箭头 **学 习 ** 不能只看不动手 不管多简单的代码都要练习 随时暂停视频随时写代码 …

Win10 安装 Rabbitmq

参考文档&#xff1a;https://www.rabbitmq.com/docs/install-windows 一、安装 Erlang 语言 安装 RabbitMQ 需要该语言的支持才能安装 下载地址&#xff1a;https://erlang.org/download/otp_versions_tree.html 点击这里下载最新版本&#xff1a;27.0.1 直接默认 next 更…

Django+vue自动化测试平台(29)--测试平台集成playwright录制pytest文件执行

需求背景 一、 系统目标与功能概述 脚本管理: 系统需要能够组织和存储所有通过playwright官方插件录制的脚本。这包括脚本的上传、编辑、删除和版本控制功能。 脚本执行: 用户应该能够在后台界面上查看所有可用的脚本&#xff0c;并能够通过简单的点击操作来启动特定脚本的执…

微调方法概览

前言 大语言模型(LLM)的训练过程通常分为两大阶段&#xff1a; 阶段一&#xff1a;预训练阶段 此阶段模型是在大规模的无标签数据集上接受训练&#xff0c;目标是使模型掌握词汇的含义、句子的构造规则以及文本的基本信息和上下文。 需特别指出&#xff0c;预训练实质上是一…

16002.orin nano平台 linux gpio 学习记录

文章目录 1 查看当前系统gpio配置信息2 orin / nano gpio2.1 GPIO 映射表2.2 nano 平台对外提供的2排端口表 3 配置GPIO 电平3.1 通过指令配置普通GPIO高电平3.2 通过设备树配置普通GPIO高电平3.3 配置特定 gpio 高电平 1 查看当前系统gpio配置信息 sudo cat /sys/kernel/debu…

【日记】已经在开始幻想明年的年度计划了(498 字)

正文 看来每次都是准备迎检的时候忙很多&#xff0c;但检查来的时候反倒还好一点。 今天比昨天好上一些&#xff0c;没有那么忙了。 感觉不去跳舞的 8 月&#xff0c;运动量下降了好多&#xff0c;膝盖经常响。只要半月板没事就好…… 前几天高配速的酸痛好像彻底消失了。今晚想…

微分方程(Blanchard Differential Equations 4th)中文版Section5.1

平衡点分析 从第3章的工作中,我们能够对线性系统的解有定性和解析的理解。不幸的是,非线性系统通常不容易使用我们开发的解析和代数技术来分析,但我们可以利用线性系统的数学来理解非线性系统在其平衡点附近的行为。 Van der Pol 方程 为了说明如何分析平衡点附近解的行为…

给linux服务器添加普通用户,并且授予sudo权限(文档copy,待验证)

创建普通用户 注意需要使用 root 用户来创建 用户创建 拿 tcs-deploy 举例 创建用户 adduser tcs-deploy 设置密码 passwd tcs-deploy 把用户加入到 root 组 usermod -g root tcs-deploy 权限授权 执行 visudo 找到 root 权限行 添加权限 tcs-deploy ALL(ALL) NOPASSWD:ALL 找…

《经典图论算法》卡恩(Kahn)算法

摘要&#xff1a; 1&#xff0c;卡恩(Kahn)算法的介绍 2&#xff0c;卡恩(Kahn)算法的代码实现 1&#xff0c;卡恩(Kahn)算法的介绍 卡恩(Kahn)算法是图的拓扑排序(Topological sorting)算法&#xff0c;它是基于队列实现的&#xff0c;类似于《宽度优先搜索(BFS)》。 拓扑排序…

np.percentile函数详解

⭐️ np.percentile函数 np.percentile 是 NumPy 库中的一个函数&#xff0c;用于计算给定数据数组的指定百分位数。百分位数表示数据中有多少比例的值小于或等于某个值&#xff0c;例如&#xff0c;第25百分位数表示数据中有25%的值小于或等于这个值。 np.percentile 函数的…

精准聊片,一触即达:影视软件对话搜索融合RAG技术应用,实现垂直领域知识精准推送

精准聊片,一触即达:影视软件对话搜索融合RAG技术应用,实现垂直领域知识精准推送 1. 背景 聊片场景是对话搜索一个重要的子场景。在聊片场景中,用户主要询问影视剧集、人物或者角色相关的知识。 聊片场景和搜片场景有一些不同,在聊片场景中,用户不是为了搜索观看某个剧,…

mysql数据库数据的批量插入

一、前言 在写sql语句的时候常常会有很多疑问&#xff0c;那就是当单表的数据量很大的时候&#xff0c;查询性能怎么样&#xff0c;以及索引对数据查询的影响&#xff0c;今天用navicat批量造了很多重复数据来对mysq在数据量大的时候查询的性能的测试。 1 、使用navicat批量插…

什么是算法?一切皆算法

如果有人问我什么算法&#xff1f;我就一句话&#xff1a;算法就是对一类问题的最优求解路径。 1、计算机领域的算法概念 算法一直都是计算机领域非常重要的概念&#xff0c;具备极高的地位&#xff0c;各个公司对算法的考察也非常热衷。 我们只有在数学、计算机和人工智能领…

IEEE的官方论文模板

各位写论文时应该都会有一个苦恼&#xff0c;不知道应该怎么找论文模板&#xff0c;这里详细介绍了如何从IEEE的官网下载官方模板&#xff08;LaTex或Word&#xff09; 下载模板 首先进入IEEE的作者中心 Author Center&#xff0c;点击 Download a template 下载官方模板 其次…

开放式耳机音质好吗?五款超强单品推荐!

开放式耳机的音质体验因品牌和型号而异&#xff0c;但许多产品通过采用先进的声学技术和高规格的硬件配置&#xff0c;能够提供出色的音质。例如&#xff0c;南卡OE MIX开放式耳机搭载了Super Bass 3.0高性能跑道型音频单元和最新的蓝牙5.4芯片&#xff0c;音质表现远超同价位产…

LongWriter: Unleashing 10,000+ Word Generation from Long Context LLMs论文阅读

LONGWRITER: UNLEASHING 10,000 WORD GENERATION FROM LONG CONTEXT LLMS 一句话总结&#xff1a; 加入长输出的数据进行训练微调&#xff0c;即可解锁大模型的长输出能力。 摘要 当前的LLMs能够处理100,000个token的输入&#xff0c;但在难以生成超过2,000个词。实验发现模…