OpenCV所提供的绘制圆形的函数是 circle( ) ,语法如下:
cv2.circle(img,center,radius,color,thickness=1, lineType=LINE_8)
上述代码可以绘制圆形,其他各参数意义如下:
img :绘图对象,也可以作为画布。
center :设定圆中心坐标,数据格式是元组(x, y)。
radius :设定半径。
color :OpenCV使用(B, G, R)方式处理色彩,所以(255,0,0)是蓝色。
thickness :线条宽度,默认是1。如果宽度设为-1,则建立实心圆形。
lineType :可选参数,这是指线条样式,有LINE_4、LINE_8和LINE_AA可选,默认是 LINE_8 。
上述代码可以绘制圆心为 center 、半径为 radius 的圆,如果thickness=-1表示建立实心圆,其他各参数意义与前面函数相同。
程序实例 ch7_7.py: 绘制同心圆,其中最中间的是实心圆。
执行结果
假设现在想要建立随机色彩的圆,可以参考3-3-7节的概念使用Numpy模块的random.randint( )函数,由于色彩需要有3个元素的数组,可以使用下列实例建立色彩随机数。
程序实例 ch7_8.py: 建立3个元素的数组。
执行结果
上述代码获得了含3个元素的数组,许多函数在使用时,需要将数组改为列表或元组,使用Numpy模块的 tolist( ) 函数可以将数组改为列表,参考下列实例。
程序实例 ch7_9.py: 扩充ch7_8.py将数组转换成列表,产生随机色彩值。
执行结果
程序实例 ch7_10.py: 使用黑色底的画布建立50个随机色彩的实心圆,其中圆心、圆半径与色彩是随机产生的。
执行结果