代码语言:javascript复制
import cv2
import numpy as np
image=cv2.imread('C:/Users/xpp/Desktop/Lena.png')#原始图像
rows,cols=image.shape[:2]#图像的高度和宽度
n=512
for i in range(0,10):
x=np.random.randint(50,n-50)
y=np.random.randint(50,n-50)
center=(round(x),round(y))
a=np.random.randint(10,100)
b=np.random.randint(50,200)
axes=(a,b)
angle=np.random.randint(0,361)
color=np.random.randint(0,high=256,size=(3,)).tolist()
thickness=np.random.randint(1,5)
cv2.ellipse(image,center,axes,angle,0,360,color,thickness)#绘制椭圆
cv2.imshow("ellipse",image)
cv2.waitKey()
cv2.destroyAllWindows()
算法:椭圆载体图像是为了更好地检测出人脸,在图像上绘制不同颜色和角度的椭圆的基础操作。除此之外,还有绘制直线、矩形、圆、椭圆等多种几何图形,并且可以在图像中的指定位置添加文字说明。
x=numpy.random.randint(low, high=None, size=None, dtype='l')
- low表示生成的数值大于等于low
- high表示如果使用这个值,那么生成的数值在[low, high)区间
- size表示输出随机数组的尺寸
- size表示输出随机数组的尺寸
img=cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType]])
- img表示待绘制图像
- center表示圆心
- axes表示轴的长度
- angle表示旋转的角度
- startAngle表示圆弧起始角的角度
- endAngle为圆弧终结角的角度
- color表示绘制颜色
- thickness表示画笔粗细,可选参数
- lineType表示绘制线型,可选参数