用numpy机关一个500*365的白色画面:
img=np.ones((365,500,3))*255
在画面中间,画一个半径为10的蓝色小圆圈:
u,v=img.shape[:2]
cv2.circle(img,(int(v/2),int(u/2)),10,(255,0,0),2)
注重看u和v的位置。
我们要把坐标原点放到画面中间,我要做一个自界说函数:
def pc(img,pt,r):
u,v=img.shape[:2]
cv2.circle(img,(int(v/2)+pt[0],int(u/2)+pt[1]),
r,(255,0,0),2)
return img
用这个自界说函数作图:
img=pc(img,[0,0],100)
for i in range(2,150,5):
img=pc(img,[0,0],i)
看看点(30,60)的位置:
img=pc(img,[30,60],10)
竟然在原点的下面。
img=pc(img,[30,-60],10)
这有点反通例了。
为此,修改自界说函数,使之切合通例:
def pc(img,pt,r):
u,v=img.shape[:2]
cv2.circle(img,(int(v/2)+pt[0],
int(u/2)-pt[1]),
r,(255,0,0),1)
return img
img=pc(img,[30,60],2)
这样,可以画一条由圆圈构成的曲线:
for i in range(-300,300,3):
img=pc(img,[i,int(60*np.sin(i/60))],
abs(int(10*np.sin(i/10))))
END0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!