OpenCV实现规则图形绘制:椭圆、填充圆与多边形

需积分: 13 0 下载量 107 浏览量 更新于2024-09-08 收藏 4KB TXT 举报
本资源是一份C++代码片段,利用OpenCV库进行图像处理,主要涉及规则图形的绘制,包括椭圆、填充圆和多边形。标题"规则图形打印"明确指出了代码的核心功能,而"CV打印图形(TXT文件)"表明这是一个文本文件,用于在OpenCV环境下操作计算机视觉(CV)中的图像。 首先,代码引入了必要的OpenCV头文件`#include<opencv.hpp>`,以及标准库`#include<iostream>`,使用`using namespace std;`和`using namespace cv;`来简化后续代码中的命名空间引用。 1. **DrawEllipse函数**: 这个函数接收一个`Mat`类型的图像对象`img`和一个角度`angle`,用于在图像上绘制一个椭圆。椭圆的中心位于窗口宽度的一半处`(WINDOW_WIDTH/2, WINDOW_WIDTH/2)`,大小为窗口宽度的四分之一和十六分之一 `(WINDOW_WIDTH/4, WINDOW_WIDTH/16)`。参数`thickness=2`决定了线宽,`lineType=8`定义了线条风格,这里使用的是8连接线。填充颜色是BGR格式的绿色`(255,129,0)`。 2. **DrawFilledCircle函数**: 这个函数绘制填充的圆形,参数`center`是一个点,表示圆心的位置。圆的半径是窗口宽度的三十二分之一`(WINDOW_WIDTH/32)`,填充颜色是BGR格式的蓝色`(0,0,255)`。线宽`thickness=-1`表示使用全填充,即圆形没有边框。 3. **DrawPolygon函数**: 该函数绘制一个多边形,具体实现了一个六边形,通过`Point rookPoints[1][20]`数组定义了六个顶点。每个顶点用一个二维点表示,例如`rookPoints[0][0]`定义了第一个顶点坐标`(WINDOW_WIDTH/4, 7*WINDOW_WIDTH/8)`。这个多边形也是8连接线风格,没有边框。 通过这些函数,开发者可以将这些规则图形应用到任何OpenCV处理的图像上,如读取图片、显示图形或进行其他图像处理操作。这份代码片段展示了OpenCV库在图形绘制方面的基础用法,适合学习者研究OpenCV图形操作或者作为实际项目中的基本图形绘制模块。