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