欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > OpenCV绘图函数(8)填充凸多边形函数fillConvexPoly()的使用

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

2025/6/7 12:37:10 来源:https://blog.csdn.net/jndingxin/article/details/141639916  浏览:    关键词: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;

运行结果

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词