OpenCV绘制圆、椭圆与任意多边形详解
本文详细解析OpenCV中绘制几何图形的核心函数。通过cv2.circle实现圆形绘制,利用cv2.ellipse控制椭圆参数,使用cv2.polylines完成任意多边形绘制。文章涵盖关键参数设置、颜色填充及线条类型选项,并提供完整Python代码示例,帮助开发者快速掌握基础图形绘制技巧。
OpenCV绘制圆形详解
在OpenCV中绘制圆形,主要依赖circle函数。
调用cv2.circle(img, center, radius, color, thickness=None, lineType=None, shift=None)即可完成圆形绘制。其中,img为输入图像;center指定圆心坐标,为必选参数;radius定义圆形半径,亦为必选;color设定颜色,同样必选。thickness为可选参数,正值表示轮廓粗细,负值则表示绘制实心圆。lineType可选8(默认8邻接)、4或cv2.LINE_AA(抗锯齿)。shift参数用于指定小数点位数,控制坐标精度。
import cv2
import numpy as np
image=np.zeros((400,400,3),np.uint8)
cv2.circle(image,(200,200),50,(0,0,255),2) #画圆
'''
参数2 center:必选参数。圆心坐标
参数3 radius:必选参数。圆形半径
参数4 color:必选参数。用于设置待绘制圆形的颜色
参数5 thickness:可选参数。当该参数为正数时,表示待绘制圆形轮廓的粗细;当该参数为负值时,表示待绘制圆形为实心圆,即填充的圆形
参数6 lineType:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
'''
cv2.imshow('image',image)
cv2.waitKey()
OpenCV绘制椭圆详解
绘制椭圆需使用ellipse函数。
通过cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness=None, lineType=None, shift=None)实现。参数img为图像对象;center设定椭圆中心坐标,必选;axes为包含两个值的元组,分别代表长轴和短轴长度的一半,必选;angle定义椭圆旋转角度(顺时针为正),必选;startAngle和endAngle分别指定弧的起始与终止角度(以度为单位,x轴方向为0度),均为必选。color设定颜色,必选。thickness控制轮廓粗细或实心填充,可选。lineType设置线条类型,可选8、4或cv2.LINE_AA。shift参数控制坐标精度,可选。
import cv2
import numpy as np
image=np.zeros((400,400,3),np.uint8)
cv2.ellipse(image,(200,200),(100,150),0,30,360,(0,255,0),-1) #画椭圆
'''
参数2 center:必选参数。用于设置待绘制椭圆的中心坐标,确定椭圆的位置
参数3 axes:必选参数。用于设置待绘制椭圆的轴长度,为椭圆轴大小的一半。由于椭圆有两个轴,因此axes为一个包含两个值的元组
参数4 angle:必选参数。用于设置待绘制椭圆的偏转角度(以度为单位)--顺时针为正
参数5 startAngle:必选参数。用于设置待绘制椭圆的弧的起始角度(以度为单位)-x轴方向为0度
参数6 endAngle:必选参数。用于设置待绘制椭圆的弧的终止角度(以度为单位)。
参数7 color:必选参数。用于设置待绘制椭圆的颜色。
参数8 thickness:可选参数。当该参数为正数时,表示待绘制椭圆轮廓的粗细;当该参数为负值时,表示待绘制椭圆是实心的。
参数9 lineType:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
'''
cv2.imshow('image',image)
cv2.waitKey()
OpenCV绘制任意多边形详解
对于任意多边形的绘制,OpenCV提供了polylines函数。
使用cv2.polylines(img, pts, isClosed, color, thickness=None, lineType=None, shift=None)可方便地绘制多边形。参数img为图像;pts为包含多边形顶点坐标的数组,按顺序排列,必选;isClosed布尔值,若为True,则自动连接最后一个顶点与第一个顶点以闭合图形,必选;color设定颜色,必选。thickness控制线条粗细或实心填充,可选。lineType可选8、4或cv2.LINE_AA。shift参数控制坐标精度,可选。
import cv2
import numpy as np
image=np.zeros((400,400,3),np.uint8)
points=np.array([[150,50],[140,140],[200,170],[250,250]],np.int32) #多边形的顶点坐标
cv2.polylines(image,[points],True,(255,0,0)) #画任意多边形
'''
参数2 pts:必选参数。表示待绘制多边形的折线数组--多边形的顶点坐标(按顺序)
参数3 isClosed:必选参数。用于设置绘制的折线是否关闭,若设置为True,则从折线的最后一个顶点到其第一个顶点会自动绘制一条线进行闭合。
参数4 color:必选参数。用于设置多边形的颜色
参数5 lineType:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
'''
cv2.imshow('image',image)
cv2.waitKey()
以上内容涵盖了OpenCV中绘制圆形、椭圆及任意多边形的主要知识点与函数用法。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













