一、学习目标了解长轴和短轴参数了解旋转角度参数了解起始角度参数了解终止角度参数目录「python opencv 计算机视觉零基础实战」 第一节 「python opencv视觉入门到实战」二、格式与摄像头 「python opencv 视觉入门到实战」 三、图像编辑 「python opencv视觉入门到实战」 第四节色彩空间 「python opencv视觉入门到实战」 五、对象追踪 「python opencv视觉零基础到实战」 六、图像运算 「python opencv视觉零基础实战」 七逻辑运算应用 「python opencv视觉零到实战」 八、图片选区操作 「python opencv计算机视觉零基础到实战」 九模糊 「python opencv视觉零基础」 十、图片效果毛玻璃 「python opencv视觉零基础」 十一、指定内容查找 「python opencv 视觉零基础」 十二、 直方图 「python opencv视觉零基础」十三、图片颜色提鲜 「python opencv视觉零基础」十四、直方图反向投影 「python opencv视觉入门」十五用opencv画画 「python opencv 视觉入门」 十六、用鼠标画画 前文提醒:博主正在参加博客之星评比,成功入选Top200,现在暂居第九欢迎各位点击了解更多帮我投票,非常感谢~二、深入了解OpenCV的ellipse方法2.1 纵横椭圆的绘制方法在上一节中我们已经知道了是使用ellipse,ellipse的函数原型如下,为了清晰认识ellipse方法,在此使用了中文代替参数:
ellipse(image, 椭圆的中心坐标, 长轴和短轴, 旋转角度, 起始角度, 终止角度, color ,粗细)
我们依旧沿用上一节的代码,如下:
import cv2import numpy as npimg=np.zeros((400,400,3), np.uint8)cv2.ellipse(img, (200, 200), (170, 50), 0, 0, 360, (255, 255, 255), 3)cv2.imshow("Image", img)cv2.waitKey (0)cv2.destroyAllWindows()
我们的ellipse方法如下:
cv2.ellipse(img, (200, 200), (170, 50), 0, 0, 360, (255, 255, 255), 3)
其中(200, 200)为圆心坐标,(170, 50)为长短轴,0, 0为旋转角度以及起始角度,360为终止角度。颜色和粗细分别为(255, 255, 255)以及3.我们我们先查看当前绘制出来的图形是什么样子的,结果如下:那我们更改(170, 50)为(50, 170)呢?结果如下:再次我们很清楚了(170, 50)中的170为横向长度,50为纵向长度,我们还可以将170,50改成170,10,这个时候应该可以更明显的看的出效果,应该170长度不变,10变得更扁了。结果如下:我们更改170为100,应该它的横向长度也会变短,将170的10改为70的10,结果如下:
cv2.ellipse(img, (200, 200), (70, 10), 0, 0, 360, (255, 255, 255), 3)
我们继续按照以上代码更改数据来深入的理解ellipse方法。这次我们更改选择角度,代码如下:
cv2.ellipse(img, (200, 200), (70, 10), 0, 0, 360, (255, 255, 255), 3)
旋转角度将第一个0,旋转角度改为10,看看有什么效果:
cv2.ellipse(img, (200, 200), (70, 10), 10, 0, 360, (255, 255, 255), 3)
改为-10,结果如下:这个时候可以得出,这个该旋转角度如图所示,是指在绘制这个圆的时候的选择方向:我们现在将绘制角度0改为180:
cv2.ellipse(img, (200, 200), (70, 10), 0, 180, 360, (255, 255, 255), 3)
得到的结果如下:绘制角度再将180改为90,结果如下:这个时候得知,这个绘制角度是指原型在右下角与水平形成的角的起始绘制角度位置,如下图所示:起始绘制角度这个时候就很清楚这个起始绘制角度的用法了。接下来我们查看终止角度的用法。我们将起始绘制角度置零,并且将终止角度改成180,代码如下:
cv2.ellipse(img, (200, 200), (70, 10), 0, 0, 180, (255, 255, 255), 3)
结果如下:这时再将该结束绘制角度更改为270,结果如下:这个时候就很明白了,原型与水平线形成的平角开始,顺时针绘制,绘制180则到180度位置停止绘制,绘制270则到270度开始停止,如下图所示:何绘制半个圆那如何绘制半个圆呢?这个很简单,只需要保持横纵距离长短一致,并且绘制的角度为180即可:
cv2.ellipse(img, (200, 200), (70, 70), 0, 0, 180, (255, 255, 255), 1)
可是这个时候的半圆并不好看:感觉只有一个弧,那怎么办呢?很简单,我们进行填充就可以了,如下:
cv2.ellipse(img, (200, 200), (70, 70), 0, 0, 180, (255, 255, 255), -1)
这个时候将线段的长度更改为负数就可以了,结果如下:前文提醒:博主正在参加博客之星评比,成功入选Top200,现在暂居第九欢迎各位点击了解更多帮我投票,非常感谢~本系列文章首发于ebaina三、总结了解了长轴和短轴参数跟纵横的关系了解旋转角度参数绘制圆形了解起始角度参数绘制圆形了解终止角度参数绘制圆形
0 评论