椭圆载体图像

2022-05-28 16:42:47 浏览数 (2)

代码语言: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表示绘制线型,可选参数

0 人点赞