OpenCV--C++绘制几何图形(圆、直线、椭圆、矩形、多边形)与添加文字

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;

int main()
{
	Mat img = Mat::zeros(Size(800, 800), CV_8UC3);

	//绘制圆形
	circle(img, Point(50, 50), 30, Scalar(255, 255, 0), -1); //绘制实心圆
	circle(img, Point(100, 100), 30, Scalar(0, 255, 255), 4); //绘制空心圆

	//绘制直线
	line(img, Point(400, 400), Point(600, 600), Scalar(0, 255, 0), 2, LINE_4);

	//绘制椭圆
	ellipse(img, Point(200, 300), Size(100, 100),0, 0, 100, Scalar(255, 0, 0), -1);  
	//center椭圆中心坐标, axes椭圆主轴大小的一半, angle椭圆旋转的角度, startAngle椭圆起始角度, endAngle椭圆终止的角度
	ellipse(img, RotatedRect(Point2f(150, 100), Size2f(30, 20), 0), Scalar(0, 0, 255), 2);  //绘制一个空心椭圆

	//绘制矩形
	rectangle(img, Point(500, 500), Point(600, 700), Scalar(0, 0, 255), -1);  //两点的方式
	rectangle(img, Rect(400, 500, 50, 50), Scalar(0, 255, 255), -1);  //起点+偏移距离的方式

	//绘制多边形
	Point pts[3];   //此处绘制一个三角形
	pts[0] = Point(350, 400);
	pts[1] = Point(600, 700);
	pts[2] = Point(500, 200);

	const Point* pp[1] = { pts };   
	int npts[] = { 3 };  //表示内部的多边形有几条边, 多个点就用逗号隔开
	fillPoly(img, pp, npts, 1, Scalar(0, 125, 255), 8);  //绘制一个多边形

	// 添加文字
	putText(img, "Hello OpenCV", Point(100, 100), 2, 1, Scalar(125, 125, 80));

	imshow("result", img);
	waitKey(0);

	return 0;

}

效果图:

 

参考资料:

《OpenCV4快速入门》

https://github.com/fengzhenHIT/learnOpenCV4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值