码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【OpenCV 例程200篇】215. 基于多段线绘制近似椭圆


    OpenCV 例程200篇 总目录


    【youcans 的 OpenCV 例程200篇】215. 基于多段线绘制近似椭圆


    如果需要对椭圆渲染进行更多控制,或者绘制粗略的椭圆边界,可以使用 cv.ellipse2Poly 检索曲线,然后使用多段线进行渲染或使用fillPoly进行填充。

    函数原型:

    cv.ellipse2Poly(center, axes, angle, arcStart, arcEnd, delta[,]) → pts
    
    • 1

    参数说明:

    • img:输入输出图像,允许单通道灰度图像或多通道彩色图像
    • center:椭圆中心点的坐标,(x, y) 格式的元组
    • axes:椭圆半轴长度,(hfirst, hsecond) 格式的元组-
    • angle: 椭圆沿 x轴方向的旋转角度(角度制,顺时针方向)
    • arcStart:椭圆弧的起始角度(角度制)
    • endAngle:椭圆弧的终止角度(角度制)
    • delta:与下一线段之间的角度,用于控制近似精度,角度越小越接近椭圆
    • pts:输出向量,逼近椭圆弧的多段线顶点坐标的数组

        # A4.6 基于多段线绘制近似椭圆
        img = np.ones((400, 600, 3), np.uint8)*224
    
        cx, cy = 100, 150
        halfAxesLength = (70, 40)
        angle, startAng, endAng = 30, 0, 360
        delta = [10, 20, 30, 40]
        for i in range(len(delta)):
            color = (i*60, i*60, 255-i*60)
            pts = cv.ellipse2Poly((cx+140*i, cy), halfAxesLength, angle, startAng, endAng, delta[i])  # (351,2)
            points = np.array(pts)
            cv.polylines(img, [points], True, color, thickness=1)  # 绘制近似多边形
            points[:,1] += 160
            cv.fillPoly(img, [points], color)  # 绘制填充近似多边形
            text1 = "delta={}".format(delta[i])
            text2 = "num={}".format(pts.shape)
            cv.putText(img, text1, (140*i+25, 30), cv.FONT_HERSHEY_SIMPLEX, 0.5, 255)
            cv.putText(img, text2, (140*i+25, 50), cv.FONT_HERSHEY_SIMPLEX, 0.5, 255)
            print(pts.shape, points.shape)
    
        plt.figure(figsize=(9, 6))
        plt.title("Polygon approximated ellipse"), plt.axis('off')
        plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))
        plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    在这里插入图片描述



    【本节完】

    版权声明:
    youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125468099)
    Copyright 2022 youcans, XUPT
    Crated:2022-6-26
    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中
    欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中

    210. 绘制直线也会有这么多坑?
    211. 绘制垂直矩形
    212. 绘制倾斜的矩形
    213. 绘制圆形
    214. 绘制椭圆的参数详解
    215. 基于多段线绘制近似椭圆

  • 相关阅读:
    新唐NUC980使用记录:开发环境准备与编译配置基础说明
    URDF+Gazebo+Rviz仿真
    多线程之线程的执行顺序
    图 拓扑排序 leecode 207 Course Schedule
    智慧公厕:探索未来公共厕所的创新设计
    Python数据分析11——Seaborn绘图
    数据库实训复习(1)
    如何使用VC6编译sqlite3源码生成动态链接库(版本:sqlite-source-3_6_23_1)
    axios get/post/delete上传下载及springboot后端示例
    Apache DolphinScheduler 3.0.0 正式版发布!
  • 原文地址:https://blog.csdn.net/youcans/article/details/125468099
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号