详解opencv中画圆circle函数和椭圆ellipse函数
作者:三行代码划江湖 时间:2023-08-10 22:11:40
1. 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);
ellipse函数将椭圆画到图像 lmg 上, 椭圆中心为点center,并且大小位于矩形 axes 内,椭圆旋转角度为 angle, 扩展的弧度从 0 度到 360 度,
图形颜色为 Scalar(x, y,z),线宽 (thickness)为 1,线型(lineType)为 8 (8 联通线型)。
2. 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:Scalar类型,表示圆的颜色,例如蓝色为Scalar(255,0,0)
thickness:线的宽度
lineType:线的类型,(默认为8联通型)
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace cv;
using namespace std;
#define WINDOW_NAME1 "绘制图1"
#define WINDOW_NAME2 "绘制图2"
#define WINDOW_WIDTH 600 //定义窗口大小
string image = "C:\\Users\\asus\\Pictures\\Saved Pictures\\123.jpg";
void DrawEllipse(Mat img, double angle);
void DrawFi1ledCirc1e(Mat img, Point center);
int main()
{
Mat atomImage = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
Mat rookImage = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
//绘制椭圆
DrawEllipse(atomImage, 90);
DrawEllipse(atomImage, 0);
DrawEllipse(atomImage, 45);
DrawEllipse(atomImage, -45);
//绘制圆心
DrawFi1ledCirc1e(atomImage, Point(WINDOW_WIDTH / 2,WINDOW_WIDTH / 2));
imshow(WINDOW_NAME1, atomImage);
waitKey(0);
return 0;
}
void DrawEllipse(Mat img, double angle) {
int thickness = 2;
int lineType = 8;
ellipse(img, Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2),
Size(WINDOW_WIDTH / 4, WINDOW_WIDTH / 16), angle, 0, 360, Scalar(255, 129, 0),
thickness, lineType);
}
void DrawFi1ledCirc1e(Mat img, Point center) {
int thickness = -1;
int lineType = 8;
circle(img, center, WINDOW_WIDTH / 32, Scalar(0, 0, 255), thickness, lineType);
}
总结
以上所述是小编给大家介绍的opencv中画圆circle函数和椭圆ellipse函数,希望对大家有所帮助
来源:https://www.cnblogs.com/mld-code-life/p/11197736.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Dreamweaver MX 2004 制作树状菜单教程[动画]
Go语言defer语句的三种机制整理
javascript定义变量时带var与不带var的区别分析
Python的内置数据类型中的数字
![](https://img.aspxhome.com/file/2023/7/114517_0s.png)
element-ui中表格设置正确的排序及设置默认排序
![](https://img.aspxhome.com/file/2023/1/126401_0s.png)
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
dl.dt.dd.ul.li.ol区别及应用
![](https://img.aspxhome.com/file/UploadPic/20085/24/200852494731250s.gif)
sqlserver 中时间为空的处理小结
python字典遍历数据的具体做法
Python一行代码快速实现程序进度条示例
![](https://img.aspxhome.com/file/2023/0/104920_0s.png)
对python的文件内注释 help注释方法
Pytest框架之fixture详解(三)
![](https://img.aspxhome.com/file/2023/1/65861_0s.png)
Python轻松破解加密压缩包教程详解
![](https://img.aspxhome.com/file/2023/3/71393_0s.png)
Opencv+Python实现图像运动模糊和高斯模糊的示例
![](https://img.aspxhome.com/file/2023/9/66349_0s.jpg)
使用 GUID 值来作为数据库行标识讲解
Python HTML解析模块HTMLParser用法分析【爬虫工具】
MySQL 8.0.29 安装配置方法图文教程(windows zip版)
![](https://img.aspxhome.com/file/2023/6/124826_0s.jpg)
Go简单实现协程池的实现示例
![](https://img.aspxhome.com/file/2023/2/105142_0s.jpg)
python实现基于SVM手写数字识别功能
![](https://img.aspxhome.com/file/2023/9/133329_0s.jpg)