(一)在OpenCv中,python接口的基本绘制函数
1----用于绘制直线的----cv2.line ()函数
2----用于绘制椭圆的----cv2.Ellipse ()函数
3----用于绘制矩形的----cv2.rectangle ()函数
4----用于绘制圆的--------cv2.circle ()函数
5----用于绘制多边形的----cv2.fillploy ()函数
6----用于绘制文本的------cv2.putText ()函数
#编码: utf-8
#=====================================
#文件说明:
#第3节:绘制基本图形
#开发环境:
# Ubuntu 14.04 python 2.7空闲IPL
#时间地点:
陕西师范大学2016.11.19
#作者:
#9月
#=====================================
importnumpyasNP#[1]python引入的数值分析、矩阵运算的库模块
导入importcv2#[2]OpenCV库模块
fromMatplotlibimportpyplotasplt # [3]仅导入了matplotlib绘图库的一个子模块
“”【模块1】定义绘制直线的函数“”
#1--img--------[1]画直线的图像
#2--- -开始--------[2]直线的起点
#3- -结束--------[3]直线的终点
#4----255,0,0---- [4]直线颜色
#5----thickness----[5]直线的粗细
#6----linetype----[6]直线的类型---实线、虚线
defDrawline(srcimg,start,end ) :
thickness=2
lineType=8
CV2.line(srcimg,start,end,) 255,0,0 ),thickness,lineType () ) ) ) ) ) ) )。
“”“【模块2】定义绘制矩形的函数“”
#1--描绘矩形时,只要知道2点:左上角的定点和右下角的定点即可
#2--画矩形,只需知道两个点
defdrawrectangle(srcimg、leftTopPoint、rightButtomPoint ) :
thickness=2
lineType=8
CV2.rectangle(srcimg,leftTopPoint,rightButtomPoint,(0,0,255 ),thickness,lineType ) )。
'''【模块3】画一个圆'''
#1--要画圆,只需知道原型的中心和半径的大小
defdrawcircle(srcimg,centerPoint,radius ) :
thickness=2
lineType=8
cv2.circle(srcimg,centerPoint,radius,(0,255,0 ),thickness,lineType ) )。
“”“【模块4】绘制椭圆“”
defdrawEllipse(srcimg,centerPoint,radius,angle ) :
thickness=2
lineType=8
CV2.Ellipse(srcimg,centerPoint,radius,angle,0,360,) 255,255,0 ),thickness,lineType ) )。
为src img=NP.zeros (512,512,3 ),np.uint8) #[1]width*heigth=512*512的几个通道创建黑色图像
绘制直线(src img,(0,0 ),(511,511 ) ) )
Drawline(srcimg,) 0,100 ),) 511,511 ) )
绘制返回(src img,) 10,10 ),300,300 ) )矩形
绘制(src img,) 255,255 ),100 ) #[4]圆
(原始周期(src img,) 255,255 ),200 ) ) ) ) ) ) ) )。
DrawEllipse(srcimg,) 255,255 ),150,20 ),0 ) #[5]绘制椭圆,中心点) 255,255 ),长轴150,短轴20,旋转角度0
绘制椭圆(src img,) 255,255 )、150,20 ),45 ) #[5]绘制椭圆,中心点) 255,255 ),长轴150,短轴20,旋转角度45
绘制椭圆(src img,(100,255 )、150,20 )、135 ) #[5]绘制椭圆,中心点) 100,255 )、长轴150、短轴20、旋转角度45
#6)在图像上绘制字体
CV2.puttext(srcimg,' I am Maweifei,OPenCv ',(0,500 ),cv2.FONT_HERSHEY_SIMPLEX,1,) 255,0,255,2
cv2 .命名窗口([ src img ] ) )
CV2.movewindow([srcimg]、10、10 ) )。
cv2.imshow([srcImg] )、srcimg ) )。
cv2 .等待密钥(0) () ) ) ) ) ) ) ) ) ) )。
CV2.destroywindow([srcimg] ) ) ) )。