详解opencv中画圆circle函数和椭圆ellipse函数
1. voidellipse(InputOutputArrayimg,Pointcenter,Sizeaxes,doubleangle,doublestartAngle,doubleendAngle,
constScalar&color,intthickness=1, intlineType=LINE_8,intshift=0);
ellipse函数将椭圆画到图像lmg上,椭圆中心为点center,并且大小位于矩形axes内,椭圆旋转角度为angle,扩展的弧度从0度到360度,
图形颜色为Scalar(x,y,z),线宽(thickness)为1,线型(lineType)为8(8联通线型)。
2. voidcircle(InputOutputArrayimg, Pointcenter, intradius, constScalar&color, intthickness=1, intlineType=LINE_8, intshift=0);
img:表示输入的图像
center: 圆心坐标
radius:圆的半径
color:Scalar类型,表示圆的颜色,例如蓝色为Scalar(255,0,0)
thickness:线的宽度
lineType:线的类型,(默认为8联通型)
#include#include usingnamespacecv; usingnamespacestd; #defineWINDOW_NAME1"绘制图1" #defineWINDOW_NAME2"绘制图2" #defineWINDOW_WIDTH600//定义窗口大小 stringimage="C:\\Users\\asus\\Pictures\\SavedPictures\\123.jpg"; voidDrawEllipse(Matimg,doubleangle); voidDrawFi1ledCirc1e(Matimg,Pointcenter); intmain() { MatatomImage=Mat::zeros(WINDOW_WIDTH,WINDOW_WIDTH,CV_8UC3); MatrookImage=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); return0; } voidDrawEllipse(Matimg,doubleangle){ intthickness=2; intlineType=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); } voidDrawFi1ledCirc1e(Matimg,Pointcenter){ intthickness=-1; intlineType=8; circle(img,center,WINDOW_WIDTH/32,Scalar(0,0,255),thickness,lineType); }
总结
以上所述是小编给大家介绍的opencv中画圆circle函数和椭圆ellipse函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。