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

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

  • 操作系统: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.kler.cn/a/286222.html

相关文章:

  • DeepSeek 云端部署,释放无限 AI 潜力!
  • PHP中配置 variables_order详解
  • 爬虫基础(六)代理简述
  • 力扣动态规划-16【算法学习day.110】
  • 【memgpt】letta 课程4:基于latta框架构建MemGpt代理并与之交互
  • 1.27刷题记录
  • Linux中安装Docker环境
  • 域名是什么
  • 简单了解数据库--笔记03
  • 依赖倒置原则详细介绍
  • Kubernetes 网关流量管理:Ingress 与 Gateway API
  • 国产游戏技术的未来
  • Leetcode 621. 任务调度器
  • Spring Cloud Gateway的使用
  • 高防服务器中的流量清洗是什么意思?
  • 【电机控制】有感FOC之霍尔自学习
  • 学习周报-2024.8.31
  • 基于 Redis 的 HyperLogLog 实现了 UV 的统计
  • 浅谈-Unity内存管理
  • Python 全栈系列265 使用ORM、Kafka、Apscheduler实现任务的并发处理
  • Jupyter如何使用Anaconda的虚拟环境
  • CSS 的image-rendering属性与图像的渲染
  • [软件安装]STM32CubeMX
  • 机器学习 第7章 贝叶斯分类器
  • MySQL——事务与存储过程(二)存储过程的创建(1)创建存储过程
  • Pictory AI——博客、文章等内容转换为视频,自动适配动态画面和字幕