C++ opencv实现几何图形绘制

 更新时间:2022年05月12日 17:08:51   作者:浅念念52  
这篇文章主要为大家介绍了C++ opencv实现几何图形的绘制示例实现代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

在学习过程中,我们可以在图像中绘制一些几何图形,比如矩形,椭圆,线段,填充多边形等,这些函数都挺容易理解,下面简单看一下。

1.矩形 rectangle()

通过对角线上的两个顶点绘制矩形

void rectangle(InputOutputArray img, Rect rec,
		const Scalar& color, int thickness = 1,
		int lineType = LINE_8, int shift = 0);

img 名称
rec pt1矩形的顶点 pt2与pt1相对的矩形顶点
color 颜色  也可以用像素存放类Scalar
thickness 宽度 如果是-1,就代表对改矩形进行填充
lineType  类型
shift 移位点坐标中的小数位数。

代码:

int main()
{
	Mat img = Mat::ones(240, 240, CV_8UC3);
	rectangle(img, Rect(20, 20, 100, 100), Scalar(0, 0, 255),7);
	imshow("www", img);
	waitKey(0);
}

效果图:

2. 圆 circle()

void circle(InputOutputArray img, Point center, int radius,
		const Scalar& color, int thickness = 1,
		int lineType = LINE_8, int shift = 0);

img 名称
center 圆心坐标
radius 圆的半径
color 圆环颜色
thickness 正数,则表示圆轮廓的厚度 负数 对该圆填充颜色
lineType  类型
shift  移位中心坐标和半径值的小数位数。

代码:

int main()
{
	Mat img1=Mat::zeros(100, 100, CV_8UC3);
	circle(img1, Point(40, 40), 20, Scalar(0, 0, 255),-1);//-1 填充
	imshow("www", img1);
	waitKey(0);
}

效果图:

3.椭圆 elliple()

void 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);

img 名称
center 椭圆的中心。
axes 轴 椭圆主轴大小的一半。
angle	椭圆旋转角度。
startAngle	椭圆弧的起始角,以度表示。
endAngle	椭圆弧的结束角,以度数表示。
color	椭圆颜色。
thickness 正数 椭圆圆弧轮廓的厚度  负数 对椭圆进行填充。
linetype 椭圆边界类型。 
shift 中心坐标和坐标轴值的小数位数。

代码:

int main()
{
	Mat img1 = Mat::zeros(300, 300, CV_8UC3);
	ellipse(img1, Point(100, 100), Size(40, 25), 0, 0, 360, Scalar(0, 0, 255),5);
	imshow("111", img1);
	waitKey(0);
}

效果图:

以上就是C++ opencv实现几何图形绘制的详细内容,更多关于C++ opencv绘制几何图形的资料请关注脚本之家其它相关文章!

相关文章

  • C++ 双链表的基本操作(详解)

    C++ 双链表的基本操作(详解)

    下面小编就为大家带来一篇C++ 双链表的基本操作(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • vscode 配置 C/C++编译环境(完整教程)

    vscode 配置 C/C++编译环境(完整教程)

    这篇文章主要介绍了vscode 配置 C/C++编译环境(完整教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • C++采用ring3读取MBR实例

    C++采用ring3读取MBR实例

    这篇文章主要介绍了C++采用ring3读取MBR实例,可实现对硬盘的主引导记录的读取,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C++ Boost Format超详细讲解

    C++ Boost Format超详细讲解

    Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
    2022-11-11
  • OpenCV实现抠图工具

    OpenCV实现抠图工具

    这篇文章主要为大家详细介绍了OpenCV实现抠图工具,文中示例代码介绍的非常详细,具有一定为大家详细的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C++设计模式中的工厂模式详细介绍

    C++设计模式中的工厂模式详细介绍

    工厂模式,是一种实例化对象的方式,只要输入需要实例化对象的名字,就可以通过工厂对象的相应工厂函数来制造你需要的对象
    2022-09-09
  • C语言实现贪吃蛇游戏代码

    C语言实现贪吃蛇游戏代码

    这篇文章主要为大家详细介绍了C语言实现贪吃蛇游戏代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • C++学习之虚函数表与多态详解

    C++学习之虚函数表与多态详解

    这篇文章主要为大家详细介绍了C++中虚函数表与多态的相关知识,文中的示例代码讲解详细,对我们学习C++有一定的帮助,感兴趣的小伙伴可以了解一下
    2023-03-03
  • C语言数据存储详解

    C语言数据存储详解

    在本篇文章里小编给大家整理的是关C语言数据存储,小编觉得这篇文章写的很不错,有需要的朋友们可以学习参考下,希望能够给你带来帮助
    2021-10-10
  • C语言实现静态版通讯录的示例代码

    C语言实现静态版通讯录的示例代码

    这篇文章主要为大家详细介绍了如何利用C语言实现一个简单的静态版通讯录,文中的示例代码讲解详细,对我们学习C语言有一定帮助,需要的可以参考一下
    2022-08-08

最新评论