我是靠谱客的博主 畅快过客,最近开发中收集的这篇文章主要介绍OpenCV4.5.5学习笔记(七):基本图形的绘制(直线line,椭圆ellipse,矩形rectangle,园circle,多边形fillPoly)前言一、直线line二、椭圆ellipse三、矩形rectangle四、圆circle五、多边形fillPoly总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、直线line
  • 二、椭圆ellipse
  • 三、矩形rectangle
  • 四、圆circle
  • 五、多边形fillPoly
  • 总结


前言

笔者本科时候有幸接触了OpenCV3.2.0版本的学习,后因考研压力不得不暂时停下学习的脚步,现在考研任务结束了,未来的导师也是从事的该方向,笔者又开始了新一轮的学习。回来发现OpenCV已经出到了4.5.5版本,遂重新下载新版本并决定记录这一学习历程。由于笔者水平有限,可能有错误之处还请诸位大佬多多包涵并烦请指出,让我们一起学习,共同进步。
首先需要说明的是:我是按着毛星云前辈编写的OpenCV3编程入门进行学习的,我会尽力把星云前辈的程序转成符合OpenCV4.5.5版本的。毛星云前辈于2021年12月11日不幸过世,他是我非常敬仰的一位业内大佬,我也是看他的书才开始接触OpenCV。


一、直线line

线构造函数。
在OpenCV官方文档中是这么写的:
void cv::line (
InputOutputArray img,
Point pt1,
Point pt2,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8,
int shift = 0
)
第一个参数是目标图片,
第二个参数是线段的第一个点,
第三个参数是线段的第二个点,
第四个参数是线条颜色,
第五个参数是线的粗细,
第六个参数是线的类型,
第七个参数是点坐标中的小数位数


二、椭圆ellipse

简单或粗椭圆弧或填充椭圆扇区构造函数。
在OpenCV官方文档中是这么写的:
void cv::ellipse (
InputOutputArray img,
Point center,
Size axes,
double angle,
double startAngle,
double endAngle,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8,
int shift = 0
)
**
第一个参数是目标图片,
第二个参数是椭圆的中心,
第三个参数是椭圆主轴大小的一半,
第四个参数是以度为单位的椭圆旋转角度,
第五个参数是椭圆弧的起始角度,以度为单位,
第六个参数是椭圆弧的结束角度,以度为单位,
第七个参数是椭圆颜色,
第八个参数是椭圆弧轮廓的厚度,
第九个参数是椭圆边界的类型,
第十个参数是中心坐标和轴值中的小数位数**


三、矩形rectangle

绘制一个简单的、粗的或填充的直角矩形。
在OpenCV官方文档中是这么写的:
void cv::rectangle (
InputOutputArray img,
Point pt1,
Point pt2,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8,
int shift = 0
)
第一个参数是目标图片,
第二个参数是矩形的顶点,
第三个参数是与第二个参数相对的矩形的顶点,
第四个参数是矩形颜色或亮度(灰度图像),
第五个参数是构成矩形的线条的粗细。负值,如FILLED,意味着该函数必须绘制一个填充的矩形,
第六个参数是线的类型,
第七个参数是点坐标中的小数位数


四、圆circle

圆形构造函数。
在OpenCV官方文档中是这么写的:
void cv::circle (
InputOutputArray img,
Point center,
int radius,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8,
int shift = 0
)
第一个参数是目标图片,
第二个参数是圆的中心,
第三个参数是圆的半径,
第四个参数是圆的颜色,
第五个参数是圆形轮廓的粗细(如果为正)。负值,如FILLED,表示要绘制一个实心圆,
第六个参数是圆边界的类型,
第七个参数是中心坐标和半径值中的小数位数


五、多边形fillPoly

填充由一个或多个多边形包围的区域。
在OpenCV官方文档中是这么写的:
void cv::fillPoly (
InputOutputArray img,
InputArrayOfArrays pts,
const Scalar & color,
int lineType = LINE_8,
int shift = 0,
Point offset = Point()
)
第一个参数是目标图片,
第二个参数是多边形数组,其中每个多边形都表示为点数组,
第三个参数是多边形颜色,
第四个参数是多边形边界的类型,
第五个参数是顶点坐标中的小数位数,
第六个参数是轮廓所有点的可选偏移


总结

今天主要是学习了五个基本图形的具体参数及其绘制方法。通过这些基础函数我们就能绘制出我们想象中的图形了。
按着星云前辈给出的例程,也是成功绘制出图像了。
在这里插入图片描述
自己又试着画了一个五角星:
在这里插入图片描述

	// ----------------------------<3>绘制五角星-----------------------------
	// 【3】绘制一些线段
	DrawLine(starImage, Point(400, 472.65), Point(338.2, 282.44));
	DrawLine(starImage, Point(338.2, 282.44), Point(500, 400));
	DrawLine(starImage, Point(500, 400), Point(300, 400));
	DrawLine(starImage, Point(300,400), Point(461.8, 282.44));
	DrawLine(starImage, Point(461.8, 282.44), Point(400, 472.65));

最后

以上就是畅快过客为你收集整理的OpenCV4.5.5学习笔记(七):基本图形的绘制(直线line,椭圆ellipse,矩形rectangle,园circle,多边形fillPoly)前言一、直线line二、椭圆ellipse三、矩形rectangle四、圆circle五、多边形fillPoly总结的全部内容,希望文章能够帮你解决OpenCV4.5.5学习笔记(七):基本图形的绘制(直线line,椭圆ellipse,矩形rectangle,园circle,多边形fillPoly)前言一、直线line二、椭圆ellipse三、矩形rectangle四、圆circle五、多边形fillPoly总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部