OpenCV基本图形绘制函数有哪些
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,本篇内容主要讲解"OpenCV基本图形绘制函数有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"OpenCV基本图形绘制函数有哪些"吧!用于绘制直线的l
千家信息网最后更新 2025年11月11日OpenCV基本图形绘制函数有哪些
本篇内容主要讲解"OpenCV基本图形绘制函数有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"OpenCV基本图形绘制函数有哪些"吧!
用于绘制直线的line函数;
用于绘制椭圆的ellipse函数;
用于绘制矩形的rectangle函数;
用于绘制圆的circle函数;
用于绘制填充的多边形的fillPoly函数。
#include#include #include using namespace cv;using namespace std;#define WINDOW_WIDTH 600 // 定义窗口大小的宏#define WINDOW_NAME1 "原子图" //为窗口标题定义的宏 #define WINDOW_NAME2 "多边形图以及画线" //为窗口标题定义的宏 /***绘制椭圆***/void DrawEllipse(Mat img, double angle){ int thickness = 2; // 线宽 int lineType = 8; // 线性,8 代表联通线性 ellipse(img, Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2), Size(WINDOW_WIDTH / 4, WINDOW_WIDTH / 16), angle, // 角度,0~360 度 0, 360, Scalar(255, 129, 0), thickness, lineType);}/*绘制实心圆*/void DrawFilledCircle(Mat img, Point center){ int thickness = -1; // 线粗-1,代表实心 int lineType = 8; // 线性,8 代表联通线性 circle(img, center, WINDOW_WIDTH / 32, Scalar(0, 0, 255), thickness, lineType);}/*凹多边形绘制*/void DrawPolygon(Mat img){ int lineType = 8; // 创建一些点 Point rookPoints[1][20]; rookPoints[0][0] = Point(WINDOW_WIDTH / 4, 7 * WINDOW_WIDTH / 8); rookPoints[0][1] = Point(3 * WINDOW_WIDTH / 4, 7 * WINDOW_WIDTH / 8); rookPoints[0][2] = Point(3 * WINDOW_WIDTH / 4, 13 * WINDOW_WIDTH / 16); rookPoints[0][3] = Point(11 * WINDOW_WIDTH / 16, 13 * WINDOW_WIDTH / 16); rookPoints[0][4] = Point(19 * WINDOW_WIDTH / 32, 3 * WINDOW_WIDTH / 8); rookPoints[0][5] = Point(3 * WINDOW_WIDTH / 4, 3 * WINDOW_WIDTH / 8); rookPoints[0][6] = Point(3 * WINDOW_WIDTH / 4, WINDOW_WIDTH / 8); rookPoints[0][7] = Point(26 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 8); rookPoints[0][8] = Point(26 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 4); rookPoints[0][9] = Point(22 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 4); rookPoints[0][10] = Point(22 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 8); rookPoints[0][11] = Point(18 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 8); rookPoints[0][12] = Point(18 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 4); rookPoints[0][13] = Point(14 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 4); rookPoints[0][14] = Point(14 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 8); rookPoints[0][15] = Point(WINDOW_WIDTH / 4, WINDOW_WIDTH / 8); rookPoints[0][16] = Point(WINDOW_WIDTH / 4, 3 * WINDOW_WIDTH / 8); rookPoints[0][17] = Point(13 * WINDOW_WIDTH / 32, 3 * WINDOW_WIDTH / 8); rookPoints[0][18] = Point(5 * WINDOW_WIDTH / 16, 13 * WINDOW_WIDTH / 16); rookPoints[0][19] = Point(WINDOW_WIDTH / 4, 13 * WINDOW_WIDTH / 16); const Point* ppt[1] = { rookPoints[0] }; // 多边形定点集 int npt[] = { 20 }; // 多边形定点数目 fillPoly(img, ppt, npt, 1, Scalar(255, 255, 255), // 多边形颜色:白色 lineType);}/*线绘制*/void DrawLine(Mat img, Point start, Point end){ int thickness = 2; int lineType = 8; line(img, start, end, Scalar(0,0,0), // 黑色 thickness, lineType);}int main(int argc, char ** argv){ Mat atomImage = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3); Mat rookImage = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3); // 椭圆绘制 DrawEllipse(atomImage, 0); DrawEllipse(atomImage, 90); DrawEllipse(atomImage, 45); DrawEllipse(atomImage, -45); // 绘制圆心 DrawFilledCircle(atomImage, Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2)); // 绘制多边形 DrawPolygon(rookImage); // 绘制矩形 rectangle(rookImage, Point(0, 7 * WINDOW_WIDTH / 8), Point(WINDOW_WIDTH, WINDOW_WIDTH), Scalar(0, 255, 255), -1, 8); // 绘制一些线段 DrawLine(rookImage, Point(0, 15 * WINDOW_WIDTH / 16), Point(WINDOW_WIDTH, 15 * WINDOW_WIDTH / 16)); DrawLine(rookImage, Point(WINDOW_WIDTH / 4, 7 * WINDOW_WIDTH / 8), Point(WINDOW_WIDTH / 4, WINDOW_WIDTH)); DrawLine(rookImage, Point(WINDOW_WIDTH / 2, 7 * WINDOW_WIDTH / 8), Point(WINDOW_WIDTH / 2, WINDOW_WIDTH)); DrawLine(rookImage, Point(3 * WINDOW_WIDTH / 4, 7 * WINDOW_WIDTH / 8), Point(3 * WINDOW_WIDTH / 4, WINDOW_WIDTH)); // ---------------------------<3>显示绘制出的图像------------------------ imshow(WINDOW_NAME1, atomImage); moveWindow(WINDOW_NAME1, 0, 200); imshow(WINDOW_NAME2, rookImage); moveWindow(WINDOW_NAME2, WINDOW_WIDTH, 200); waitKey(0); return(0);}
运行:

到此,相信大家对"OpenCV基本图形绘制函数有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
函数
多边形
线性
图形
代表
椭圆
内容
定点
标题
矩形
学习
实用
更深
兴趣
原子
图像
圆心
大小
实用性
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全事件应急预案编制
找不到使用指定主机名的服务器
深圳东坡互联网科技有限公司
网络安全周系列活动
明日之后亚瑟湾服务器在哪
炫括网络技术服务部
农村网络安全
囊括网络技术有限公司
网络安全法的运营者
ps9.0ms数据库还原
循环利用水的报告数据库
网络安全员一般男生多还是女生多
行情软件开发原理
网络安全基础知识试卷
梦想曙光服务器安装了无法连接
青岛广通远网络技术
德州网络技术有限公司 电话
qq的软件开发商
视频用数据库哪种类型
电大计算机网络技术毕业论文下载
学校网络安全发言稿
泰兴网络技术诚信合作
物流竞价软件开发定制
上海工程软件开发排行
软件开发结算报告
最强大的数据库系统
北京广电总局网络安全部
网络安全性评估是多久一次
squad无法加入反作弊服务器
我的是服务器下载