OpenCV实现RGB彩色多边形与圆的绘制
需积分: 50 151 浏览量
更新于2024-09-07
收藏 41KB TXT 举报
"这篇教程将介绍如何使用OpenCV库在C++环境中绘制RGB填充的正六边形和圆形。OpenCV是一个开源计算机视觉库,它包含了许多用于图像处理和计算机视觉的功能。在这个示例中,我们将关注其图形绘制功能,包括`polylines()`和`fillPoly()`函数来创建多边形,以及`circle()`函数来画圆。"
在OpenCV中,我们可以利用`Mat`类创建图像,并通过设置像素值来填充颜色。首先,创建一个640x480像素的`CV_8UC3`类型(8位无符号整数,3通道颜色)的`Mat`对象`src`,并将其所有像素初始化为0,这代表黑色背景。
为了画出正六边形,我们首先定义了边长`Length`、高度`Higth`和半径`R`。然后,创建一个`vector<Point>`类型的`contour`来存储正六边形的顶点坐标。这些坐标是根据正六边形的几何特性计算出来的。通过`push_back()`方法将每个顶点添加到`contour`中。
接着,我们创建一个`vector<std::vector<cv::Point>>`类型的`contours`,并将`contour`向量放入其中。`contours`向量用于`polylines()`和`fillPoly()`函数,这两个函数都是OpenCV中用于绘制多边形的函数。
`cv::polylines()`函数用于画出多边形的轮廓。在这个例子中,`true`参数表示闭合多边形,`Scalar(0,0,255)`表示红色线条,`0`是线条宽度,`4`是线型。这将画出红色的正六边形轮廓。
`cv::fillPoly()`函数用于填充多边形内部的颜色。在这里,我们使用相同的`contours`向量和`Scalar(0,0,255)`,这将填充正六边形为红色。
最后,`cv::circle()`函数用来画圆。参数包括圆心坐标`Point(Length+Length/2,(Higth+(Length/2*sqrt(3))))`,半径`R`,以及填充颜色`Scalar(0,0,255)`,使得圆也是红色。
这个程序展示了如何利用OpenCV库在图像上绘制RGB颜色的图形,这对于创建视觉效果、进行图像标注或进行图形用户界面的开发非常有用。通过调整不同的颜色值、形状和尺寸,可以实现各种复杂的图形设计。同时,这也是学习OpenCV图形绘制功能的一个基础实例。
1866 浏览量
点击了解资源详情
530 浏览量
1034 浏览量
532 浏览量
139 浏览量
2023-04-25 上传
1809 浏览量
Frank0216
- 粉丝: 5
- 资源: 2
最新资源
- cockpit-samba-manager.zip
- java源码查看-ezpublish-groupdocs-viewer-java-source:ezpublish-groupdocs-vie
- 带有科技感的平板电脑与数据背景图片PPT模板
- 互联网思维学习网络营销策划方案ppt模板.zip
- next-js-博客评论
- ML-Thon-Prediction
- scrapStackExchange:废弃各种堆栈交换站点,以观察各种编程语言的使用趋势
- IDEA新建mybatis遇到不能执行的问题.zip
- 创新生活商务平台网页模板
- 酱茄Free主题(资讯/媒体/博客WordPress主题)开源版
- 书籍黑板背景卡通风论文答辩通用ppt模板.zip
- e1039-data-mgt
- java源码查看-htmlarea-groupdocs-viewer-java-source:htmlarea-groupdocs-viewe
- main.github.io
- 1953-2010年 全国6次人口普查数据汇总.zip
- 中秋节声效动画ppt模板——锐普公司出品.rar