【python入门】用opencv画圆

 时间:2026-02-14 08:51:32

1、用numpy构造一个500*365的白色画面:

img=np.ones((365,500,3))*255

【python入门】用opencv画圆

2、在画面中心,画一个半径为10的蓝色小圆圈:

u,v=img.shape[:2]

cv2.circle(img,(int(v/2),int(u/2)),10,(255,0,0),2)

注意看u和v的位置。

【python入门】用opencv画圆

3、我们要把坐标原点放到画面中心,我要做一个自定义函数:

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)

【python入门】用opencv画圆

4、for i in range(2,150,5):

    img=pc(img,[0,0],i)

【python入门】用opencv画圆

5、看看点(30,60)的位置:

img=pc(img,[30,60],10)

竟然在原点的下面。

【python入门】用opencv画圆

6、img=pc(img,[30,-60],10)

这有点反常规了。

【python入门】用opencv画圆

7、为此,修改自定义函数,使之符合常规:

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)

【python入门】用opencv画圆

8、这样,可以画一条由圆圈组成的曲线:

for i in range(-300,300,3):

    

    img=pc(img,[i,int(60*np.sin(i/60))],

                abs(int(10*np.sin(i/10))))

【python入门】用opencv画圆

  • C语言教程 函数的声明与定义
  • C语言分解成连续和
  • c语言15.运算符
  • 怎样利用VC++6.0创建一个简单的C程序
  • 虚拟机如何对LAN区段的网络限制
  • 热门搜索
    云南旅游攻略地图 浙江普陀山旅游攻略 亚洲最佳旅游地 哈仙岛旅游攻略 万佛湖旅游攻略 湖南短途旅游 五台山旅游注意事项 德庆旅游 南京旅游攻略一日游 迪拜 旅游