python-opencv-圆、椭圆与任意多边形的绘制
圆形的绘制 :
OpenCV中使用circle(img,center,radius,color,thickness=None,lineType=None,shift=None)函数来绘制圆形
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(img,center,axes,angle,startAngle,endAngle,color,thickness=None,lineType=None,shift=None)函数绘制椭圆
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为我们提供了polylines(img,pts,isClosed,color,thickness=None,lineType=None,shift=None)函数来更方便地绘制任意多边
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()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
2019-02-06 pyqt5-信号与槽
2019-02-06 pyqt5的使用目录
2019-02-06 QLabel-标签控件的应用
2019-02-06 我的第一个例子