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

OpenCV绘图函数(9)填充多边形函数fillPoly()的使用

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

算法描述

填充一个或多个多边形轮廓所包围的区域。
函数 cv::fillPoly 填充由若干个多边形轮廓所包围的区域。该函数可以填充复杂的区域,例如带有洞的区域、自身相交的轮廓(某些部分)等等。

函数原型1


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

参数1

  • 参数img 图像.
  • 参数pts 多边形数组,其中每个多边形由一系列点表示。
  • 参数color 多边形的颜色。
  • 参数lineType 多边形边界的类型。参见 LineTypes。
  • 参数shift 顶点坐标中的分数位数。
  • 参数offset 多边形轮廓所有点的可选偏移量。

函数原型2


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() 
)		

参数2

参数img 图像.

  • 参数pts 多边形数组,其中每个多边形由一系列点表示。
  • 参数npts 点的个数
  • 参数ncontours 轮廓的个数
  • 参数color 多边形的颜色。
  • 参数lineType 多边形边界的类型。参见 LineTypes。
  • 参数shift 顶点坐标中的分数位数。
  • 参数offset 多边形轮廓所有点的可选偏移量。

代码示例


#include <opencv2/opencv.hpp>
#include <iostream>int main()
{// 创建一个空白图像cv::Mat image = cv::Mat::zeros(400, 400, CV_8UC3);// 设置多边形的顶点std::vector<std::vector<cv::Point>> polygons;std::vector<cv::Point> polygon;polygon.push_back(cv::Point(100, 100));polygon.push_back(cv::Point(200, 100));polygon.push_back(cv::Point(250, 150));polygon.push_back(cv::Point(200, 200));polygon.push_back(cv::Point(150, 250));polygon.push_back(cv::Point(100, 200));polygon.push_back(cv::Point(50, 150));polygon.push_back(cv::Point(100, 175)); // 添加一个额外的顶点以形成凹陷polygons.push_back(polygon);// 设置填充颜色cv::Scalar color(0, 0, 255); // 红色 (BGR)// 填充多边形cv::fillPoly(image, polygons, color);// 显示图像cv::namedWindow("Polygon Filling", cv::WINDOW_NORMAL);cv::imshow("Polygon Filling", image);cv::waitKey(0);return 0;
}

运行结果

在这里插入图片描述


http://www.mrgr.cn/news/14955.html

相关文章:

  • 【软件测试】软件测试生命周期与Bug
  • Redis 数据结构与持久化机制详解及缓存异常处理策略
  • 前端开发学习Docker记录02容器操作
  • 焦虑相关症状与错误相关大脑活动的机器学习研究
  • 2024年西安交通大学软件工程专业考研915真题
  • 基于爬山法MPPT和PI的直驱式永磁同步风力发电机控制系统simulink建模与仿真
  • 「bug」nvitop ERROR: Failed to initialize curses
  • C语言——结构体
  • autoware整体架构的分析
  • 查看CPU占用率之Linux篇
  • 深入理解OJ编程中的输入输出:11个经典题目详解与技巧分享及stringstream,sort详解
  • 学习日志28
  • vulhub xxe靶机攻击教程
  • python风格对象的实现方法
  • uni-app组件
  • React Native键盘的两种适配方案
  • Qt详解QTcpSocket TCP客户端
  • 【LeetCode】搜索旋转排序数组[python]
  • 微信小程序uni :class不支持xxx语法
  • 机器学习/数据分析--通俗语言带你入门随机森林,并用随机森林进行天气分类预测(Accuracy为0.92)