标题:cv2(circle函数)|新手也能秒懂的OpenCV绘图神器!
你是不是也曾在用OpenCV做图像处理时,突然想在图片上画个圆圈?比如标注人脸区域、标记目标位置,或者只是单纯想加个趣味装饰?别急,今天就来聊聊OpenCV里的 cv2.circle() 函数——它简单到让你怀疑人生,强大到让你爱上代码。
Q1:cv2.circle() 是干嘛的?
A:这是OpenCV中用来在图像上绘制圆形的函数!就像你在纸上画圆一样,它能帮你精准地把圆“印”在图像指定位置。参数超直观,适合刚入门的小白快速上手。
Q2:基本语法长啥样?
A:cv2.circle(image, center, radius, color, thickness) —— 看起来复杂?其实每个参数都像朋友一样亲切:
image:你要画圆的原图(numpy数组)
center:圆心坐标,格式是 (x, y)
radius:半径,整数就行
color:颜色,BGR格式(比如(0, 255, 0)是绿色)
thickness:线条粗细,1表示实心圆
Q3:举个真实案例!我上次在小红书发的图就是靠它~
A:没错!我那天在给宠物猫拍照片时,想突出它的眼睛位置,于是用Python读取图片后,调用:
cv2.circle(img, (150, 120), 30, (255, 0, 0), 2)结果:一个蓝色边框的圆圈完美圈住猫眼,朋友圈瞬间被夸“有技术感”!而且我只用了不到10行代码,连配图都不用P了。
Q4:有没有坑?新手常犯的错误?
A:有!最常见的是坐标搞错——OpenCV的坐标系是左上角为原点,和数学不一样!比如你写 (100, 50),其实是从左上角往右100、往下50的位置。建议先打印一下图像尺寸:print(img.shape),避免越界报错。
Q5:还能玩出什么花样?
A:当然!你可以组合使用:画多个圆、不同颜色、甚至动态画圆(配合循环)。我曾用它做了一个“自动标注行人”的小demo,每帧视频里自动画圆圈标出人头位置,效果超酷!朋友圈点赞破百,全是问“这怎么做的?”
所以啊,别小看这个小小的 circle 函数,它是OpenCV世界里最温柔的一笔。学它,不是为了炫技,而是为了让你的作品更有温度——就像我在小红书那篇笔记写的:“有时候,一个圆圈,就能让一张图变得有人情味。”
快去试试吧!评论区交作业,我等着看你的圆圈艺术 😊

